Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F655
diff.patch
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
•
wangx
Feb 16 2011, 3:26 PM
2011-02-16 15:26:34 (UTC+1)
Size
17 KB
Referenced Files
None
Subscribers
None
diff.patch
View Options
Index: mitk/CoreUI/Qmitk/QmitkStdMultiWidget.h
===================================================================
--- mitk/CoreUI/Qmitk/QmitkStdMultiWidget.h (revision 28789)
+++ mitk/CoreUI/Qmitk/QmitkStdMultiWidget.h (working copy)
@@ -87,6 +87,8 @@
mitk::SlicesSwiveller * GetSlicesSwiveller() const;
+ bool GetGradientBackgroundFlag() const;
+
void InitializeWidget();
/// called when the StdMultiWidget is closed to remove the 3 widget planes and the helper node from the DataStorage
@@ -202,7 +204,7 @@
void ResetCrosshair();
-signals:
+ signals:
void LeftMouseClicked(mitk::Point3D pointValue);
void WheelMoved(QWheelEvent*);
@@ -263,6 +265,7 @@
mitk::GradientBackground::Pointer m_GradientBackground2;
mitk::GradientBackground::Pointer m_GradientBackground4;
mitk::GradientBackground::Pointer m_GradientBackground3;
+ bool m_GradientBackgroundFlag;
mitk::DisplayVectorInteractor::Pointer m_MoveAndZoomInteractor;
mitk::CoordinateSupplier::Pointer m_LastLeftClickPositionSupplier;
Index: mitk/CoreUI/Qmitk/QmitkStdMultiWidget.cpp
===================================================================
--- mitk/CoreUI/Qmitk/QmitkStdMultiWidget.cpp (revision 28789)
+++ mitk/CoreUI/Qmitk/QmitkStdMultiWidget.cpp (working copy)
@@ -51,7 +51,8 @@
m_PlaneNode1(NULL),
m_PlaneNode2(NULL),
m_PlaneNode3(NULL),
-m_Node(NULL)
+m_Node(NULL),
+ m_GradientBackgroundFlag(true)
{
/*******************************/
//Create Widget manually
@@ -377,6 +378,7 @@
mitkWidget4->GetRenderWindow() );
m_GradientBackground4->SetGradientColors(0.1,0.1,0.1,0.5,0.5,0.5);
m_GradientBackground4->Enable();
+// m_GradientBackground4->SetGradientColors(1,1,1,1,1,1);
// setup the department logo rendering
m_LogoRendering1 = mitk::ManufacturerLogo::New();
@@ -1639,6 +1641,10 @@
return m_Layout;
}
+bool QmitkStdMultiWidget::GetGradientBackgroundFlag() const
+{
+ return m_GradientBackgroundFlag;
+}
void QmitkStdMultiWidget::EnableGradientBackground()
{
@@ -1648,6 +1654,7 @@
//m_GradientBackground2->Enable();
//m_GradientBackground3->Enable();
m_GradientBackground4->Enable();
+ m_GradientBackgroundFlag = true;
}
@@ -1657,6 +1664,7 @@
//m_GradientBackground2->Disable();
//m_GradientBackground3->Disable();
m_GradientBackground4->Disable();
+ m_GradientBackgroundFlag = false;
}
@@ -1853,6 +1861,7 @@
m_GradientBackground2->SetGradientColors(upper[0], upper[1], upper[2], lower[0], lower[1], lower[2]);
m_GradientBackground3->SetGradientColors(upper[0], upper[1], upper[2], lower[0], lower[1], lower[2]);
m_GradientBackground4->SetGradientColors(upper[0], upper[1], upper[2], lower[0], lower[1], lower[2]);
+ m_GradientBackgroundFlag = true;
}
@@ -2023,4 +2032,5 @@
m_RectangleRendering2->Disable();
m_RectangleRendering3->Disable();
m_RectangleRendering4->Disable();
-}
\ No newline at end of file
+}
+
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/files.cmake
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/files.cmake (revision 28789)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/files.cmake (working copy)
@@ -10,6 +10,7 @@
QmitkGeneralPreferencePage.cpp
QmitkPreferencesDialog.cpp
QmitkFunctionalityCoordinator.cpp
+ QmitkStdMultiWidgetPreferencePage.cpp
)
SET(INTERNAL_CPP_FILES
@@ -23,6 +24,7 @@
src/QmitkFileExitAction.h
src/QmitkPreferencesDialog.h
src/QmitkDnDFrameWidget.h
+ src/QmitkStdMultiWidgetPreferencePage.h
)
# todo: add some qt style sheet resources
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.cpp
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.cpp (revision 0)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.cpp (revision 0)
@@ -0,0 +1,153 @@
+
+/*=========================================================================
+
+ Program: Medical Imaging & Interaction Toolkit
+ Language: C++
+ Date: $Date$
+ Version: $Revision: 18019 $
+
+ Copyright (c) German Cancer Research Center, Division of Medical and
+ Biological Informatics. All rights reserved.
+ See MITKCopyright.txt or http://www.mitk.org/copyright.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+ =========================================================================*/
+
+#include "QmitkStdMultiWidgetPreferencePage.h"
+#include "QmitkStdMultiWidgetEditor.h"
+#include <QmitkNodeDescriptorManager.h>
+#include <QLabel>
+#include <QPushButton>
+#include <QFormLayout>
+#include <QVBoxLayout>
+#include <QCheckBox>
+#include <QColor>
+#include <QColorDialog>
+#include <QStringList>
+#include <QWidgetAction>
+
+#include <berryIPreferencesService.h>
+#include <berryPlatform.h>
+
+QmitkStdMultiWidgetPreferencePage::QmitkStdMultiWidgetPreferencePage()
+: m_MainControl(0)
+{
+
+}
+
+void QmitkStdMultiWidgetPreferencePage::Init(berry::IWorkbench::Pointer )
+{
+
+}
+
+void QmitkStdMultiWidgetPreferencePage::CreateQtControl(QWidget* parent)
+{
+ berry::IPreferencesService::Pointer prefService
+ = berry::Platform::GetServiceRegistry()
+ .GetServiceById<berry::IPreferencesService>(berry::IPreferencesService::ID);
+
+ m_StdMultiWidgetPreferencesNode = prefService->GetSystemPreferences()->Node(QmitkStdMultiWidgetEditor::EDITOR_ID);
+
+ m_MainControl = new QWidget(parent);
+
+ // gradient background
+ m_UseGradientBackground = new QCheckBox;
+ QFormLayout *formLayout = new QFormLayout;
+ formLayout->addRow( "Use gradient background: ", m_UseGradientBackground);
+
+ m_ChangeBackgroundColors = new QCheckBox;
+ formLayout->addRow( "Change background colors: ", m_ChangeBackgroundColors);
+
+ // color
+ QPushButton* m_ColorButton1 = new QPushButton;
+ m_ColorButton1->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum);
+ m_ColorButton1->setAutoFillBackground(true);
+ QPushButton* m_ColorButton2 = new QPushButton;
+ m_ColorButton2->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum);
+ m_ColorButton2->setAutoFillBackground(true);
+
+ QLabel* colorLabel1 = new QLabel("background color 1: ");
+ colorLabel1->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
+ QLabel* colorLabel2 = new QLabel("background color 2: ");
+ colorLabel2->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
+
+ QHBoxLayout* colorWidgetLayout = new QHBoxLayout;
+ colorWidgetLayout->setContentsMargins(4,4,4,4);
+ colorWidgetLayout->addWidget(colorLabel1);
+ colorWidgetLayout->addWidget(m_ColorButton1);
+ colorWidgetLayout->addWidget(colorLabel2);
+ colorWidgetLayout->addWidget(m_ColorButton2);
+
+ QWidget* colorWidget = new QWidget;
+ colorWidget->setLayout(colorWidgetLayout);
+
+ //spacer
+ QSpacerItem *spacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+ QVBoxLayout* vBoxLayout = new QVBoxLayout;
+ vBoxLayout->addLayout(formLayout);
+ vBoxLayout->addWidget(colorWidget);
+ vBoxLayout->addSpacerItem(spacer);
+ m_MainControl->setLayout(vBoxLayout);
+
+ QObject::connect( m_ColorButton1, SIGNAL( clicked() )
+ , this, SLOT( FirstColorChanged() ) );
+
+ QObject::connect( m_ColorButton2, SIGNAL( clicked() )
+ , this, SLOT( SecondColorChanged() ) );
+
+ this->Update();
+}
+
+QWidget* QmitkStdMultiWidgetPreferencePage::GetQtControl() const
+{
+ return m_MainControl;
+}
+
+bool QmitkStdMultiWidgetPreferencePage::PerformOk()
+{
+ m_StdMultiWidgetPreferencesNode->PutBool("Use gradient background"
+ , m_UseGradientBackground->isChecked());
+ m_StdMultiWidgetPreferencesNode->PutBool("Change background colors"
+ , m_ChangeBackgroundColors->isChecked());
+ m_StdMultiWidgetPreferencesNode->PutByteArray("first background color", m_FirstColor);
+ m_StdMultiWidgetPreferencesNode->PutByteArray("second background color", m_SecondColor);
+return true;
+}
+
+void QmitkStdMultiWidgetPreferencePage::PerformCancel()
+{
+
+}
+
+void QmitkStdMultiWidgetPreferencePage::Update()
+{
+ m_UseGradientBackground->setChecked(m_StdMultiWidgetPreferencesNode->GetBool("Use gradient background", true));
+ m_ChangeBackgroundColors->setChecked(m_StdMultiWidgetPreferencesNode->GetBool("Change background colors", false));
+
+}
+
+void QmitkStdMultiWidgetPreferencePage::FirstColorChanged()
+{
+ QColor color = QColorDialog::getColor();
+ QStringList firstColor;
+ firstColor << color.name();
+ m_FirstColor = firstColor.replaceInStrings(";","\\;").join(";").toStdString();
+ std::cout << m_FirstColor << std::endl;
+ }
+
+void QmitkStdMultiWidgetPreferencePage::SecondColorChanged()
+{
+ QColor color = QColorDialog::getColor();
+ QStringList secondColor;
+ secondColor << color.name();
+ m_SecondColor = secondColor.replaceInStrings(";","\\;").join(";").toStdString();
+ std::cout << m_SecondColor << std::endl;
+ }
+
+void QmitkStdMultiWidgetPreferencePage::ColorActionChanged()
+{
+
+}
Property changes on: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.cpp
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision"
Added: svn:eol-style
+ native
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.h
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.h (revision 0)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.h (revision 0)
@@ -0,0 +1,78 @@
+/*=========================================================================
+
+ Program: Medical Imaging & Interaction Toolkit
+ Language: C++
+ Date: $Date$
+ Version: $Revision: 16224 $
+
+ Copyright (c) German Cancer Research Center, Division of Medical and
+ Biological Informatics. All rights reserved.
+ See MITKCopyright.txt or http://www.mitk.org/copyright.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+ =========================================================================*/
+
+
+#ifndef QMITKSTDMULTIWIDGETPREFERENCEPAGE_H_
+#define QMITKSTDMULTIWIDGETPREFERENCEPAGE_H_
+
+#include "berryIQtPreferencePage.h"
+#include "berryIPreferences.h"
+#include<qradiobutton.h>
+#include "mitkQtCommonDll.h"
+
+class QWidget;
+class QCheckBox;
+class QPushButton;
+class QWidgetAction;
+
+struct MITK_QT_COMMON QmitkStdMultiWidgetPreferencePage : public QObject, public berry::IQtPreferencePage
+{
+Q_OBJECT
+
+public:
+ QmitkStdMultiWidgetPreferencePage();
+
+ void Init(berry::IWorkbench::Pointer workbench);
+
+ void CreateQtControl(QWidget* widget);
+
+ QWidget* GetQtControl() const;
+
+ ///
+ /// \see IPreferencePage::PerformOk()
+ ///
+ virtual bool PerformOk();
+
+ ///
+ /// \see IPreferencePage::PerformCancel()
+ ///
+ virtual void PerformCancel();
+
+ ///
+ /// \see IPreferencePage::Update()
+ ///
+ virtual void Update();
+
+public slots:
+ void FirstColorChanged();
+
+ void SecondColorChanged();
+
+ void ColorActionChanged();
+
+protected:
+ QWidget* m_MainControl;
+ QCheckBox* m_UseGradientBackground;
+ QCheckBox* m_ChangeBackgroundColors;
+ QPushButton* m_ColorButton1;
+ QPushButton* m_ColorButton2;
+ std::string m_FirstColor;
+ std::string m_SecondColor;
+ berry::IPreferences::Pointer m_StdMultiWidgetPreferencesNode;
+};
+
+#endif /* QMITKSTDMULTIWIDGETPREFERENCEPAGE_H_ */
Property changes on: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetPreferencePage.h
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision"
Added: svn:eol-style
+ native
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetEditor.cpp
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetEditor.cpp (revision 28789)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetEditor.cpp (working copy)
@@ -27,6 +27,8 @@
#include <mitkDataStorageEditorInput.h>
+#include <mitkColorProperty.h>
+
const std::string QmitkStdMultiWidgetEditor::EDITOR_ID = "org.mitk.editors.stdmultiwidget";
QmitkStdMultiWidgetEditor::QmitkStdMultiWidgetEditor()
@@ -110,6 +112,11 @@
berry::IPreferences::Pointer logoPref = prefService->GetSystemPreferences()->Node("DepartmentLogo");
std::string departmentLogoLocation = logoPref->Get("DepartmentLogo","");
+ berry::IBerryPreferences::Pointer prefs
+ = (prefService->GetSystemPreferences()->Node(EDITOR_ID)).Cast<berry::IBerryPreferences>();
+ prefs->OnChanged.AddListener( berry::MessageDelegate1<QmitkStdMultiWidgetEditor
+ , const berry::IBerryPreferences*>( this, &QmitkStdMultiWidgetEditor::OnPreferencesChanged ) );
+
m_StdMultiWidget->SetDepartmentLogoPath(departmentLogoLocation.c_str());
m_StdMultiWidget->DisableDepartmentLogo();
m_StdMultiWidget->EnableDepartmentLogo();
@@ -165,3 +172,44 @@
if (m_StdMultiWidget != 0)
m_StdMultiWidget->setFocus();
}
+
+void QmitkStdMultiWidgetEditor::OnPreferencesChanged(const berry::IBerryPreferences* prefs)
+{
+ bool useGradientBackground = prefs->GetBool("Use gradient background", true);
+ bool changeBackgroundColors = prefs->GetBool("Change background colors", false);
+ if (useGradientBackground && (!changeBackgroundColors))
+ m_StdMultiWidget->EnableGradientBackground();
+ else if (useGradientBackground && changeBackgroundColors)
+ {
+ float color = 255.0;
+ QString firstColorName = QString::fromStdString (prefs->GetByteArray("first background color", ""));
+ QColor firstColor(firstColorName);
+ mitk::Color upper;
+ upper[0] = firstColor.red() / color;
+ upper [1] = firstColor.green() / color;
+ upper[2] = firstColor.blue() / color;
+
+ QString secondColorName = QString::fromStdString (prefs->GetByteArray("second background color", ""));
+ QColor secondColor(secondColorName);
+ mitk::Color lower;
+ lower[0] = secondColor.red() / color;
+ lower[1] = secondColor.green() / color;
+ lower[2] = secondColor.blue() / color;
+ m_StdMultiWidget->SetGradientBackgroundColors(upper, lower);
+ m_StdMultiWidget->EnableGradientBackground();
+ }else if ((!useGradientBackground) && (!changeBackgroundColors))
+ {
+ m_StdMultiWidget->DisableGradientBackground();
+ }else if ((!useGradientBackground) && changeBackgroundColors)
+ {
+ float color = 255.0;
+ QString firstColorName = QString::fromStdString (prefs->GetByteArray("first background color", ""));
+ QColor firstColor(firstColorName);
+ mitk::Color upper;
+ upper[0] = firstColor.red() / color;
+ upper [1] = firstColor.green() / color;
+ upper[2] = firstColor.blue() / color;
+ m_StdMultiWidget->SetGradientBackgroundColors(upper, upper);
+ m_StdMultiWidget->EnableGradientBackground();
+ }
+}
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetEditor.h
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetEditor.h (revision 28789)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/src/QmitkStdMultiWidgetEditor.h (working copy)
@@ -20,6 +20,11 @@
#include <berryQtEditorPart.h>
#include <berryIPartListener.h>
+#include <berryISelection.h>
+#include <berryISelectionProvider.h>
+#include <berryIPreferencesService.h>
+#include <berryIBerryPreferences.h>
+#include <berryISelectionListener.h>
#include <QmitkStdMultiWidget.h>
#include <QmitkDnDFrameWidget.h>
@@ -47,6 +52,9 @@
bool IsDirty() const { return false; }
bool IsSaveAsAllowed() const { return false; }
+public slots:
+ void OnPreferencesChanged(const berry::IBerryPreferences*);
+
protected:
void CreateQtPartControl(QWidget* parent);
@@ -60,6 +68,8 @@
QmitkStdMultiWidget* m_StdMultiWidget;
QmitkDnDFrameWidget* m_DndFrameWidget;
+ std::string m_FirstBackgroundColor;
+ std::string m_SecondBackgroundColor;
};
#endif /*QMITKSTDMULTIWIDGETEDITOR_H_*/
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/manifest.cpp
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/manifest.cpp (revision 28789)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/manifest.cpp (working copy)
@@ -23,7 +23,9 @@
#include "src/QmitkStdMultiWidgetEditor.h"
#include "src/internal/QmitkCommonActivator.h"
#include "src/QmitkGeneralPreferencePage.h"
+#include "src/QmitkStdMultiWidgetPreferencePage.h"
+
POCO_BEGIN_NAMED_MANIFEST(berryIEditorPart, berry::IEditorPart)
POCO_EXPORT_CLASS(QmitkStdMultiWidgetEditor)
POCO_END_MANIFEST
@@ -34,4 +36,8 @@
POCO_BEGIN_NAMED_MANIFEST(berryIPreferencePage, berry::IPreferencePage)
POCO_EXPORT_CLASS(QmitkGeneralPreferencePage)
+ POCO_EXPORT_CLASS(QmitkStdMultiWidgetPreferencePage)
POCO_END_MANIFEST
+
+
+
Index: mitk/CoreUI/Bundles/org.mitk.gui.qt.common/plugin.xml
===================================================================
--- mitk/CoreUI/Bundles/org.mitk.gui.qt.common/plugin.xml (revision 28789)
+++ mitk/CoreUI/Bundles/org.mitk.gui.qt.common/plugin.xml (working copy)
@@ -8,4 +8,10 @@
class="QmitkStdMultiWidgetEditor">
</editor>
</extension>
+
+<extension point="org.blueberry.ui.preferencePages">
+<page id="org.mitk.gui.qt.application.StdMultiWidgetPreferencePage" name="StdMultiWidget" class="QmitkStdMultiWidgetPreferencePage">
+<keywordreference id="org.mitk.gui.qt.application.StdMultiWidgetPreferencePageKeywords"></keywordreference>
+</page>
+</extension>
</plugin>
File Metadata
Details
Attached
Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
630
Default Alt Text
diff.patch (17 KB)
Attached To
Mode
T6516: Add a check box "use gradient background" into the preference page
Attached
Detach File
Event Timeline
•
wangx
added a comment.
Feb 16 2011, 3:26 PM
2011-02-16 15:26:34 (UTC+1)
Comment Actions
patch (#6516)
Log In to Comment