00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVLabeledToggle.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 =========================================================================*/ 00019 #ifndef __vtkPVLabeledToggle_h 00020 #define __vtkPVLabeledToggle_h 00021 00022 #include "vtkPVObjectWidget.h" 00023 00024 class vtkKWApplication; 00025 class vtkKWLabel; 00026 class vtkKWCheckButton; 00027 00028 class VTK_EXPORT vtkPVLabeledToggle : public vtkPVObjectWidget 00029 { 00030 public: 00031 static vtkPVLabeledToggle* New(); 00032 vtkTypeRevisionMacro(vtkPVLabeledToggle, vtkPVObjectWidget); 00033 void PrintSelf(ostream& os, vtkIndent indent); 00034 00036 00037 void SetLabel(const char *str); 00038 const char* GetLabel(); 00040 00042 virtual void Create(vtkKWApplication *pvApp); 00043 00045 00046 void SetSelectedState(int val); 00047 int GetSelectedState(); 00049 00052 virtual void SetBalloonHelpString(const char *str); 00053 00055 void Disable(); 00056 00057 //BTX 00059 00062 vtkPVLabeledToggle* ClonePrototype(vtkPVSource* pvSource, 00063 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map); 00065 //ETX 00066 00073 virtual void UpdateEnableState(); 00074 00076 virtual void Initialize(); 00077 00079 virtual void SaveInBatchScript(ofstream *file); 00080 00081 protected: 00082 vtkPVLabeledToggle(); 00083 ~vtkPVLabeledToggle(); 00084 00085 // Called when accept button is pushed. 00086 // Sets objects variable to the widgets value. 00087 // Side effect is to turn modified flag off.Resources/ 00088 virtual void Accept(); 00089 00090 // Called when the reset button is pushed. 00091 // Sets widget's value to the object-variable's value. 00092 // Side effect is to turn the modified flag off. 00093 virtual void ResetInternal(); 00094 00095 // This serves a dual purpose. For tracing and Resources/for saving state. 00096 virtual void Trace(ofstream *file); 00097 00098 00099 vtkKWLabel *Label; 00100 vtkKWCheckButton *CheckButton; 00101 00102 //BTX 00103 virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource, 00104 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map); 00105 //ETX 00106 00107 int ReadXMLAttributes(vtkPVXMLElement* element, 00108 vtkPVXMLPackageParser* parser); 00109 00110 private: 00111 vtkPVLabeledToggle(const vtkPVLabeledToggle&); // Not implemented 00112 void operator=(const vtkPVLabeledToggle&); // Not implemented 00113 }; 00114 00115 #endif