ALBA
albaGUIWizardPageNew.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: ALBA (Agile Library for Biomedical Applications)
4 Module: albaGUIWizardPageNew
5 Authors: Matteo Giacomoni, Gianluigi Crimi
6
7 Copyright (c) BIC
8 All rights reserved. See Copyright.txt or
9
10
11 This software is distributed WITHOUT ANY WARRANTY; without even
12 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the above copyright notice for more information.
14
15=========================================================================*/
16#ifndef __albaGUIWizardPageNew_H__
17#define __albaGUIWizardPageNew_H__
18//----------------------------------------------------------------------------
19// Include:
20//----------------------------------------------------------------------------
21#include "wx/wizard.h"
22#include "albaDefines.h"
23#include "albaEvent.h"
24#include "albaObserver.h"
25#include "albaRWI.h"
26
27//----------------------------------------------------------------------------
28// forward references :
29//----------------------------------------------------------------------------
30class albaGUIWizard;
31class albaGUI;
33
34//----------------------------------------------------------------------------
35// Const:
36//----------------------------------------------------------------------------
39{
42};
43
46{
48};
49
59class ALBA_EXPORT albaGUIWizardPageNew : public wxWizardPageSimple, public albaObserver
60{
61public:
63 albaGUIWizardPageNew (albaGUIWizard *wizardParent,long style = albaWIZARDUSEGUI | albaWIZARDUSERWI, bool ZCrop = false, wxString label="");
67 void SetListener(albaObserver *Listener) {m_Listener = Listener;};
69 void OnEvent(albaEventBase *alba_event);
70
72
81
84
85
86
89
92
95
98
100 void SetZCropBounds(double ZMin = 0, double ZMax = 1);
101
103 void GetZCropBounds(double ZCropBpunds[2]);
104
107
111 void UpdateWindowing(double *scalarRange,double *scalarSubRange);
112
114 void GetWindowing(double *scalarRange,double *scalarSubRange);
115
118
120 albaRWI* GetRWI(){return m_Rwi;};
121
122protected:
123
124 wxBoxSizer *m_GUISizer;
125 wxBoxSizer *m_GUIUnderSizer;
126 wxBoxSizer *m_LUTSizer;
127 wxBoxSizer *m_RwiSizer;
128 wxBoxSizer *m_SizerAll;
129
131
137
140 vtkLookupTable *m_ColorLUT;
141
143
144
145
146 friend class albaGUIWizardPageNewTest;
147 //DECLARE_EVENT_TABLE()
148};
149#endif
DIALOG_EXSTYLES
GUI_WIZARD_WIDGET_ID
IDs for the view GUI.
@ ID_LUT_CHOOSER
@ albaWIZARDUSERWI
@ albaWIZARDUSEGUI
@ albaWIZARDUSERWI
@ albaWIZARDUSEGUI
Implementation of the message object for the Subject/Observer design pattern.
Definition: albaEventBase.h:49
albaGUILutSlider is a Label that notify user-click using the normal wxEvents.
Class Name: albaGUIWizardPageNew.
wxBoxSizer * m_LUTSizer
Sizer used for the LUT Slider GUI.
void RemoveGuiLowerLeft(albaGUI *gui)
Remove in wizard gui, another gui in lower left position.
void RemoveGuiLowerUnderLeft(albaGUI *gui)
Remove in wizard gui, another gui under lower left position.
void RemoveGuiLowerCenter(albaGUI *gui)
Remove in wizard gui, another gui in lower center position.
wxBoxSizer * m_RwiSizer
Sizer used for the vtk render window and if you want to plug any gui on bottom of the RWI.
albaGUILutSlider * m_LutSlider
void UpdateWindowing(double *scalarRange, double *scalarSubRange)
Update windowing (with custom range) in order to set correct values in lut slider.
albaRWI * GetRWI()
Retrieve the current Render Window.
void AddGuiLowerRight(albaGUI *gui)
Add in wizard gui, another gui in lower right position.
wxBoxSizer * m_SizerAll
Vertical sizer used to include all other sizer.
void GetZCropBounds(double ZCropBpunds[2])
Return bounds of ZCrop slider.
albaGUI * m_GuiLowerLeft
Gui variable used to plug custom widgets localized in LOWER LEFT.
wxBoxSizer * m_GUIUnderSizer
Sizer used for the under Lower GUI.
void SetZCropBounds(double ZMin=0, double ZMax=1)
Set bounds of ZCrop slider.
void GetWindowing(double *scalarRange, double *scalarSubRange)
Get the windowing range values.
albaGUI * m_GuiLowerCenter
Gui variable used to plug custom widgets localized in LOWER CENTER.
void AddGuiLowerLeft(albaGUI *gui)
Add in wizard gui, another gui in lower left position.
void OnEvent(albaEventBase *alba_event)
Precess events coming from other objects.
albaGUILutSlider * m_ZCropSlider
albaGUI * m_GuiLowerUnderCenter
Gui variable used to plug custom widgets localized under LOWER CENTER.
albaGUIWizardPageNew(albaGUIWizard *wizardParent, long style=albaWIZARDUSEGUI|albaWIZARDUSERWI, bool ZCrop=false, wxString label="")
construct.
albaRWI * m_Rwi
Render window.
void AddGuiLowerUnderCenter(albaGUI *gui)
Add in wizard gui, another gui in lower center bottom position.
void SetListener(albaObserver *Listener)
Set the Listener that will receive event-notification.
void AddGuiLowerUnderLeft(albaGUI *gui)
Add in wizard gui, another gui in lower center bottom position.
void UpdateWindowing()
Update windowing in order to set correct values in lut slider.
vtkLookupTable * m_ColorLUT
void SetNextPage(albaGUIWizardPageNew *nextPage)
Create a chain between this page ad nextPage.
void AddGuiLowerCenter(albaGUI *gui)
Add in wizard gui, another gui in lower center position.
virtual ~albaGUIWizardPageNew()
destructor.
albaGUI * m_GuiLowerUnderLeft
Gui variable used to plug custom widgets localized under LOWER LEFT.
void UpdateActor()
Update Actor Texture from current lut slider values.
wxBoxSizer * m_GUISizer
Sizer used for the Lower GUI.
Class Name: albaGUIWizard.
Definition: albaGUIWizard.h:36
albaGUI is a panel with function to easily create GUI.
Definition: albaGUI.h:110
Interface implementing the Observer of the Subject/Observer design pattern.
Definition: albaObserver.h:36