ssMultibeamApplication.h

Go to the documentation of this file.
00001 /* $Id: ssMultibeamApplication.h,v 1.13 2005/10/26 10:18:11 pfb Exp $ */
00002 
00003 #ifndef _ssMultibeamApplication_h
00004 #define _ssMultibeamApplication_h
00005 
00010 #include "vtkKWApplication.h"
00011 
00012 class ssMultibeamProcessModule;
00013 class ssMultibeamAlertWindow;
00014 class ssMultibeamRenderModule;
00015 class ssMultibeamWindow;
00016 
00022 class VTK_EXPORT ssMultibeamApplication : public vtkKWApplication
00023   {
00024   //****************************************************************************
00025                              public:
00026 
00032   static ssMultibeamApplication *New();
00033 
00037   vtkTypeMacro(ssMultibeamApplication, vtkKWApplication);
00038 
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00056   static Tcl_Interp *InitializeTcl(int argc, char *argv[], ostream *err = 0);
00057 
00064    bool ParseCommandLineArguments(int argc, char*argv[]);
00065 
00070   void SetProcessModule(ssMultibeamProcessModule *module);
00071 
00076   ssMultibeamProcessModule *GetProcessModule();
00077 
00083   virtual void Start(int argc, char *argv[]);
00084 
00088   virtual void Start();
00089 
00094   virtual void Start(char *arg);
00095 
00101   virtual int Exit();
00102 
00107   ssMultibeamWindow *MainWindow();
00108 
00109 //BTX
00116   void BroadcastScript(char *eventString, ...);
00117 //ETX
00118 
00123   void BroadcastSimpleScript(const char *str);
00124 
00129   ssMultibeamRenderModule *RenderModule() const;
00130 
00137   vtkObject *MakeTclObject(const char *className,
00138                            const char *tclName);
00139 
00145   vtkObject *TclToVTKObject(const char *tclName);
00146 
00147   //****************************************************************************
00148                              protected:
00149 
00153   ssMultibeamApplication();
00154 
00158   virtual ~ssMultibeamApplication();
00159 
00164   void RenderModule(ssMultibeamRenderModule *module);
00165 
00166   ssMultibeamProcessModule *processModule;
00167   ssMultibeamAlertWindow *alertWindow;
00168   ssMultibeamRenderModule *renderModule;
00169 
00170 //BTX
00171   static const char *const LoadComponentProc;
00172   static const char *const ExitProc;
00173 //ETX
00174 
00175   //****************************************************************************
00176                              private:
00177 
00181   ssMultibeamApplication(const ssMultibeamApplication& );
00182   ssMultibeamApplication& operator=(const ssMultibeamApplication& );
00183   };
00184 
00185 
00189 #endif
00190 
00191 /*
00192  * $Log: ssMultibeamApplication.h,v $
00193  * Revision 1.13  2005/10/26 10:18:11  pfb
00194  * Fixed doxygen tags.
00195  *
00196  * Revision 1.12  2005/10/19 05:28:49  pfb
00197  * Some changes which accomodate the changes to ParaView 2.2.1
00198  *
00199  * Revision 1.11  2005/05/10 17:08:00  pfb
00200  * Added module info.
00201  *
00202  * Revision 1.10  2004/02/21 14:07:44  pfb
00203  * Added MainWindow().
00204  *
00205  * Revision 1.9  2004/02/15 16:08:36  pfb
00206  * Moved from MultibeamApplication to ssMultibeamApplication.
00207  *
00208  * Revision 1.8  2004/02/02 20:06:01  pfb
00209  * Added LoadComponentProc and ExitProc.
00210  *
00211  * Revision 1.7  2004/02/01 16:46:59  pfb
00212  * Work in progress.
00213  *
00214  * Revision 1.6  2004/01/06 13:31:19  pfb
00215  * Work in progress. More functionality added.
00216  *
00217  * Revision 1.5  2004/01/02 16:02:06  pfb
00218  * Working towards basic runnable state.
00219  *
00220  * Revision 1.4  2003/12/30 12:59:13  pfb
00221  * Added Exit().
00222  *
00223  * Revision 1.3  2003/12/29 14:45:58  pfb
00224  * Work in progress.
00225  *
00226  * Revision 1.2  2003/12/27 14:27:50  pfb
00227  * Work in progress.
00228  *
00229  * Revision 1.1  2003/12/22 14:46:47  pfb
00230  * Initial rev.
00231  *
00232  *
00233  */
00234