Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

TxqPlotTrol.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------
00002 //
00003 //  File:       TxqPlotTrol.h:   
00004 //
00005 //  Purpose:    Controls the opening and closing of 2d and 3d plot windows
00006 //
00007 //  Copyright 2002 Tech-X Corporation
00008 //
00009 //  CVS: $Id: TxqPlotTrol.h,v 1.7 2002/01/17 21:02:57 kgl Exp $
00010 //
00011 //  Author: Kelly G. Luetkemeyer
00012 //
00013 //--------------------------------------------------------------------
00014 
00015 #ifndef  TXQ_PLOT_TROL_H
00016 #define  TXQ_PLOT_TROL_H
00017 
00018 // Borland needs this
00019 #ifdef __BCPLUSPLUS__
00020 #define CINTERFACE
00021 #endif
00022 
00023 #ifdef UNIX
00024 #include <config.h>
00025 #endif
00026 
00027 // qt includes
00028 #include <qobject.h>
00029 #include <qfileinfo.h> 
00030 
00031 // Txq Includes
00032 #include <TxModelDefines.h>
00033 #include <Txq2dFrame.h>
00034 #include <Txq3dFrame.h>
00035 
00036 // txmath includes
00037 #include <txc_vector.h>
00038 #include <TxAttributeSet.h>
00039 #include <TxHierAttribSet.h>
00040 
00041 // stl includes
00042 #include <cassert>
00043 
00055 class TxqPlotTrol : public QObject
00056 {
00057 
00058 Q_OBJECT
00059 
00060 public:
00061 
00072   TxqPlotTrol( const QString &fileName = QString::null, 
00073                const bool readFlag=false,
00074                int numWindows=0);
00075 
00079   virtual ~TxqPlotTrol();
00080 
00084   virtual void writeConfig();
00085 
00090   virtual void begin();
00091 
00096   virtual void setFileName(const QString &name);
00097 
00102   virtual void setNumberWindows(int n) {numberOfWindows = n;}
00103 
00108   virtual void add2dWindow(int i);
00109 
00114   virtual void add3dWindow(int i);
00115 
00119   virtual void closeAll();
00120 
00125   virtual void closeWindow(int index);
00126 
00132   virtual void move(int type, int index);
00133 
00137   TXSTD::vector<Txq2dFrame *> plot2dWindows;
00138 
00139 #ifdef HAVE_OPENGL
00140 
00144   TXSTD::vector<Txq3dFrame *> plot3dWindows;
00145 
00146 #endif
00147 
00151   TXSTD::vector<int> plotType;
00152 
00156   TXSTD::vector<int> openFlag;
00157 
00162   TXSTD::vector<int> plotIndex;
00163 
00169   TXSTD::map<int,int> plot2dIndexMap;
00170 
00176   TXSTD::map<int,int> plot3dIndexMap;
00177 
00181   TXSTD::vector<TXSTD::string> plotLabel;
00182 
00186   TXSTD::vector<QPoint> plotPos;
00187 
00191   TXSTD::vector<int> plotWidth;
00192 
00196   TXSTD::vector<int> plotHeight;
00197 
00198 signals:
00199  
00204   void close2dSignal(int windex);
00205 
00210   void close3dSignal(int windex);
00211 
00215   void stopModelSignal();
00216 
00220   void startModelSignal();
00221 
00222 public slots:
00223 
00229   void remove2dWindow(int index);
00230 
00236   void remove3dWindow(int index);
00237 
00241   void stopModel();
00242 
00246   void startModel();
00247 
00248 protected:
00249 
00255   virtual void remove2dWindow(int i, int wi);
00256 
00262   virtual void remove3dWindow(int i, int wi);
00263 
00267   virtual void readConfig();
00268 
00276   virtual void appendData(int index, int flag, TXSTD::string label, int type);
00277 
00284   virtual int getType(int index) =0; 
00285 
00290   virtual TXSTD::string getLabel(int index) =0;
00291 
00296   virtual int getOpenFlag(int index) =0;
00297 
00302   virtual int getModelState() =0;
00303 
00308   virtual void appendAuxData(int index) {}
00309 
00315   virtual Txq2dFrame* create2dWindow(int index, int pltIndex); 
00316 
00322   virtual Txq3dFrame* create3dWindow(int index, int pltIndex);
00323 
00327   int numberOfWindows;
00328 
00332   QString inputFileName;
00333  
00334 private:
00335 
00344   int getOption(const TxAttributeSet &config, TXSTD::string optionName);
00345 
00351   void appendNewData(int index, int flag, TXSTD::string label, int type);
00352 
00356   void updateGeometry();
00357 
00361   int indexNumber;
00362 
00366   int plot2dIndexNumber;
00367 
00371   int plot3dIndexNumber;
00372 
00376   int numberOfOpenPlotWindows;
00377 
00381   int sx, sy;
00382 
00386   QString configFileName;
00387 
00391   TxHierAttribSet *configSet;
00392 
00396   bool haveConfig;
00397   
00398 };
00399 
00400 
00401 #endif
Copyright Tech-X Corporation, all rights reserved.