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.