Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

GUI/Widgets/vtkKWPresetSelector.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWPresetSelector.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00040 #ifndef __vtkKWPresetSelector_h
00041 #define __vtkKWPresetSelector_h
00042 
00043 #include "vtkKWCompositeWidget.h"
00044 
00045 class vtkImageData;
00046 class vtkKWIcon;
00047 class vtkKWMultiColumnListWithScrollbars;
00048 class vtkKWPresetSelectorInternals;
00049 class vtkKWPushButtonSet;
00050 class vtkKWSpinButtons;
00051 class vtkRenderWindow;
00052 
00053 class KWWIDGETS_EXPORT vtkKWPresetSelector : public vtkKWCompositeWidget
00054 {
00055 public:
00056   static vtkKWPresetSelector* New();
00057   vtkTypeRevisionMacro(vtkKWPresetSelector, vtkKWCompositeWidget);
00058   void PrintSelf(ostream& os, vtkIndent indent);
00059 
00061   virtual void Create(vtkKWApplication *app);
00062   
00064   virtual int AddPreset();
00065 
00067   virtual int HasPreset(int id);
00068 
00070 
00076   virtual int SetPresetGroup(int id, const char *group);
00077   virtual const char* GetPresetGroup(int id);
00079 
00081 
00083   virtual void SetGroupColumnVisibility(int);
00084   virtual int GetGroupColumnVisibility();
00085   vtkBooleanMacro(GroupColumnVisibility, int);
00087 
00089 
00091   virtual void SetGroupColumnTitle(const char *);
00092   virtual const char* GetGroupColumnTitle();
00094 
00096 
00099   virtual void SetGroupFilter(const char *group);
00100   vtkGetStringMacro(GroupFilter);
00102 
00104 
00110   virtual int SetPresetComment(int id, const char *comment);
00111   virtual const char* GetPresetComment(int id);
00113 
00115 
00117   virtual void SetCommentColumnVisibility(int);
00118   virtual int GetCommentColumnVisibility();
00119   vtkBooleanMacro(CommentColumnVisibility, int);
00121 
00123 
00127   virtual int SetPresetFileName(int id, const char *filename);
00128   virtual const char* GetPresetFileName(int id);
00130 
00136   virtual double GetPresetCreationTime(int id);
00137 
00139 
00147   virtual int SetPresetImage(int id, vtkImageData *image);
00148   virtual int SetPresetImageFromRenderWindow(int id, vtkRenderWindow *win);
00149   virtual vtkKWIcon* GetPresetThumbnail(int id);
00150   virtual vtkKWIcon* GetPresetScreenshot(int id);
00152 
00154 
00156   virtual void SetThumbnailColumnVisibility(int);
00157   virtual int GetThumbnailColumnVisibility();
00158   vtkBooleanMacro(ThumbnailColumnVisibility, int);
00160 
00162 
00165   vtkSetClampMacro(ThumbnailSize,int,8,512);
00166   vtkGetMacro(ThumbnailSize,int);
00168 
00170 
00174   vtkSetClampMacro(ScreenshotSize,int,8,2048);
00175   vtkGetMacro(ScreenshotSize,int);
00177 
00179 
00183   virtual int HasPresetUserSlot(
00184     int id, const char *slot_name);
00185   virtual int SetPresetUserSlotAsDouble(
00186     int id, const char *slot_name, double value);
00187   virtual double GetPresetUserSlotAsDouble(
00188     int id, const char *slot_name);
00189   virtual int SetPresetUserSlotAsInt(
00190     int id, const char *slot_name, int value);
00191   virtual int GetPresetUserSlotAsInt(
00192     int id, const char *slot_name);
00193   virtual int SetPresetUserSlotAsString(
00194     int id, const char *slot_name, const char *value);
00195   virtual const char* GetPresetUserSlotAsString(
00196     int id, const char *slot_name);
00197   virtual int SetPresetUserSlotAsPointer(
00198     int id, const char *slot_name, void *ptr);
00199   virtual void* GetPresetUserSlotAsPointer(
00200     int id, const char *slot_name);
00202 
00204 
00207   virtual int GetNumberOfPresets();
00208   virtual int GetNumberOfPresetsWithGroup(const char *group);
00209   virtual int GetNumberOfVisiblePresets();
00211 
00213 
00215   virtual int GetNthPresetId(int index);
00216   virtual int GetNthPresetWithGroupId(int index, const char *group);
00218 
00220 
00222   virtual int GetPresetAtRowId(int row_index);
00223   virtual int GetPresetRow(int id);
00225 
00230   virtual int GetNthPresetWithGroupRank(int index, const char *group);
00231 
00233 
00235   virtual int RemovePreset(int id);
00236   virtual int RemoveAllPresets();
00237   virtual int RemoveAllPresetsWithGroup(const char *group);
00239 
00241 
00243   virtual void SetListHeight(int);
00244   virtual int GetListHeight();
00246 
00248 
00253   virtual void SetSelectSpinButtonsVisibility(int);
00254   vtkGetMacro(SelectSpinButtonsVisibility,int);
00255   vtkBooleanMacro(SelectSpinButtonsVisibility,int);
00257 
00265   virtual void SetPresetAddCommand(vtkObject* object, const char *method);
00266 
00275   virtual void SetPresetUpdateCommand(vtkObject* object, const char *method);
00276 
00286   virtual void SetPresetApplyCommand(vtkObject* object, const char *method);
00287 
00289 
00294   virtual void SetApplyPresetOnSelection(int);
00295   vtkGetMacro(ApplyPresetOnSelection,int);
00296   vtkBooleanMacro(ApplyPresetOnSelection,int);
00298 
00309   virtual void SetPresetRemoveCommand(vtkObject* object, const char *method);
00310 
00312 
00314   vtkSetMacro(PromptBeforeRemovePreset, int);
00315   vtkGetMacro(PromptBeforeRemovePreset, int);
00316   vtkBooleanMacro(PromptBeforeRemovePreset, int);
00318 
00320 
00329   virtual void SetPresetHasChangedCommand(
00330     vtkObject* object, const char *method);
00332 
00334   virtual void Update();
00335 
00342   virtual void UpdateEnableState();
00343 
00345 
00346   virtual void PresetAddCallback();
00347   virtual void PresetApplyCallback();
00348   virtual void PresetUpdateCallback();
00349   virtual void PresetRemoveCallback();
00350   virtual void PresetSelectionCallback();
00351   virtual void PresetSelectPreviousCallback();
00352   virtual void PresetSelectNextCallback();
00354 
00357   virtual void PresetCellThumbnailCallback(const char*, int, int, const char*);
00358 
00360 
00366   virtual const char* PresetCellEditStartCallback(
00367     int row, int col, const char *text);
00369 
00371 
00376   virtual const char* PresetCellEditEndCallback(
00377     int row, int col, const char *text);
00379 
00383   virtual void PresetCellUpdatedCallback(int row, int col, const char *text);
00384 
00386 
00387   static const char *IdColumnName;
00388   static const char *ThumbnailColumnName;
00389   static const char *GroupColumnName;
00390   static const char *CommentColumnName;
00391   //ETX
00393 
00394 protected:
00395   vtkKWPresetSelector();
00396   ~vtkKWPresetSelector();
00397 
00401   virtual void CreateColumns();
00402 
00406   virtual void DeAllocatePreset(int vtkNotUsed(id)) {};
00407 
00415   virtual int UpdatePresetRow(int id);
00416 
00417   vtkKWMultiColumnListWithScrollbars *PresetList;
00418   vtkKWFrame                         *PresetControlFrame;
00419   vtkKWSpinButtons                   *PresetSelectSpinButtons;
00420   vtkKWPushButtonSet                 *PresetButtons;
00421 
00422   int ApplyPresetOnSelection;
00423   int SelectSpinButtonsVisibility;
00424 
00425   int ThumbnailSize;
00426   int ScreenshotSize;
00427   int PromptBeforeRemovePreset;
00428 
00429   char* GroupFilter;
00430 
00432   virtual void NumberOfPresetsHasChanged();
00433 
00434   // PIMPL Encapsulation for STL containers
00435   //BTX
00436   vtkKWPresetSelectorInternals *Internals;
00437   //ETX
00438 
00440   virtual void UpdateRowsInPresetList();
00441 
00442   char *PresetAddCommand;
00443   virtual void InvokePresetAddCommand();
00444 
00445   char *PresetUpdateCommand;
00446   virtual void InvokePresetUpdateCommand(int id);
00447 
00448   char *PresetApplyCommand;
00449   virtual void InvokePresetApplyCommand(int id);
00450 
00451   char *PresetRemoveCommand;
00452   virtual int InvokePresetRemoveCommand(int id);
00453 
00454   char *PresetHasChangedCommand;
00455   virtual void InvokePresetHasChangedCommand(int id);
00456 
00458 
00459   virtual int GetIdColumnIndex();
00460   virtual int GetThumbnailColumnIndex();
00461   virtual int GetGroupColumnIndex();
00462   virtual int GetCommentColumnIndex();
00464 
00466   virtual void Pack();
00467 
00470   virtual void SetDefaultHelpStrings();
00471 
00473 
00474   static int AddButtonId;
00475   static int ApplyButtonId;
00476   static int RemoveButtonId;
00477   static int UpdateButtonId;
00478   //ETX
00480 
00481 private:
00482 
00483   vtkKWPresetSelector(const vtkKWPresetSelector&); // Not implemented
00484   void operator=(const vtkKWPresetSelector&); // Not implemented
00485 };
00486 
00487 #endif

Generated on Tue May 30 12:31:43 2006 for ParaView by doxygen 1.3.5