Page MenuHomePhabricator

1488_CreateZoomFactorProperty.patch

Authored By
wald
Mar 24 2010, 5:42 PM
Size
6 KB
Referenced Files
None
Subscribers
None

1488_CreateZoomFactorProperty.patch

Index: mitk/Core/Code/Controllers/mitkRenderingManager.cpp
===================================================================
--- mitk/Core/Code/Controllers/mitkRenderingManager.cpp (revision 21850)
+++ mitk/Core/Code/Controllers/mitkRenderingManager.cpp (working copy)
@@ -939,6 +939,7 @@
m_PropertyList = PropertyList::New();
}
+ this->SetProperty("zoom-factor", DoubleProperty::New(1.05));
this->SetProperty("coupled-zoom", BoolProperty::New(false));
this->SetProperty("coupled-plane-rotation", BoolProperty::New(false));
this->SetProperty("MIP-slice-rendering", BoolProperty::New(false));
Index: mitk/Core/Code/Interactions/mitkDisplayInteractor.cpp
===================================================================
--- mitk/Core/Code/Interactions/mitkDisplayInteractor.cpp (revision 21850)
+++ mitk/Core/Code/Interactions/mitkDisplayInteractor.cpp (working copy)
@@ -29,6 +29,8 @@
#include <mitkInteractionConst.h>
+#include "mitkProperties.h"
+
mitk::DisplayInteractor::DisplayInteractor(mitk::BaseRenderer * ren)
{
m_ParentRenderer = ren;
@@ -62,14 +64,27 @@
//float factor= 1.0 + distance * 0.05; // stupid because factors from +1 and -1 dont give results that represent inverse zooms
float factor = 1.0;
+
+ mitk::DoubleProperty* doubleProperty = dynamic_cast<mitk::DoubleProperty*>(mitk::RenderingManager::GetInstance()->GetProperty("zoom-factor"));
+ double zoomFactorFromManager( 1.05 );
+ if (doubleProperty != NULL)
+ {
+ zoomFactorFromManager = doubleProperty->GetValue();
+ }
+ if(zoomFactorFromManager == 0.0)
+ {
+ zoomFactorFromManager = 1.05;
+ }
+
if (distance < 0.0)
{
- factor = 1.0 / 1.05;
+
+ factor = 1.0 / zoomFactorFromManager;
}
else if (distance > 0.0)
{
- factor = 1.0 * 1.05; // 5%
+ factor = 1.0 * zoomFactorFromManager; // 5%
}
else // distance == 0.0
{
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/files.cmake
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/files.cmake (revision 21850)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/files.cmake (working copy)
@@ -24,6 +24,7 @@
src/QmitkFileExitAction.h
src/QmitkProgressBar.h
src/QmitkPreferencesDialog.h
+ src/QmitkGeneralPreferencePage.h
src/QmitkDnDFrameWidget.h
)
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/manifest.cpp
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/manifest.cpp (revision 21850)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/manifest.cpp (working copy)
@@ -23,6 +23,7 @@
#include "src/QmitkStdMultiWidgetEditor.h"
#include "src/internal/QmitkCommonActivator.h"
#include "src/QmitkGeneralPreferencePage.h"
+#include "src/QmitkGeneralPreferencePage.h"
POCO_BEGIN_NAMED_MANIFEST(berryIEditorPart, berry::IEditorPart)
POCO_EXPORT_CLASS(QmitkStdMultiWidgetEditor)
@@ -35,3 +36,7 @@
POCO_BEGIN_NAMED_MANIFEST(berryIPreferencePage, berry::IPreferencePage)
POCO_EXPORT_CLASS(QmitkGeneralPreferencePage)
POCO_END_MANIFEST
+
+POCO_BEGIN_NAMED_MANIFEST(berryIQtPreferencePage, berry::IQtPreferencePage)
+POCO_EXPORT_CLASS(QmitkGeneralPreferencePage)
+POCO_END_MANIFEST
\ No newline at end of file
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/plugin.xml
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/plugin.xml (revision 21850)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/plugin.xml (working copy)
@@ -8,4 +8,14 @@
class="QmitkStdMultiWidgetEditor">
</editor>
</extension>
+
+ <extension point="org.blueberry.ui.preferencePages">
+ <page id="org.mitk.gui.qt.common.QmitkGeneralPreferencePage" name="General" class="QmitkGeneralPreferencePage">
+ <keywordreference id="org.mitk.gui.qt.common.QmitkGeneralPreferencePageKeywords"></keywordreference>
+ </page>
+ </extension>
+
+ <extension point="org.blueberry.ui.keywords">
+ <keyword id="org.mitk.gui.qt.common.QmitkGeneralPreferencePageKeywords" label="zoom factor"></keyword>
+ </extension>
</plugin>
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkGeneralPreferencePage.cpp
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkGeneralPreferencePage.cpp (revision 21850)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkGeneralPreferencePage.cpp (working copy)
@@ -25,6 +25,8 @@
#include <QGridLayout>
#include <QSpacerItem>
+#include "mitkRenderingManager.h"
+
using namespace berry;
QmitkGeneralPreferencePage::QmitkGeneralPreferencePage()
@@ -47,7 +49,24 @@
// m_StartMaximized = new QCheckBox("Start Main Window &Maximized", this);
m_MainControl = new QWidget(parent);
- QGridLayout* layout = new QGridLayout;
+ QVBoxLayout* layout = new QVBoxLayout;
+
+ QWidget* zoomWidget = new QWidget();
+ layout->addWidget(zoomWidget);
+ layout->insertStretch(1);
+
+ QHBoxLayout* hLayout = new QHBoxLayout(zoomWidget);
+
+ hLayout->addWidget(new QLabel("Zoom factor: ", parent));
+ hLayout->addWidget(new QLabel("slow", parent));
+ zoomSlider = new QSlider( Qt::Orientation::Horizontal, parent);
+ zoomSlider->setRange(1, 50);
+ zoomSlider->setTickInterval(5);
+ zoomSlider->setValue(5);
+ hLayout->addWidget(zoomSlider);
+ hLayout->addWidget(new QLabel("fast", parent));
+ hLayout->insertStretch(4);
+
// layout->addWidget(m_StartMaximized, 0,0);
// layout->setRowStretch(0, 0);
// layout->setRowStretch(1, 20);
@@ -70,7 +89,14 @@
// _GeneralPreferencesNode->Flush();
// return true;
// }
- return false;
+
+ double zoomFactorValue(1.05);
+ zoomFactorValue = 1 + (double)((double)zoomSlider->value() / 100.0);
+
+ mitk::DoubleProperty::Pointer doubleProperty = mitk::DoubleProperty::New(zoomFactorValue);
+ mitk::RenderingManager::GetInstance()->SetProperty("zoom-factor", doubleProperty);
+
+ return true;
}
void QmitkGeneralPreferencePage::PerformCancel()
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkGeneralPreferencePage.h
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkGeneralPreferencePage.h (revision 21850)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkGeneralPreferencePage.h (working copy)
@@ -32,6 +32,8 @@
//class QCheckBox;
+#include <QSlider>
+
struct MITK_QT_COMMON QmitkGeneralPreferencePage : public berry::IQtPreferencePage
{
@@ -74,6 +76,8 @@
QWidget* m_MainControl;
+ QSlider* zoomSlider;
+
};
#endif /* QMITKGENERALPREFERENCEPAGE_H_ */

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
118
Default Alt Text
1488_CreateZoomFactorProperty.patch (6 KB)

Event Timeline