00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef MAINWINDOW_H
00027 #define MAINWINDOW_H
00028
00029 #include <QtCore/QVariant>
00030 #include <QtGui/QAction>
00031 #include <QtGui/QApplication>
00032 #include <QtGui/QButtonGroup>
00033 #include <QtGui/QDockWidget>
00034 #include <QtGui/QMainWindow>
00035 #include <QtGui/QMenu>
00036 #include <QtGui/QMenuBar>
00037 #include <QtGui/QStatusBar>
00038 #include <QtGui/QTabWidget>
00039 #include <QtGui/QTextEdit>
00040 #include <QtGui/QToolBar>
00041 #include <QtGui/QTreeWidget>
00042 #include <QtGui/QWidget>
00043
00044 #include "qocccontroller.h"
00045 #include "qoccframe.h"
00046 #include "qocc3dwidget.h"
00047 #include "qoccinputoutput.h"
00048
00049 class QAction;
00050 class QLabel;
00051 class QMenu;
00052
00053 class QOCC_DECLSPEC QoccMainWindow : public QMainWindow
00054 {
00055 Q_OBJECT
00056
00057 public:
00058
00059 QoccMainWindow();
00060 ~QoccMainWindow() {};
00061
00062 signals:
00063 void fileOpening();
00064 void fileOpened();
00065
00066 private slots:
00067 void fileNew();
00068 void fileOpen();
00069 void fileSave();
00070 void filePrint();
00071 void fileClose();
00072
00073 void undo();
00074 void redo();
00075 void cut();
00076 void copy();
00077 void paste();
00078 void about();
00079 void bottle();
00080 void aboutQt();
00081
00082
00083
00084 void statusMessage (const QString aMessage);
00085
00086 void selectNeutralPoint( void );
00087 void selectVertices( void );
00088 void selectEdges( void );
00089 void selectWires( void );
00090 void selectFaces( void );
00091 void selectShells( void );
00092 void selectSolids( void );
00093 void selectCompSolids( void );
00094 void selectCompounds( void );
00095 void selectShapes( void );
00096
00097 void circleCentre( void );
00098 void line2Pt( void );
00099 void vertex( void );
00100 void cancelDraw( void );
00101
00102 private:
00103 QAction* createAction( const QString& caption,
00104 const QString& shortcut,
00105 const QString& tip,
00106 const char* slot,
00107 const QObject* target = NULL);
00108
00109 void createActions( void );
00110 void createMenus( void );
00111 void createToolBars( void );
00112
00113 QMenu *fileMenu;
00114 QMenu *editMenu;
00115 QMenu *drawMenu;
00116 QMenu *viewMenu;
00117 QMenu *viewActionsMenu;
00118 QMenu *viewDisplayMenu;
00119 QMenu *formatMenu;
00120 QMenu *helpMenu;
00121 QMenu *gridMenu;
00122 QMenu *selectMenu;
00123
00124 QAction *newAction;
00125 QAction *openAction;
00126 QAction *saveAction;
00127 QAction *printAction;
00128 QAction *exitAction;
00129 QAction *undoAction;
00130 QAction *redoAction;
00131 QAction *cutAction;
00132 QAction *copyAction;
00133 QAction *pasteAction;
00134 QAction *aboutAction;
00135
00136 QAction *fitAction;
00137 QAction *fitAllAction;
00138 QAction *zoomAction;
00139 QAction *panAction;
00140 QAction *rotAction;
00141
00142 QAction *gridXYAction;
00143 QAction *gridXZAction;
00144 QAction *gridYZAction;
00145 QAction *gridOnAction;
00146 QAction *gridOffAction;
00147 QAction *gridRectAction;
00148 QAction *gridCircAction;
00149
00150 QAction *viewFrontAction;
00151 QAction *viewBackAction;
00152 QAction *viewTopAction;
00153 QAction *viewBottomAction;
00154 QAction *viewLeftAction;
00155 QAction *viewRightAction;
00156 QAction *viewAxoAction;
00157 QAction *viewResetAction;
00158 QAction *viewGridAction;
00159
00160 QAction *selectNeutralAction;
00161 QAction *selectCompoundAction;
00162 QAction *selectCompSolidAction;
00163 QAction *selectSolidAction;
00164 QAction *selectShellAction;
00165 QAction *selectFaceAction;
00166 QAction *selectWireAction;
00167 QAction *selectEdgeAction;
00168 QAction *selectVertexAction;
00169 QAction *selectShapeAction;
00170
00171 QAction *pointAction;
00172 QAction *circle2PtAction;
00173 QAction *line2PtAction;
00174 QAction *cancelDrawAction;
00175
00176 QAction *backgroundAction;
00177
00178 QAction *aboutQtAction;
00179
00180
00181 QAction *bottleAction;
00182 QoccController* myController;
00183
00184 QTabBar* myTabBar;
00185 QTabWidget* myTabWidget;
00186 QWidget* myTab;
00187
00188 QoccFrame* mySketchFrame;
00189 QoccFrame* myGeometryFrame;
00190 QoccFrame* myAssemblyFrame;
00191 QoccFrame* myMeshFrame;
00192
00193 QToolBar* drawToolBar;
00194
00195 QString myLastFolder;
00196
00197 };
00198
00199 #endif
00200