summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-04-01 01:28:16 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-04-01 01:28:16 -0400
commitec8965ffdfc9a1c7a9411c37add4f4bef7f33786 (patch)
treef6f9f97f13adf9f0c323f769fdccbe3eee7cd681
parent15e4f5c1cad7572e06d1f485640c657b29556747 (diff)
Connect the zoom widget to the actual zoom
-rw-r--r--sigmodr/widgets/gui/mapeditor.ui3
-rw-r--r--sigmodr/widgets/mapeditor/MapEditor.cpp10
-rw-r--r--sigmodr/widgets/mapeditor/MapEditor.h3
3 files changed, 13 insertions, 3 deletions
diff --git a/sigmodr/widgets/gui/mapeditor.ui b/sigmodr/widgets/gui/mapeditor.ui
index 66dfd6e2..551e84c9 100644
--- a/sigmodr/widgets/gui/mapeditor.ui
+++ b/sigmodr/widgets/gui/mapeditor.ui
@@ -93,9 +93,6 @@
<property name="label">
<string>Zoom</string>
</property>
- <property name="value">
- <double>1</double>
- </property>
</widget>
</item>
<item row="4" column="4">
diff --git a/sigmodr/widgets/mapeditor/MapEditor.cpp b/sigmodr/widgets/mapeditor/MapEditor.cpp
index d6098b72..d80459d9 100644
--- a/sigmodr/widgets/mapeditor/MapEditor.cpp
+++ b/sigmodr/widgets/mapeditor/MapEditor.cpp
@@ -28,6 +28,7 @@
// KDE includes
#include <KAction>
#include <KIcon>
+#include <KDoubleNumInput>
#include <KIntNumInput>
#include <KMenu>
#include <KPushButton>
@@ -57,6 +58,7 @@ MapEditor::MapEditor(Map* map, QWidget* parent) :
ui_view = formWidget->findChild<QGraphicsView*>("varView");
ui_width = formWidget->findChild<KIntNumInput*>("varWidth");
ui_gridSize = formWidget->findChild<KIntNumInput*>("varGridSize");
+ ui_zoom = formWidget->findChild<KDoubleNumInput*>("varZoom");
ui_height = formWidget->findChild<KIntNumInput*>("varHeight");
ui_buttonAdd = formWidget->findChild<KPushButton*>("buttonAdd");
ui_buttonRemove = formWidget->findChild<KPushButton*>("buttonRemove");
@@ -69,6 +71,7 @@ MapEditor::MapEditor(Map* map, QWidget* parent) :
ui_showTrainers = formWidget->findChild<QCheckBox*>("varShowTrainers");
ui_showWarps = formWidget->findChild<QCheckBox*>("varShowWarps");
ui_drawMask = formWidget->findChild<QCheckBox*>("varDrawMask");
+ ui_zoom->setRange(.1, 10, .1);
ui_buttonAdd->setIcon(KIcon("list-add"));
ui_buttonRemove->setIcon(KIcon("list-remove"));
ui_buttonTop->setIcon(KIcon("arrow-up-double"));
@@ -83,6 +86,7 @@ MapEditor::MapEditor(Map* map, QWidget* parent) :
connect(ui_width, SIGNAL(valueChanged(int)), this, SLOT(setMapWidth(int)));
connect(ui_height, SIGNAL(valueChanged(int)), this, SLOT(setMapHeight(int)));
connect(ui_gridSize, SIGNAL(valueChanged(int)), this, SLOT(setGridSize(int)));
+ connect(ui_zoom, SIGNAL(valueChanged(double)), this, SLOT(setZoom(double)));
reset();
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(formWidget);
@@ -107,6 +111,7 @@ void MapEditor::reset()
ui_width->setValue(m_map->width());
ui_height->setValue(m_map->height());
m_rect->setGridSize(ui_gridSize->value());
+ ui_zoom->setValue(1);
ui_drawMask->setChecked(false);
makeConnections();
}
@@ -128,6 +133,11 @@ void MapEditor::setGridSize(const int gridSize)
m_rect->setGridSize(gridSize);
}
+void MapEditor::setZoom(const double zoom)
+{
+ ui_view->setMatrix(QMatrix().scale(zoom, zoom));
+}
+
void MapEditor::makeConnections()
{
connect(m_scene, SIGNAL(changed()), this, SIGNAL(changed()));
diff --git a/sigmodr/widgets/mapeditor/MapEditor.h b/sigmodr/widgets/mapeditor/MapEditor.h
index 436ea501..fa5d7322 100644
--- a/sigmodr/widgets/mapeditor/MapEditor.h
+++ b/sigmodr/widgets/mapeditor/MapEditor.h
@@ -28,6 +28,7 @@
class QCheckBox;
class QGraphicsView;
class KComboBox;
+class KDoubleNumInput;
class KIntNumInput;
class KPushButton;
namespace Sigmod
@@ -64,6 +65,7 @@ class SIGMODRWIDGETS_NO_EXPORT MapEditor : public QWidget
void setMapHeight(const int height);
void setGridSize(const int gridSize);
+ void setZoom(const double zoom);
protected:
void makeConnections();
private:
@@ -74,6 +76,7 @@ class SIGMODRWIDGETS_NO_EXPORT MapEditor : public QWidget
KIntNumInput* ui_width;
KIntNumInput* ui_height;
KIntNumInput* ui_gridSize;
+ KDoubleNumInput* ui_zoom;
KPushButton* ui_buttonAdd;
KPushButton* ui_buttonRemove;
KPushButton* ui_buttonTop;