00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkPVSourcesNavigationWindow_h
00024 #define __vtkPVSourcesNavigationWindow_h
00025
00026 #include "vtkKWCompositeWidget.h"
00027
00028 class vtkKWApplication;
00029 class vtkKWCanvas;
00030 class vtkKWMenu;
00031 class vtkPVSource;
00032 class vtkKWScrollbar;
00033
00034 class VTK_EXPORT vtkPVSourcesNavigationWindow : public vtkKWCompositeWidget
00035 {
00036 public:
00037 static vtkPVSourcesNavigationWindow* New();
00038 vtkTypeRevisionMacro(vtkPVSourcesNavigationWindow,vtkKWCompositeWidget);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00042 virtual void Create(vtkKWApplication *app);
00043
00045
00046 void SetWidth(int width);
00047 void SetHeight(int height);
00049
00051
00052 vtkGetObjectMacro(Canvas, vtkKWCanvas);
00054
00056 void Update(vtkPVSource *currentSource);
00057
00059 void HighlightObject(const char* widget, int onoff);
00060
00062 void DisplayModulePopupMenu(vtkPVSource* module, int x, int y);
00063
00065
00066 void PopupDeleteCallback();
00067 void PopupVisibilityCallback();
00068 void PopupFlatInterpolationCallback();
00069 void PopupGouraudInterpolationCallback();
00070 void PopupOutlineRepresentationCallback();
00071 void PopupSurfaceRepresentationCallback();
00072 void PopupWireframeRepresentationCallback();
00073 void PopupPointsRepresentationCallback();
00075
00077 void ExecuteCommandOnModule(const char* module, const char* command);
00078
00080 virtual void PrepareForDelete() {}
00081
00083 virtual void Reconfigure();
00084
00086
00088 virtual void SetAlwaysShowName(int);
00089 vtkGetMacro(AlwaysShowName, int);
00090 vtkBooleanMacro(AlwaysShowName, int);
00092
00094
00097 vtkSetMacro(CreateSelectionBindings, int);
00098 vtkGetMacro(CreateSelectionBindings, int);
00099 vtkBooleanMacro(CreateSelectionBindings, int);
00101
00108 virtual void UpdateEnableState();
00109
00110 protected:
00111 vtkPVSourcesNavigationWindow();
00112 ~vtkPVSourcesNavigationWindow();
00113
00115 void CalculateBBox(vtkKWWidget* canvas, const char* name, int bbox[4]);
00116
00119 virtual void ChildUpdate(vtkPVSource* currentSource);
00120
00124 virtual void PostChildUpdate() {}
00125
00128 virtual void ChildCreate() {}
00129
00133 char* GetTextRepresentation(vtkPVSource* comp);
00134
00135
00136 const char* CreateCanvasItem(const char *format, ...);
00137
00138
00139 int Width;
00140 int Height;
00141 vtkKWCanvas* Canvas;
00142 vtkKWScrollbar* ScrollBar;
00143 vtkKWMenu* PopupMenu;
00144
00145 vtkPVSource* PopupModule;
00146
00147 int AlwaysShowName;
00148 int CreateSelectionBindings;
00149
00150 private:
00151 vtkPVSourcesNavigationWindow(const vtkPVSourcesNavigationWindow&);
00152 void operator=(const vtkPVSourcesNavigationWindow&);
00153 };
00154
00155
00156 #endif