vtkEMSegmentKWDynamicFrame.h
Go to the documentation of this file.00001 #ifndef __vtkEMSegmentKWDynamicFrame_h
00002 #define __vtkEMSegmentKWDynamicFrame_h
00003
00004 #include "vtkEMSegment.h"
00005 #include <vtksys/stl/vector>
00006 #include "vtkKWFrameWithLabel.h"
00007 #include "vtkEMSegmentMRMLManager.h"
00008
00009 class vtkKWCheckButtonWithLabel;
00010 class vtkKWFrameWithLabel;
00011 class vtkKWLabelWithLabel;
00012 class vtkKWMenuButtonWithLabel;
00013 class vtkKWEntryWithLabel;
00014 class vtkKWWidget ;
00015 class vtkSlicerApplication;
00016
00017
00018
00019 class VTK_EMSEGMENT_EXPORT vtkEMSegmentKWDynamicFrame : public vtkKWFrameWithLabel
00020 {
00021 public:
00022 static vtkEMSegmentKWDynamicFrame *New();
00023 vtkTypeRevisionMacro(vtkEMSegmentKWDynamicFrame,vtkKWFrameWithLabel);
00024
00025 void DefineCheckButton(const char *label, int initState, vtkIdType ID);
00026 int GetCheckButtonValue(vtkIdType ID);
00027
00028 void DefineTextLabel(const char *label, vtkIdType ID);
00029
00030 void DefineVolumeMenuButton(const char *label, vtkIdType initVolID, vtkIdType buttonID);
00031 vtkIdType GetVolumeMenuButtonValue(vtkIdType ID);
00032 void VolumeMenuButtonCallback(vtkIdType buttonID, vtkIdType volID);
00033
00034 void DefineTextEntry(const char *label, const char *initText, vtkIdType entryID, int widgetWidth);
00035 void DefineTextEntry(const char *label, const char *initText, vtkIdType entryID);
00036 const char* GetTextEntryValue(vtkIdType ID);
00037
00038 void SetButtonsFromMRML();
00039
00040
00041 void PopUpWarningWindow(const char *);
00042
00043
00044 vtkSetObjectMacro(MRMLManager, vtkEMSegmentMRMLManager);
00045
00046
00047
00048 void SaveSettingToMRML();
00049
00050 void CreateEntryLists();
00051
00052 protected:
00053 vtkEMSegmentKWDynamicFrame();
00054 ~vtkEMSegmentKWDynamicFrame();
00055
00056 private:
00057 vtkEMSegmentKWDynamicFrame(const vtkEMSegmentKWDynamicFrame&);
00058 void operator=(const vtkEMSegmentKWDynamicFrame&);
00059
00060
00061 std::vector<vtkKWMenuButtonWithLabel*> volumeMenuButton;
00062 std::vector<vtkIdType> volumeMenuButtonID;
00063 std::vector<vtkKWCheckButtonWithLabel*> checkButton;
00064 std::vector<vtkKWLabelWithLabel*> textLabel;
00065 std::vector<vtkKWEntryWithLabel*> textEntry;
00066 vtkSlicerApplication* slicerApp;
00067 vtkEMSegmentMRMLManager *MRMLManager;
00068
00069 };
00070
00071 #endif