Placed view in a scroll area.
This commit is contained in:
+12
-5
@@ -23,6 +23,7 @@
|
|||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QStatusBar>
|
#include <QStatusBar>
|
||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
|
#include <QScrollArea>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
#include <QMenuBar>
|
#include <QMenuBar>
|
||||||
@@ -57,13 +58,9 @@ namespace glabels
|
|||||||
MainWindow::MainWindow()
|
MainWindow::MainWindow()
|
||||||
: mModel(0)
|
: mModel(0)
|
||||||
{
|
{
|
||||||
mView = new View();
|
|
||||||
mObjectEditor = new ObjectEditor();
|
|
||||||
|
|
||||||
createActions();
|
createActions();
|
||||||
createMenus();
|
createMenus();
|
||||||
createToolBars();
|
createToolBars();
|
||||||
createStatusBar();
|
|
||||||
|
|
||||||
QWidget* editorPage = createEditorPage();
|
QWidget* editorPage = createEditorPage();
|
||||||
QWidget* mergePage = createMergePage();
|
QWidget* mergePage = createMergePage();
|
||||||
@@ -77,6 +74,8 @@ namespace glabels
|
|||||||
|
|
||||||
setCentralWidget( mNotebook );
|
setCentralWidget( mNotebook );
|
||||||
|
|
||||||
|
createStatusBar();
|
||||||
|
|
||||||
setDocVerbsEnabled( false );
|
setDocVerbsEnabled( false );
|
||||||
setPasteVerbsEnabled( false );
|
setPasteVerbsEnabled( false );
|
||||||
setTitle();
|
setTitle();
|
||||||
@@ -573,9 +572,17 @@ namespace glabels
|
|||||||
{
|
{
|
||||||
QWidget* page = new QWidget;
|
QWidget* page = new QWidget;
|
||||||
|
|
||||||
|
mView = new View();
|
||||||
|
mObjectEditor = new ObjectEditor();
|
||||||
|
|
||||||
|
QScrollArea* scrollArea = new QScrollArea();
|
||||||
|
scrollArea->setMinimumSize( 640, 450 );
|
||||||
|
scrollArea->setWidgetResizable( true );
|
||||||
|
scrollArea->setWidget( mView );
|
||||||
|
|
||||||
QVBoxLayout* editorVLayout = new QVBoxLayout;
|
QVBoxLayout* editorVLayout = new QVBoxLayout;
|
||||||
editorVLayout->addWidget( editorToolBar );
|
editorVLayout->addWidget( editorToolBar );
|
||||||
editorVLayout->addWidget( mView );
|
editorVLayout->addWidget( scrollArea );
|
||||||
|
|
||||||
QHBoxLayout* editorHLayout = new QHBoxLayout;
|
QHBoxLayout* editorHLayout = new QHBoxLayout;
|
||||||
editorHLayout->addLayout( editorVLayout );
|
editorHLayout->addLayout( editorVLayout );
|
||||||
|
|||||||
+8
-4
@@ -85,8 +85,6 @@ glabels::View::View( QWidget *parent ) : QWidget(parent)
|
|||||||
mInObjectCreateMode = false;
|
mInObjectCreateMode = false;
|
||||||
|
|
||||||
setMouseTracking( true );
|
setMouseTracking( true );
|
||||||
|
|
||||||
setMinimumSize( 640, 450 );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -234,8 +232,12 @@ glabels::View::zoomToFit()
|
|||||||
using std::min;
|
using std::min;
|
||||||
using std::max;
|
using std::max;
|
||||||
|
|
||||||
double x_scale = ( width() - ZOOM_TO_FIT_PAD ) / mModel->w();
|
// Assumes parent widget (QScrollArea) exists
|
||||||
double y_scale = ( height() - ZOOM_TO_FIT_PAD ) / mModel->h();
|
double wPixels = parentWidget()->width();
|
||||||
|
double hPixels = parentWidget()->height();
|
||||||
|
|
||||||
|
double x_scale = ( wPixels - ZOOM_TO_FIT_PAD ) / mModel->w();
|
||||||
|
double y_scale = ( hPixels - ZOOM_TO_FIT_PAD ) / mModel->h();
|
||||||
double newZoom = min( x_scale, y_scale ) * PTS_PER_INCH / physicalDpiX();
|
double newZoom = min( x_scale, y_scale ) * PTS_PER_INCH / physicalDpiX();
|
||||||
|
|
||||||
// Limits
|
// Limits
|
||||||
@@ -278,6 +280,8 @@ glabels::View::setZoomReal( double zoom, bool zoomToFitFlag )
|
|||||||
/* Actual scale depends on DPI of display (assume DpiX == DpiY). */
|
/* Actual scale depends on DPI of display (assume DpiX == DpiY). */
|
||||||
mScale = zoom * physicalDpiX() / PTS_PER_INCH;
|
mScale = zoom * physicalDpiX() / PTS_PER_INCH;
|
||||||
|
|
||||||
|
setMinimumSize( mScale*mModel->w(), mScale*mModel->h() );
|
||||||
|
|
||||||
/* Adjust origin to center label in widget. */
|
/* Adjust origin to center label in widget. */
|
||||||
mX0 = (width()/mScale - mModel->w()) / 2;
|
mX0 = (width()/mScale - mModel->w()) / 2;
|
||||||
mY0 = (height()/mScale - mModel->h()) / 2;
|
mY0 = (height()/mScale - mModel->h()) / 2;
|
||||||
|
|||||||
Reference in New Issue
Block a user