Page MenuHomePhabricator

diff.patch

Authored By
wangx
Feb 16 2011, 3:26 PM
Size
17 KB
Referenced Files
None
Subscribers
None

diff.patch

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

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
630
Default Alt Text
diff.patch (17 KB)