00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVValueList.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 =========================================================================*/ 00021 #ifndef __vtkPVValueList_h 00022 #define __vtkPVValueList_h 00023 00024 #include "vtkPVWidget.h" 00025 00026 class vtkContourValues; 00027 class vtkKWFrame; 00028 class vtkKWLabel; 00029 class vtkKWFrameWithLabel; 00030 class vtkKWListBox; 00031 class vtkKWPushButton; 00032 class vtkKWRange; 00033 class vtkKWScaleWithEntry; 00034 00035 class VTK_EXPORT vtkPVValueList : public vtkPVWidget 00036 { 00037 public: 00038 vtkTypeRevisionMacro(vtkPVValueList, vtkPVWidget); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 virtual void Accept(); 00043 00045 virtual void Create(vtkKWApplication *app); 00046 00048 00050 void SetLabel (const char* label); 00051 const char* GetLabel(); 00053 00055 00057 void AddValue(double val); 00058 void RemoveAllValues(); 00060 00062 00063 void AddValueCallback(); 00064 void DeleteValueCallback(); 00065 void GenerateValuesCallback(); 00067 00070 virtual void SetBalloonHelpString(const char *str); 00071 00073 virtual void Trace(ofstream *file); 00074 00077 void Update(); 00078 00085 virtual void UpdateEnableState(); 00086 00088 int GetNumberOfValues(); 00089 00091 double GetValue(int index); 00092 00093 protected: 00094 vtkPVValueList(); 00095 ~vtkPVValueList(); 00096 00097 static const int MAX_NUMBER_ENTRIES; 00098 00099 vtkContourValues *ContourValues; 00100 00101 vtkKWFrameWithLabel* ContourValuesFrame; 00102 vtkKWFrame* ContourValuesFrame2; 00103 vtkKWListBox* ContourValuesList; 00104 00105 vtkKWFrame* ContourValuesButtonsFrame; 00106 vtkKWPushButton* DeleteValueButton; 00107 vtkKWPushButton* DeleteAllButton; 00108 00109 vtkKWFrameWithLabel* NewValueFrame; 00110 vtkKWLabel* NewValueLabel; 00111 vtkKWScaleWithEntry* NewValueEntry; 00112 vtkKWPushButton* AddValueButton; 00113 00114 vtkKWFrameWithLabel* GenerateFrame; 00115 vtkKWFrame* GenerateNumberFrame; 00116 vtkKWFrame* GenerateRangeFrame; 00117 00118 vtkKWLabel* GenerateLabel; 00119 vtkKWLabel* GenerateRangeLabel; 00120 vtkKWScaleWithEntry* GenerateEntry; 00121 vtkKWPushButton* GenerateButton; 00122 00123 vtkKWRange* GenerateRangeWidget; 00124 00125 void AddValueNoModified(double val); 00126 00127 virtual int ComputeWidgetRange() {return 0;} 00128 00129 vtkPVValueList(const vtkPVValueList&); // Not implemented 00130 void operator=(const vtkPVValueList&); // Not implemented 00131 00132 //BTX 00133 virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource, 00134 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map); 00135 //ETX 00136 00137 int ReadXMLAttributes(vtkPVXMLElement* element, 00138 vtkPVXMLPackageParser* parser); 00139 00140 }; 00141 00142 #endif