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

GUI/Client/vtkPVSourceNotebook.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkPVSourceNotebook.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 =========================================================================*/
00023 #ifndef __vtkPVSourceNotebook_h
00024 #define __vtkPVSourceNotebook_h
00025 
00026 #include "vtkKWCompositeWidget.h"
00027 
00028 class vtkKWApplication;
00029 class vtkKWNotebook;
00030 class vtkPVSource;
00031 class vtkKWLabelWithLabel;
00032 class vtkKWEntryWithLabel;
00033 class vtkKWPushButton;
00034 class vtkKWPushButtonWithMenu;
00035 class vtkPVApplication;
00036 class vtkPVInformationGUI;
00037 class vtkPVDisplayGUI;
00038 class vtkKWLabel;
00039 class vtkKWFrame;
00040 
00041 class VTK_EXPORT vtkPVSourceNotebook : public vtkKWCompositeWidget
00042 {
00043 public:
00044   static vtkPVSourceNotebook* New();
00045   vtkTypeRevisionMacro(vtkPVSourceNotebook,vtkKWCompositeWidget);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047   void Close();
00048     
00050   virtual void Create(vtkKWApplication *app);
00051 
00053 
00056   void SetPVSource(vtkPVSource *source);
00057   vtkGetObjectMacro(PVSource, vtkPVSource);
00058   void Update();
00060   
00062 
00066   void UpdateEnableStateWithSource(vtkPVSource* pvs);  
00067   void UpdateEnableState();  
00069 
00071 
00073   vtkGetObjectMacro(DisplayGUI, vtkPVDisplayGUI);
00075   
00077 
00079   void SetAcceptButtonColorToModified();
00080   void SetAcceptButtonColorToUnmodified();
00081   vtkGetMacro(AcceptButtonRed, int);
00083 
00086   void LabelEntryCallback();
00087 
00089 
00091   void Raise(const char* pageName);
00092   void HidePage(const char* pageName);
00093   void ShowPage(const char* pageName);
00095 
00097 
00099   vtkGetObjectMacro(MainParameterFrame, vtkKWFrame);
00101 
00103   vtkPVApplication* GetPVApplication();
00104   
00106 
00107   void AcceptButtonCallback();
00108   void ResetButtonCallback();
00109   void DeleteButtonCallback();
00111   
00113 
00114   void SetAutoAccept(int val);
00115   vtkGetMacro(AutoAccept, int);
00116   void EventuallyAccept();
00117   void EventuallyAcceptCallBack();
00119 
00121 
00123   vtkSetMacro(CloneInitializeLock,int);
00124   vtkGetMacro(CloneInitializeLock,int);
00125   vtkBooleanMacro(CloneInitializeLock, int);
00127 
00128 protected:
00129   vtkPVSourceNotebook();
00130   ~vtkPVSourceNotebook();
00131 
00132   vtkPVSource* PVSource;
00133 
00134   vtkKWNotebook* Notebook;
00135   vtkPVDisplayGUI* DisplayGUI;
00136   vtkPVInformationGUI* InformationGUI;
00137   vtkKWFrame *DescriptionFrame;
00138   vtkKWLabelWithLabel *NameLabel;
00139   vtkKWLabelWithLabel *TypeLabel;
00140   vtkKWEntryWithLabel *LabelEntry;
00141   vtkKWLabelWithLabel *LongHelpLabel;
00142   vtkKWFrame *ButtonFrame;
00143   vtkKWPushButtonWithMenu *AcceptButton;
00144   vtkKWPushButton *ResetButton;
00145   vtkKWPushButton *DeleteButton;
00146   vtkKWFrame *MainParameterFrame;
00147 
00148   vtkKWPushButton* AcceptPullDownArrow;
00149   
00150   // We have to manage updates separate from the VTK pipeline.
00151   int AcceptButtonRed;
00152   int AutoAccept;
00153   int CloneInitializeLock;  //Used to block the SetAcceptButtonColorToUnmodified
00154   Tcl_TimerToken TimerToken;
00155 
00157   void UpdateDescriptionFrame(vtkPVSource* pvs);
00158 
00159 private:
00160   vtkPVSourceNotebook(const vtkPVSourceNotebook&); // Not implemented
00161   void operator=(const vtkPVSourceNotebook&); // Not implemented
00162 };
00163 
00164 #endif
00165 

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