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

GUI/Client/vtkPV3DWidget.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPV3DWidget.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00026 #ifndef __vtkPV3DWidget_h
00027 #define __vtkPV3DWidget_h
00028 
00029 #include "vtkPVObjectWidget.h"
00030 
00031 class vtkKWCheckButton;
00032 class vtkKWFrameWithLabel;
00033 
00034 class vtkPV3DWidgetObserver;
00035 class vtkKWFrame;
00036 class vtkSMProxy;
00037 class vtkSM3DWidgetProxy;
00038 
00039 class VTK_EXPORT vtkPV3DWidget : public vtkPVObjectWidget
00040 {
00041 public:
00042   vtkTypeRevisionMacro(vtkPV3DWidget, vtkPVObjectWidget);
00043 
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00049   virtual void Create(vtkKWApplication *app);
00050   
00052 
00053   void SetVisibility();
00054   virtual void SetVisibility(int val);
00055   void SetVisibilityNoTrace(int val);
00056   vtkBooleanMacro(Visibility, int);
00058 
00060   void SetValueChanged();
00061 
00064   virtual void Select();
00065 
00068   virtual void Deselect();
00069 
00074   virtual void EnableAnimation() { };
00075 
00080   virtual void DisableAnimation() { };
00081   
00083   virtual void PlaceWidget();
00084 
00087   virtual void ActualPlaceWidget();
00088 
00090 
00091   vtkSetMacro(UseLabel, int);
00092   vtkGetMacro(UseLabel, int);
00094 
00095   //BTX
00097 
00098   virtual void Accept();
00099   virtual void ResetInternal();
00101 
00103 
00104   virtual void Initialize();
00105   //ETX
00107 
00114   virtual void UpdateEnableState();
00115 
00117   virtual vtkSMProxy* GetProxyByName(const char*) { return NULL; }
00118 //BTX
00119   vtkGetObjectMacro(WidgetProxy,vtkSM3DWidgetProxy);
00120   vtkGetStringMacro(WidgetProxyName);
00121   vtkGetStringMacro(WidgetProxyXMLName);
00122 //ETX
00123 
00125   virtual void Trace(ofstream *file);
00126 
00127 protected:
00128   vtkPV3DWidget();
00129   ~vtkPV3DWidget();
00130   
00131   virtual void PlaceWidget(double bds[6]);
00132   
00134   void InitializeObservers(vtkSM3DWidgetProxy* widgetproxy); 
00135 
00136   void Render();
00137 
00138   vtkPV3DWidgetObserver* Observer;
00139   vtkSM3DWidgetProxy *WidgetProxy;
00140   char *WidgetProxyName;
00141   char *WidgetProxyXMLName; //The name of the SM3DWidgetProxy to create
00142   vtkSetStringMacro(WidgetProxyName);
00143   vtkSetStringMacro(WidgetProxyXMLName);
00144   
00146   void SetFrameLabel(const char* label);
00147 
00149   virtual void ChildCreate(vtkPVApplication*) = 0;
00150   
00151 //BTX
00152   virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00153                               vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00154 
00155   friend class vtkPV3DWidgetObserver;
00156 //ETX
00157 
00158   virtual void ExecuteEvent(vtkObject*, unsigned long, void*);
00159   
00160   virtual int ReadXMLAttributes(vtkPVXMLElement* element,
00161                                 vtkPVXMLPackageParser* parser);
00162 
00163   vtkKWFrame*        Frame;
00164   vtkKWFrameWithLabel* LabeledFrame;
00165   vtkKWCheckButton* Visibility;
00166   int ValueChanged;
00167   int Placed;
00168   int Visible;
00169   int UseLabel;
00170 
00171 private:  
00172   vtkPV3DWidget(const vtkPV3DWidget&); // Not implemented
00173   void operator=(const vtkPV3DWidget&); // Not implemented
00174 };
00175 
00176 #endif

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