kame.h
1 /***************************************************************************
2  Copyright (C) 2002-2015 Kentaro Kitagawa
3  kitagawa@phys.s.u-tokyo.ac.jp
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 
10  You should have received a copy of the GNU Library General
11  Public License and a list of authors along with this program;
12  see the files COPYING and AUTHORS.
13  ***************************************************************************/
14 #ifndef KAME_H
15 #define KAME_H
16 
17 #include "support.h"
18 #include "xnodeconnector.h"
19 #include <QMainWindow>
20 
21 class Ui_FrmRecordReader;
23 class Ui_FrmGraphList;
25 class Ui_FrmCalTable;
27 class Ui_FrmInterface;
29 class Ui_FrmDriver;
31 class Ui_FrmEntry;
33 class Ui_FrmSequence;
35 class Ui_FrmNodeBrowser;
37 class QTimer;
38 class QAction;
39 class QMenu;
40 class XMeasure;
41 class XRubyThread;
42 class QMdiArea;
43 class QMdiSubWindow;
44 
45 /*! Main window widget of KAME.
46  * use \a g_pFrmMain to access this.
47  * \sa g_pFrmMain
48  */
49 class FrmKameMain : public QMainWindow {
50  Q_OBJECT
51 public:
52  FrmKameMain();
53  ~FrmKameMain();
54 
55  QMenu *m_pFileMenu;
56  QMenu *m_pMeasureMenu;
57  QMenu *m_pScriptMenu;
58  QMenu *m_pViewMenu;
59  QMenu *m_pHelpMenu;
60  QAction* m_pFileOpenAction;
61  QAction* m_pFileSaveAction;
62  QAction* m_pFileExitAction;
63  QAction* m_pHelpContentsAction;
64  QAction* m_pHelpIndexAction;
65  QAction* m_pHelpAboutAction;
66  QAction* m_pFileLogAction;
67  // QAction* m_pMesRunAction;
68  QAction* m_pMesStopAction;
69  QAction* m_pScriptRunAction;
70  QAction* m_pScriptLineShellAction;
71  QAction* m_pScriptDotSaveAction;
72  QAction* m_pFileCloseAction;
73 
74  FrmRecordReader *m_pFrmRecordReader;
75  FrmGraphList *m_pFrmGraphList;
76  FrmCalTable *m_pFrmCalTable;
77  FrmInterface *m_pFrmInterface;
78  FrmDriver *m_pFrmDriver;
79  FrmEntry *m_pFrmScalarEntry;
80  FrmNodeBrowser *m_pFrmNodeBrowser;
81 
82  int openMes(const XString &filename);
83 public slots:
84 virtual void fileCloseAction_activated();
85 virtual void fileExitAction_activated();
86 virtual void fileOpenAction_activated();
87 virtual void fileSaveAction_activated();
88 virtual void helpAboutAction_activated();
89 virtual void helpContentsAction_activated();
90 virtual void helpIndexAction_activated();
91 // virtual void mesRunAction_activated();
92 virtual void mesStopAction_activated();
93 virtual void scriptRunAction_activated();
94 virtual void scriptLineShellAction_activated();
95 virtual void scriptDotSaveAction_activated();
96 virtual void fileLogAction_toggled( bool var );
97 protected slots:
98 virtual void aboutToQuit();
99 virtual void processSignals();
100 private:
101  void createActions();
102  void createMenus();
103  QMdiSubWindow* addDockableWindow(QMdiArea *area, QWidget *widget, bool closable);
104  QMdiArea *m_pMdiCentral, *m_pMdiLeft, *m_pMdiRight;
105  void closeEvent( QCloseEvent* ce );
106  shared_ptr<XRubyThread> runNewScript(const XString &label, const XString &filename);
107  QTimer *m_pTimer;
108  shared_ptr<XMeasure> m_measure;
109  xqcon_ptr m_conMeasRubyThread;
110  std::deque<xqcon_ptr> m_conRubyThreadList;
111 };
112 
113 #endif /*KAME_H*/

Generated for KAME4 by  doxygen 1.8.3