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

GUI/Client/vtkPVFileEntry.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVFileEntry.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 __vtkPVFileEntry_h
00020 #define __vtkPVFileEntry_h
00021 
00022 #include "vtkPVObjectWidget.h"
00023 
00024 class vtkKWLabel;
00025 class vtkKWPushButton;
00026 class vtkKWEntry;
00027 class vtkKWEntry;
00028 class vtkPVSource;
00029 class vtkKWScaleWithEntry;
00030 class vtkKWFrame;
00031 class vtkPVListBoxToListBoxSelectionEditor;
00032 class vtkPVFileEntryObserver;
00033 class vtkKWPopupButton;
00034 
00035 //BTX
00036 template<class KeyType,class DataType> class vtkArrayMap;
00037 //ETX
00038 
00039 class VTK_EXPORT vtkPVFileEntry : public vtkPVObjectWidget
00040 {
00041 public:
00042   static vtkPVFileEntry* New();
00043   vtkTypeRevisionMacro(vtkPVFileEntry, vtkPVObjectWidget);
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00047 
00048   void SetLabel(const char* label);
00049   const char* GetLabel();
00051 
00053   virtual void Create(vtkKWApplication *pvApp);
00054   
00056 
00057   virtual void SetValue(const char* fileName);
00058   const char* GetValue();
00060 
00062   void BrowseCallback();
00063 
00066   virtual void SetBalloonHelpString(const char *str);
00067 
00069 
00070   vtkSetStringMacro(Extension);
00071   vtkGetStringMacro(Extension);
00073 
00074 //BTX
00076 
00079   vtkPVFileEntry* ClonePrototype(vtkPVSource* pvSource,
00080                                  vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00082 //ETX
00083 
00084   //BTX
00086 
00088   virtual void Accept();
00089   //ETX
00091 
00095   virtual void ResetInternal();
00096 
00098   virtual void Initialize();
00099   
00101   virtual void Trace(ofstream *file);
00102 
00104   void EntryChangedCallback();
00105 
00107   void TimestepChangedCallback();
00108 
00110   void SetTimeStep(int ts);
00111 
00113   virtual int GetNumberOfFiles();
00114 
00116   void ExecuteEvent(vtkObject *o, unsigned long event, void* calldata);
00117 
00119 
00120   void UpdateAvailableFiles() { this->UpdateAvailableFiles(0); }
00121   void UpdateAvailableFiles(int force);
00123 
00130   virtual void UpdateEnableState();
00131 
00133   virtual void SaveInBatchScript(ofstream *file);
00134 
00135 protected:
00136   vtkPVFileEntry();
00137   ~vtkPVFileEntry();
00138 
00139   vtkKWLabel *LabelWidget;
00140   vtkKWPushButton *BrowseButton;
00141   vtkKWEntry *Entry;
00142 
00143   char* Extension;
00144   int InSetValue;
00145 
00146   // Timestep scale
00147   vtkKWFrame *TimestepFrame;
00148   vtkKWScaleWithEntry *Timestep;
00149   int TimeStep;
00150 
00151   vtkSetStringMacro(Path);
00152   char* Path;
00153 
00154   int IgnoreFileListEvents;
00155 
00156   vtkPVListBoxToListBoxSelectionEditor* FileListSelect;
00157   vtkKWPopupButton* FileListPopup;
00158 
00159   //BTX
00160   virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00161     vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00162   //ETX
00163 
00164   int ReadXMLAttributes(vtkPVXMLElement* element,
00165     vtkPVXMLPackageParser* parser);
00166   
00167   unsigned long ListObserverTag;
00168   vtkPVFileEntryObserver* Observer;
00169 
00170   void UpdateTimeStep();
00171   
00176   void UpdateTimesteps();
00177 
00178   int Initialized;
00179 
00180 private:
00181   vtkPVFileEntry(const vtkPVFileEntry&); // Not implemented
00182   void operator=(const vtkPVFileEntry&); // Not implemented
00183 };
00184 
00185 #endif

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