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

TxqConfigFrame.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------
00002 //
00003 // File:    TxqConfigFrame.h
00004 //
00005 // Purpose: Implementation of a window to control the model
00006 //
00007 // Version: $Id: TxqConfigFrame.h,v 1.16 2002/04/09 17:12:19 kgl Exp $
00008 //
00009 // Copyright (c) 2000 by Tech-X Corporation.  All rights reserved.
00010 //
00011 // Author:  Kelly G. Luetkemeyer
00012 //
00013 //--------------------------------------------------------------------
00014 
00015 #ifndef TXQ_CONFIG_FRAME_H
00016 #define TXQ_CONFIG_FRAME_H
00017 
00018 // model defines
00019 #include <TxModelDefines.h>
00020  
00021 // Txmath includes
00022 #include <TxAttributeSet.h>
00023 #include <TxHierAttribSet.h>
00024 
00025 // Txq includes
00026 #include <TxqMasterIoFrame.h>
00027 #include <TxqSciNumberPattern.h>
00028 #include <TxqSciNumberFormat.h>
00029 #include <TxqListDlog.h>
00030 #include "Txq2dPlotFrame.h"
00031 
00032 // Qt includes
00033 #include <qinputdialog.h>
00034 
00053 class TxqConfigFrame : public TxqMasterIoFrame
00054 {
00055   Q_OBJECT
00056 
00057 public:
00058 
00069   TxqConfigFrame(QWidget* parent=0, const char *nm=0, WFlags f = WType_TopLevel);
00070 
00074   virtual ~TxqConfigFrame();
00075 
00076 
00081   void setGeometryAttrib(TxAttributeSet *window);
00082 
00087   QRect getGeometry();
00088 
00093   void readConfig( QString filename );
00094 
00099   void writeConfig( QString filename );
00100 
00105   void setFileName(const QString &name);
00106 
00111   QString getFileName();
00112 
00118   QString getInputFileName();
00119 
00124   void getConfigFileName(QString filename);
00125 
00129   void setInitialState();
00130 
00135   void updateTimeLabel(const QString &label);
00136 
00140   void destroy();
00141 
00145   void destroy(bool t, bool tt) {QWidget::destroy(t,tt);}
00146 
00157   virtual void setViewMenuItems( vector<TxAttributeSet*> menuItems, 
00158                          vector<TxAttributeSet*> dataAttribs);
00159 
00167   virtual void setEditMenuItems( vector<TxAttributeSet*> menuItems);
00168 
00176   virtual void setParamsMenuItems( vector<TxAttributeSet*> menuItems);
00177 
00182    void setFileNameExt(QString ext);
00183 
00189   void setDefaultDir(QString dirName);
00190 
00196   void setLocation(Txq2dPlotFrame *window, TxAttributeSet *attrib);
00197 
00204   void copyAttrib(TxAttributeSet *from, TxAttributeSet *to);
00205 
00209   void saveGeometry();
00210 
00214   void enableOpenMenu();
00215 
00219   void disableOpenMenu();
00220 
00221 public slots:
00222 
00228   virtual void startBrowser(const QString &home, const QString &title);
00229 
00233   virtual void startHtmlBrowser();
00234 
00238   void startModel();
00239 
00243   void restartModel();
00244 
00248   void openInputFile();
00249 
00253   void openInputTextFile();
00254 
00258   void saveConfigFile();
00259 
00265   void doViewWindow(int number);
00266 
00272   void doListWindow(int number);
00273 
00279   void doListItemWindow(int number);
00280 
00290   void doListItemViewWindow(int number) {doListItemWindow(number + viewListIdBegin);}
00291 
00301   void doListItemEditWindow(int number) {doListItemWindow(number + editListIdBegin);}
00302 
00312   void doListItemParamsWindow(int number) {doListItemWindow(number + paramsListIdBegin);}
00313 
00319   void doEditWindow(int number);
00320 
00324   void closeWindow(int number);
00325 
00329   virtual void cancelEditEditor();
00330 
00334   virtual void revertEditAttrib();
00335 
00339   virtual void applyEditAttrib();
00340 
00344   virtual void applyCloseEditAttrib();
00345 
00351   void getWindowId(int number);
00352 
00353 signals:
00354 
00358   void closeAllWindows();
00359 
00364   void closeWindowSignal(int index);
00365 
00369   void restartEvent();
00370 
00374   void startEvent();
00375 
00380   void updateModelAttribute(TxAttributeSet *attrib);
00381 
00387   void updateViewAttribs(TxAttributeSet *viewAttrib, TxAttributeSet *dataAttrib);
00388 
00389 protected:
00390 
00395   virtual void initialize();
00396 
00400   void createWindowAttribSet();
00401 
00405   void createSaveMenu();
00406 
00410   void createOpenMenu();
00411 
00415   virtual void createWidgets();
00416 
00422   void addViewOptions();
00423 
00427   void addFileMenuItems();
00428 
00432   void addParamsMenuItems();
00433 
00437   virtual void addHelpMenuItems();
00438 
00442   virtual void addMenuBarItems();
00443 
00449   virtual void addSubMenuBarItems();
00450 
00459   virtual void addAttribMenus( vector<TxAttributeSet*> &menuItems,
00460                                TXSTD::map<QString, QPopupMenu*> &menuMap,
00461                                QPopupMenu *thisMenu );
00462 
00478   virtual void addListMenus( vector<TxAttributeSet*> &menuItems,
00479                              TXSTD::map<int, TxqListDlog*> &menuListMap,
00480                              TXSTD::map<QString, TxqListDlog*> &menuListNameMap,
00481                              TXSTD::map<QString, int> &menuListIdMap,
00482                              TXSTD::map<QString, QPopupMenu*> &menuMap,
00483                              QPopupMenu *thisMenu );
00484 
00499   virtual void addEditAttribMenuItems( vector<TxAttributeSet*> &menuItems,
00500                                        TXSTD::map<QString, QPopupMenu*> &menuMap,
00501                                        TXSTD::map<int, TxAttributeSet*> &attribMap,
00502                                        TXSTD::map<QString, int> &listIdMap);
00503 
00508   void moveEvent( QMoveEvent *event);
00509 
00514   void resizeEvent( QResizeEvent *event);
00515 
00519   void addOpenMenuItems();
00520 
00524   void addEditMenuItems();
00525 
00529   void addSaveMenuItems();
00530 
00534   QPopupMenu *openMenu;
00535 
00539   QPopupMenu *saveMenu;
00540 
00544   QString fileName;
00545 
00549   QString saveConfigFileName;
00550 
00554   QString baseName;
00555 
00559   QString fileNameExt;
00560 
00564   QString defaultDirName;
00565 
00569   QString openFileNameExts;
00570 
00574   vector<QString> fileNameExts;
00575 
00579   int modelState;
00580 
00585   TXSTD::map<int, TxAttributeSet*> viewAttribMap;
00586 
00591   TXSTD::map<int, TxAttributeSet*> editAttribMap;
00592 
00597   TXSTD::map<int, TxAttributeSet*> viewAttribDataMap;
00598 
00603   TXSTD::map<QString, QPopupMenu*> viewMenuMap;
00604 
00609   TXSTD::map<int, TxqListDlog*> listMap;
00610 
00615   TXSTD::map<QString, TxqListDlog*> listNameMap;
00616 
00621   // TXSTD::map<QString, int> listIdMap;
00622   TXSTD::map<QString, int> viewListIdMap;
00623   TXSTD::map<QString, int> editListIdMap;
00624   TXSTD::map<QString, int> paramsListIdMap;
00625 
00630   TXSTD::map<int, int> listItemIdMap;
00631 
00636   TXSTD::map<QString, QPopupMenu*> editMenuMap;
00637 
00642   TXSTD::map<QString, QPopupMenu*> paramsMenuMap;
00643 
00648   TXSTD::map<int, QString> masterListIdMap;
00649 
00653   TxAttributeSet *modelWindow;
00654 
00659   TxHierAttribSet *configSet;
00660 
00664   int defaultX;
00665 
00669   int defaultY;
00670 
00674   int defaultW;
00675 
00679   int defaultH;
00680 
00685   vector<string> viewOptionAttribs;
00686 
00691   vector<string> viewStringAttribs;
00692 
00697   vector<string> viewNewOptionAttribs;
00698 
00703   vector<string> viewNewStringAttribs;
00704 
00708   bool checkWindowOpen;
00709 
00713   bool checkEditWindowOpen;
00714 
00718   bool fixX11Flag;
00719 
00723   int masterListId;
00724 
00728   TXSTD::vector<int> listWindowId;
00729 
00733   int listId;
00734 
00740   int editListIdBegin;
00741 
00747   int editListIdEnd;
00748 
00754   int viewListIdBegin;
00755 
00761   int viewListIdEnd;
00762 
00768   int paramsListIdBegin;
00769 
00775   int paramsListIdEnd;
00776 
00777 private:
00778 
00779 };
00780 
00781 
00782 #endif
Copyright Tech-X Corporation, all rights reserved.