00001
00002
00003
00004
00005
00006
00007
00022 #ifndef SIGNUI_BASE_H_
00023 #define SIGNUI_BASE_H_
00024
00025 #include <map>
00026
00027
00028 #include <SignDLL.h>
00029 #include <vtkKWObject.h>
00030
00031
00032 class SignContext;
00033 class SignConfiguration;
00034 class vtkKWRenderWidget;
00035 class vtkKWScale;
00036 class vtkKWMenuButton;
00037 class vtkKWFrame;
00038 class vtkKWWindow;
00039 class vtkKWRenderWidget;
00040 class vtkKWLabel;
00041 class SignViewer;
00042
00043 class SIGN_EXPORT SignUIBase : public vtkKWObject
00044 {
00045 public:
00046
00047 vtkTypeRevisionMacro (SignUIBase, vtkKWObject);
00048
00050 vtkKWFrame *GetLeftMenu();
00051
00053 void SetLeftMenu(vtkKWFrame* menu);
00054
00056 vtkKWWindow* GetMainWindow();
00057
00059 virtual void SetupMainWin(SignConfiguration*)=0;
00060
00062 void EditTransferFunction(SignContext* context);
00063
00065 static void LoadDICOMProgressCallback(vtkObject *caller, unsigned long, void *data, void *calldata);
00066
00067 vtkKWLabel* GetInfoLabel();
00068
00069 void SetInfoLabel(vtkKWLabel* label);
00070
00071 void SetInfoLabelText(const char* text);
00072
00073
00074
00075 protected:
00076 SignUIBase (void);
00077 virtual ~SignUIBase();
00078
00079 void CleanUp();
00080
00082 vtkKWWindow *window;
00083
00085 vtkKWFrame* leftMenu;
00086
00087 vtkKWLabel* infoLabel;
00088
00089 private:
00090
00091 SignUIBase (const SignUIBase&);
00092 void operator= (const SignUIBase&);
00093
00095 static void TransferFunctionDialogCloseCallback(vtkObject *caller,unsigned long, void* data,void*);
00096 static void TransferFunctionDialogChangedCallback(vtkObject *caller,unsigned long, void* data,void*);
00097
00098 };
00099 #endif