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

GUI/Client/vtkPVXMLPackageParser.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVXMLPackageParser.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 =========================================================================*/
00022 #ifndef __vtkPVXMLPackageParser_h
00023 #define __vtkPVXMLPackageParser_h
00024 #include "vtkPVXMLParser.h"
00025 
00026 //BTX
00027 template <class key, class data>
00028 class vtkArrayMap;
00029 //ETX
00030 
00031 class vtkPVSource;
00032 class vtkPVWindow;
00033 class vtkPVWidget;
00034 
00035 class VTK_EXPORT vtkPVXMLPackageParser : public vtkPVXMLParser
00036 {
00037 public:
00038   vtkTypeRevisionMacro(vtkPVXMLPackageParser,vtkPVXMLParser);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040   static vtkPVXMLPackageParser* New();
00041 
00044   void StoreConfiguration(vtkPVWindow* window);
00045 
00046 protected:
00047   vtkPVXMLPackageParser();
00048   ~vtkPVXMLPackageParser();
00049 
00050   // Get the vtkPVWidget corresponding to the given vtkPVXMLElement.
00051   vtkPVWidget* GetPVWidget(vtkPVXMLElement* element, vtkPVSource* pvm, int store);
00052 
00053   // Get the vtkPVWindow currently being stored.
00054   vtkPVWindow* GetPVWindow();
00055 
00056   void ProcessConfiguration();
00057   void CreateReaderModule(vtkPVXMLElement* me);
00058   void CreateSourceModule(vtkPVXMLElement* me);
00059   void CreateFilterModule(vtkPVXMLElement* me);
00060   void CreateManipulator(vtkPVXMLElement* ma);
00061   void CreateWriter(vtkPVXMLElement* ma);
00062   int CreateModule(vtkPVXMLElement* me, vtkPVSource* pvm);
00063   int LoadPackageLibrary(vtkPVXMLElement* le);
00064   int LoadServerManagerFile(vtkPVXMLElement* le);
00065   int ParseVTKFilter(vtkPVXMLElement* filterElement,
00066                      vtkPVSource* pvm);
00067 
00068   //BTX
00069   typedef vtkArrayMap<vtkPVXMLElement*, vtkPVWidget*> InternalWidgetMap;
00070   //ETX
00071 
00072   // Map of XML element representation to widget.
00073   InternalWidgetMap* WidgetMap;
00074 
00075   // The window into which the modules will be stored.
00076   vtkPVWindow* Window;
00077 
00078   //BTX
00079   friend class vtkPVXMLElement;
00080   friend class vtkPVWidget;
00081   //ETX
00082 
00083 private:
00084   // Used by GetPVWidget.  Do not call directly.
00085   vtkPVWidget* CreatePVWidget(vtkPVXMLElement* element);
00086 
00087 private:
00088   vtkPVXMLPackageParser(const vtkPVXMLPackageParser&);  // Not implemented.
00089   void operator=(const vtkPVXMLPackageParser&);  // Not implemented.
00090 };
00091 
00092 #endif

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