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

GUI/Client/vtkPVSelectArrays.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVSelectArrays.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 =========================================================================*/
00023 #ifndef __vtkPVSelectArrays_h
00024 #define __vtkPVSelectArrays_h
00025 
00026 #include "vtkPVWidget.h"
00027 class vtkKWPushButton;
00028 class vtkKWWidget;
00029 class vtkKWListBox;
00030 class vtkCollection;
00031 class vtkPVInputMenu;
00032 class vtkPVSource;
00033 class vtkKWLabel;
00034 class vtkKWCheckButton;
00035 class vtkStringList;
00036 class vtkKWFrame;
00037 
00038 class VTK_EXPORT vtkPVSelectArrays : public vtkPVWidget
00039 {
00040 public:
00041   static vtkPVSelectArrays* New();
00042   vtkTypeRevisionMacro(vtkPVSelectArrays, vtkPVWidget);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044     
00046   void Create(vtkKWApplication *app);
00047 
00049   void SaveInBatchScript(ofstream *file);
00050 
00052   void ShowAllArraysCheckCallback();
00053 
00055 
00056   void ClearAllSelections();
00057   void SetSelectState(const char* arrayName, int val);
00059 
00061   virtual void Trace(ofstream *file);
00062 
00063   //BTX
00065 
00067   virtual void Accept();
00068   //ETX
00070 
00072   virtual void ResetInternal();
00073 
00075   virtual void Initialize();
00076 
00078 
00079   virtual void SetInputMenu(vtkPVInputMenu*);
00080   vtkGetObjectMacro(InputMenu, vtkPVInputMenu);
00082 
00084   virtual void Update();
00085 
00086 //BTX
00088 
00090   vtkPVSelectArrays* ClonePrototype(vtkPVSource* pvSource,
00091                                  vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00092   virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00093                               vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00095 //ETX
00096 
00103   virtual void UpdateEnableState();
00104  
00105 protected:
00106   vtkPVSelectArrays();
00107   ~vtkPVSelectArrays();
00108 
00109   vtkKWFrame*      ButtonFrame;
00110   vtkKWLabel*       ShowAllLabel;
00111   vtkKWCheckButton* ShowAllCheck;
00112 
00113   vtkKWListBox* ArraySelectionList;
00114   // Labels get substituted for list box after accept is called.
00115   vtkCollection* ArrayLabelCollection;
00116 
00117   // This is set to vtkDataSet::CELL_DATA_FIELD if the widget is selecting
00118   // cell arrays.  It is set to vtkDataSet::POINT_DATA_FIELD if the widget is being
00119   // used for selecting point arrays.  It is set through the XML
00120   // description of the widget: field="Cell".
00121   // This defaults to Cell.
00122   int Field;
00123 
00124   // This flag is set when the widget deactivates after the first selection.
00125   // The default value is 0 (off).  XML: Deactivate="On".
00126   // I expect this option to go awway after we start using multiblock data sets
00127   // for ParaView's group.
00128   int Deactivate;
00129 
00130   // This flag adds the option of filtering the arrays based on their names.
00131   // Right now it is hard coded for CTH voloume fractions, but I see no reason
00132   // it cold not be extended to a general pattern matching in the future.
00133   // This defaults to 0 (off): XML: FilterArrays="On"
00134   int FilterArrays;
00135 
00136   // Called to inactivate widget (after accept is called).
00137   void Inactivate();
00138   int Active;
00139   vtkStringList* SelectedArrayNames;
00140 
00141   vtkPVInputMenu* InputMenu;
00142 
00143   int StringMatch(const char* arrayName);
00144   int ReadXMLAttributes(vtkPVXMLElement* element,
00145                         vtkPVXMLPackageParser* parser);
00146   
00147   vtkPVSelectArrays(const vtkPVSelectArrays&); // Not implemented
00148   void operator=(const vtkPVSelectArrays&); // Not implemented
00149 };
00150 
00151 #endif

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