00001 //-------------------------------------------------------------------- 00002 // 00003 // File: TxqFrame.h 00004 // 00005 // Purpose: Implementation of a Qt Widget to create a base window 00006 // for scientific plotting. 00007 // 00008 // Version: $Id: TxqFrame.h,v 1.33 2002/01/14 23:47:23 kgl Exp $ 00009 // 00010 // Copyright (c) 2000 by Tech-X Corporation. All rights reserved. 00011 // 00012 // Author: Kelly G. Luetkemeyer 00013 // 00014 //-------------------------------------------------------------------- 00015 00016 #ifndef TXQFRAME_H 00017 #define TXQFRAME_H 00018 00019 #ifndef QT_ALTERNATE_QTSMANIP 00020 #define QT_ALTERNATE_QTSMANIP 00021 #endif 00022 00023 // config include 00024 #if defined(HAVE_CONFIG_H) 00025 #include <config.h> 00026 #endif 00027 00028 // Qt includes 00029 #include <qapp.h> 00030 #include <qwidget.h> 00031 #include <qframe.h> 00032 #include <qmenubar.h> 00033 #include <qpopmenu.h> 00034 #include <qpushbt.h> 00035 #include <qmsgbox.h> 00036 #include <qlayout.h> 00037 #include <qevent.h> 00038 #include <qwindowsstyle.h> 00039 #include <qplatinumstyle.h> 00040 #include <qmotifstyle.h> 00041 #include <qcdestyle.h> 00042 #include <qprinter.h> 00043 #include <qfiledialog.h> 00044 #include <qclipboard.h> 00045 #include <qtextstream.h> 00046 #include <qstatusbar.h> 00047 00060 class TxqFrame : public QFrame 00061 { 00062 Q_OBJECT 00063 00064 public: 00065 00076 TxqFrame(QWidget* parent=0, const char *nm=0, WFlags f=WType_TopLevel); 00077 00081 virtual ~TxqFrame(); 00082 00088 virtual void addToMenuBar(const QString & text, QPopupMenu * popup); 00089 00096 virtual void addWidget(QWidget *w); 00097 00107 virtual void addWidget(QWidget *w, int row, int col); 00108 00121 virtual void addWidget(QWidget *w, int fromRow, int toRow, int fromCol, int toCol); 00122 00129 virtual void addHWidget(QWidget *w); 00130 00136 virtual void addWidgets(); 00137 00141 virtual void show(); 00142 00146 bool activate(); 00147 00152 void setName(QString name); 00153 00158 virtual void setName(const char *nm) { 00159 QString s=nm; 00160 setName(s); 00161 } 00162 00168 virtual void setDestructClose(bool f); 00169 00174 virtual void setIndex(const int index); 00175 00180 virtual int getIndex(); 00181 00182 signals: 00183 00188 void aboutToClose(int index); 00189 00190 public slots: 00191 00196 virtual void polish(); 00197 00201 virtual bool close( bool forceKill = true) ; 00202 00203 protected: 00204 00208 virtual void createWidgets(); 00209 00213 void createStatusBar(); 00214 00218 void createMenuBar(); 00219 00223 virtual void addFileMenuItems(); 00224 00228 virtual void addCloseMenuItem(); 00229 00233 virtual void addIconifyMenuItem(); 00234 00238 virtual void addSaveAsMenuItem(); 00239 00243 virtual void addDumpMenuItem(); 00244 00248 virtual void addPrintMenuItem(); 00249 00253 void addPrintPreviewMenuItem(); 00254 00258 virtual void addExitMenuItem(); 00259 00263 virtual void addEditMenuItems(); 00264 00268 virtual void addCutCopyPasteMenuItems(); 00269 00273 virtual void addStyleMenuItems(); 00274 00278 virtual void addStyleMenuItem(); 00279 00283 virtual void addViewMenuItems(); 00284 00288 virtual void addMenuBarItems(); 00289 00295 virtual void addSubMenuBarItems(); 00296 00300 void closeEvent( QCloseEvent* event); 00301 00305 QMenuBar* getMenuBar() {return menuBar;} 00306 00307 // protected data 00311 QMenuBar *menuBar; 00312 00316 QStatusBar *statusBar; 00317 00321 QPopupMenu *file; 00322 00326 QPopupMenu *edit; 00327 00331 QPopupMenu *view; 00332 00336 QPopupMenu *style; 00337 00341 QBoxLayout *topLayout; 00342 00346 QGridLayout *layout; 00347 00351 int sPlatinum; 00355 int sWindows; 00359 int sCDE; 00363 int sMotif; 00364 00368 bool isPrint; 00369 00373 QPrinter *printer; 00374 00378 QString saveFileName; 00379 00383 QString dumpDataFileName; 00384 00388 bool dumpDataFlag; 00389 00393 QTextStream *ts; 00394 00398 QFile *dumpfile; 00399 00404 QString selFilter; 00405 00409 int vGridNumber; 00410 00414 int hGridNumber; 00415 00420 bool destructClose; 00421 00422 protected slots: 00423 00428 virtual void dumpData(); 00429 00433 virtual void saveAs(); 00434 00438 virtual void print(); 00439 00443 virtual void printPreview(); 00444 00448 virtual bool exit(); 00449 00453 bool iconify( bool forceKill = FALSE) ; 00454 00458 virtual bool copy(); 00459 00463 virtual bool cut(); 00464 00468 virtual bool paste(); 00469 00473 virtual void motifStyle(); 00474 00478 virtual void windowsStyle(); 00479 00483 virtual void cdeStyle(); 00484 00488 void platinumStyle(); 00489 00490 private: 00491 00495 void selectStyleMenu( int ); 00496 00500 QString clipText; 00501 00505 int indexNumber; 00506 00507 }; 00508 00509 00510 #endif
Copyright Tech-X Corporation, all rights reserved.