00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00029 #ifndef __vtkKWSelectionFrameLayoutManager_h
00030 #define __vtkKWSelectionFrameLayoutManager_h
00031
00032 #include "vtkKWCompositeWidget.h"
00033
00034 class vtkKWSelectionFrame;
00035 class vtkKWSelectionFrameLayoutManagerInternals;
00036 class vtkKWRenderWidget;
00037 class vtkImageData;
00038 class vtkKWMenu;
00039 class vtkKWToolbar;
00040
00041 class KWWIDGETS_EXPORT vtkKWSelectionFrameLayoutManager : public vtkKWCompositeWidget
00042 {
00043 public:
00044 static vtkKWSelectionFrameLayoutManager* New();
00045 vtkTypeRevisionMacro(vtkKWSelectionFrameLayoutManager, vtkKWCompositeWidget);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00047
00049 virtual void Create(vtkKWApplication *app);
00050
00052
00053 virtual void SetResolution(int i, int j);
00054 virtual void SetResolution(int res[2])
00055 { this->SetResolution(res[0], res[1]); };
00056 vtkGetVector2Macro(Resolution, int);
00058
00062 virtual int AddWidget(vtkKWSelectionFrame *widget);
00063
00066 virtual vtkKWSelectionFrame* AllocateAndAddWidget();
00067
00069
00075 virtual int SetWidgetTag(vtkKWSelectionFrame*, const char *tag);
00076 virtual const char* GetWidgetTag(vtkKWSelectionFrame*);
00078
00080
00082 virtual int SetWidgetGroup(vtkKWSelectionFrame*, const char *group);
00083 virtual const char* GetWidgetGroup(vtkKWSelectionFrame*);
00085
00087
00088 virtual int GetNumberOfWidgets();
00089 virtual int GetNumberOfWidgetsWithTag(const char *tag);
00090 virtual int GetNumberOfWidgetsWithGroup(const char *group);
00092
00094
00095 virtual int HasWidget(vtkKWSelectionFrame *widget);
00096 virtual int HasWidgetWithTag(const char *tag);
00097 virtual int HasWidgetWithTagAndGroup(const char *tag, const char *group);
00099
00101
00106 virtual vtkKWSelectionFrame* GetWidgetWithTag(const char *tag);
00107 virtual vtkKWSelectionFrame* GetWidgetWithTagAndGroup(
00108 const char *tag, const char *group);
00109 virtual vtkKWSelectionFrame* GetWidgetWithTitle(const char *title);
00110 virtual vtkKWSelectionFrame* GetNthWidget(int index);
00111 virtual vtkKWSelectionFrame* GetNthWidgetNotMatching(
00112 int index, vtkKWSelectionFrame *avoid);
00113 virtual vtkKWSelectionFrame* GetNthWidgetWithGroup(
00114 int index, const char *group);
00116
00118
00120 virtual int GetWidgetPosition(vtkKWSelectionFrame *w, int *col, int *row);
00121 virtual int GetWidgetPosition(vtkKWSelectionFrame *w, int pos[2])
00122 { return this->GetWidgetPosition(w, pos, pos + 1); }
00123 virtual int SetWidgetPosition(vtkKWSelectionFrame *w, int col, int row);
00124 virtual int SetWidgetPosition(vtkKWSelectionFrame *w, int pos[2])
00125 { return this->SetWidgetPosition(w, pos[0], pos[1]); }
00126 virtual vtkKWSelectionFrame* GetWidgetAtPosition(int col, int row);
00127 virtual vtkKWSelectionFrame* GetWidgetAtPosition(int pos[2])
00128 { return this->GetWidgetAtPosition(pos[0], pos[1]); }
00130
00132
00134 virtual int SwitchWidgetsPosition(
00135 vtkKWSelectionFrame *w1, vtkKWSelectionFrame *w2);
00137
00140 virtual void SelectWidget(vtkKWSelectionFrame *widget);
00141
00144 virtual vtkKWSelectionFrame* GetSelectedWidget();
00145
00147
00148 virtual void SetSelectionChangedCommand(
00149 vtkObject* object, const char *method);
00151
00153
00156 virtual int RemoveWidget(vtkKWSelectionFrame *widget);
00157 virtual int RemoveAllWidgets();
00158 virtual int RemoveAllWidgetsWithGroup(const char *group);
00160
00165 virtual int ShowWidgetsWithGroup(const char *group);
00166
00168
00173 virtual int SaveScreenshotAllWidgets();
00174 virtual int SaveScreenshotAllWidgetsToFile(const char* fileName);
00175 virtual int CopyScreenshotAllWidgetsToClipboard();
00177
00179
00185 virtual int AppendAllWidgetsToImageData(vtkImageData *image);
00186 virtual int AppendAllWidgetsToImageDataFast(vtkImageData *image);
00187 virtual int AppendSelectedWidgetToImageData(vtkImageData *image);
00188 virtual int AppendSelectedWidgetToImageDataFast(vtkImageData *image);
00190
00192
00195 virtual int PrintAllWidgets();
00196 virtual int PrintAllWidgetsAtResolution(double dpi);
00197 virtual int PrintSelectedWidget();
00198 virtual int PrintSelectedWidgetAtResolution(double dpi);
00200
00202
00205 virtual void CreateResolutionEntriesMenu(vtkKWMenu *parent);
00206 vtkGetObjectMacro(ResolutionEntriesMenu, vtkKWMenu);
00207 virtual void UpdateResolutionEntriesMenu();
00209
00211
00213 virtual void CreateResolutionEntriesToolbar(vtkKWWidget *parent);
00214 vtkGetObjectMacro(ResolutionEntriesToolbar, vtkKWToolbar);
00215 virtual void UpdateResolutionEntriesToolbar();
00217
00224 virtual void UpdateEnableState();
00225
00227
00228 virtual void SelectWidgetCallback(vtkKWSelectionFrame*);
00229 virtual void SelectAndMaximizeWidgetCallback(vtkKWSelectionFrame*);
00230 virtual void CloseWidgetCallback(vtkKWSelectionFrame*);
00231 virtual int ChangeWidgetTitleCallback(vtkKWSelectionFrame*);
00232 virtual void WidgetTitleChangedCallback(vtkKWSelectionFrame*);
00233 virtual void SwitchWidgetCallback(
00234 const char *title, vtkKWSelectionFrame *widget);
00236
00238 virtual void UpdateSelectionLists();
00239
00240 protected:
00241 vtkKWSelectionFrameLayoutManager();
00242 ~vtkKWSelectionFrameLayoutManager();
00243
00244 int Resolution[2];
00245 vtkKWMenu *ResolutionEntriesMenu;
00246 vtkKWToolbar *ResolutionEntriesToolbar;
00247 char *SelectionChangedCommand;
00248
00250 virtual vtkKWSelectionFrame* AllocateWidget();
00251
00253
00256 virtual void CreateWidget(vtkKWSelectionFrame*);
00257 virtual void ConfigureWidget(vtkKWSelectionFrame*);
00259
00264 virtual vtkKWRenderWidget* GetVisibleRenderWidget(vtkKWSelectionFrame*);
00265
00267 virtual void Pack();
00268
00270 virtual void AdjustResolution();
00271
00274 virtual int PrintWidgets(double dpi, int selection_only);
00275
00277
00283 virtual int AppendWidgetsToImageData(
00284 vtkImageData *image,int selection_only, int direct = 0);
00286
00288 virtual void NumberOfWidgetsHasChanged();
00289
00292 virtual void ReorganizeWidgetPositions();
00293
00295
00298 virtual int CanWidgetTitleBeChanged(
00299 vtkKWSelectionFrame *widget, const char *new_title);
00301
00302
00303
00304 vtkKWSelectionFrameLayoutManagerInternals *Internals;
00305
00307
00308 virtual void AddCallbacksToWidget(vtkKWSelectionFrame *widget);
00309 virtual void RemoveCallbacksFromWidget(vtkKWSelectionFrame *widget);
00311
00314 virtual void DeleteWidget(vtkKWSelectionFrame *widget);
00315
00316 private:
00317
00318 vtkKWSelectionFrameLayoutManager(const vtkKWSelectionFrameLayoutManager&);
00319 void operator=(const vtkKWSelectionFrameLayoutManager&);
00320 };
00321
00322 #endif