00001
00002
00003
00004
00005
00013 #ifndef _SIGNCONFIGURATIONWIDGET_H
00014 #define _SIGNCONFIGURATIONWIDGET_H
00015
00016 #include <map>
00017 #include <string>
00018 #include <SignCompositeWidget.h>
00019
00020 #include <SignDLL.h>
00021
00022 class vtkKWNotebook;
00023 class SignContext;
00024 class vtkKWListBoxWithScrollbars;
00025 class vtkKWListBoxToListBoxSelectionEditor;
00026 class vtkKWPushButton;
00027 class vtkKWMultiColumnListWithScrollbars;
00028
00029 typedef std::map<int,std::string> VolumeMap;
00030 typedef std::map<std::string,int> ViewerMap;
00031
00032 class SIGN_EXPORT SignConfigurationWidget : public SignCompositeWidget
00033 {
00034
00035 public:
00036 vtkTypeRevisionMacro(SignConfigurationWidget,SignCompositeWidget);
00037 static SignConfigurationWidget* New();
00038 void Requery();
00039 void FillLoadedVolumeList();
00040 void FillViewerList();
00041 vtkKWMultiColumnList *GetLoadedVols();
00042
00043
00044 protected:
00045 SignConfigurationWidget();
00046 ~SignConfigurationWidget();
00047 virtual void CreateWidget();
00048
00049 SignConfigurationWidget(const SignConfigurationWidget&);
00050 void operator=(const SignConfigurationWidget&);
00051
00052
00053 private:
00054 void CheckValidSelection();
00055 static void OnSelectedVol(vtkObject *caller,unsigned long,void* data,void* callData);
00056 static void OnChangedViewer(vtkObject *caller,unsigned long,void* data,void* callData);
00057 static void MRMLModifiedCallback(vtkObject *caller,unsigned long,void* data,void* callData);
00058 VolumeMap volmap;
00059 ViewerMap viewermap;
00060 vtkKWPushButton *finish_button;
00061 vtkKWListBoxToListBoxSelectionEditor *listbox;
00062 vtkKWMultiColumnListWithScrollbars *loadedvols;
00063 };
00064
00065 #endif