mainwindow.h
102 lines
| 3.6 KiB
| text/x-c
|
CLexer
/ src / mainwindow.h
Jeandet Alexis
|
r0 | /*------------------------------------------------------------------------------ | ||
-- This file is a part of the SocExplorer Software | ||||
Jeandet Alexis
|
r13 | -- Copyright (C) 2011, Plasma Physics Laboratory - CNRS | ||
Jeandet Alexis
|
r0 | -- | ||
-- This program is free software; you can redistribute it and/or modify | ||||
-- it under the terms of the GNU General Public License as published by | ||||
-- the Free Software Foundation; either version 2 of the License, or | ||||
-- (at your option) any later version. | ||||
-- | ||||
-- This program is distributed in the hope that it will be useful, | ||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
-- GNU General Public License for more details. | ||||
-- | ||||
-- You should have received a copy of the GNU General Public License | ||||
-- along with this program; if not, write to the Free Software | ||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||||
-------------------------------------------------------------------------------*/ | ||||
/*-- Author : Alexis Jeandet | ||||
-- Mail : alexis.jeandet@lpp.polytechnique.fr | ||||
----------------------------------------------------------------------------*/ | ||||
#ifndef MAINWINDOW_H | ||||
#define MAINWINDOW_H | ||||
#include <QMainWindow> | ||||
#include <QApplication> | ||||
#include <QVBoxLayout> | ||||
#include <QIcon> | ||||
#include <QMenuBar> | ||||
#include <QMenu> | ||||
#include <QAction> | ||||
#include <QDockWidget> | ||||
#include <QTranslator> | ||||
#include <QSplitter> | ||||
#include "dockablepluginmanager.h" | ||||
#include <socexplorerproxy.h> | ||||
#include "PyWdgt/pythonconsole.h" | ||||
#include "aboutsocexplorer.h" | ||||
#include "toolbar.h" | ||||
#include "regsExplorer/regsexplorer.h" | ||||
r91 | #include "socexplorergui.h" | |||
Jeandet Alexis
|
r92 | #include "sessionmanagerdialog.h" | ||
Jeandet Alexis
|
r0 | |||
Jeandet Alexis
|
r13 | class SocExplorerMainWindow : public QMainWindow | ||
Jeandet Alexis
|
r0 | { | ||
Q_OBJECT | ||||
Jeandet Alexis
|
r94 | |||
Jeandet Alexis
|
r0 | public: | ||
Jeandet Alexis
|
r13 | SocExplorerMainWindow(QString ScriptToEval,QWidget *parent = 0); | ||
~SocExplorerMainWindow(); | ||||
Jeandet Alexis
|
r92 | QAction* Quit,*LoadPlugin,*ManagePlugins,*help,*regsManager,*exploreRegs,*about,*translateAction,*sessionManagerAction; | ||
Jeandet Alexis
|
r95 | QActionGroup*sessionsActions; | ||
Jeandet Alexis
|
r0 | QActionGroup*langActionGrp; | ||
r91 | QMenu* FileMenu,*SettingsMenu,*PluginsMenu,*ToolsMenu,*langMenu,*helpMenu,*SessionsMenu; | |||
Jeandet Alexis
|
r0 | QTranslator* appTranslator; | ||
void createLangMenu(); | ||||
void closeEvent(QCloseEvent *event); | ||||
toolBar* toolpane; | ||||
public slots: | ||||
void launchPluginManager(); | ||||
void addPluginInterface(QDockWidget* plugin); | ||||
Jeandet Alexis
|
r12 | void removePluginInterface(QDockWidget* plugin); | ||
Jeandet Alexis
|
r0 | void clearMenu(); | ||
void updateText(); | ||||
void setLangage(QAction* action); | ||||
void showAboutBox(); | ||||
r10 | void pluginselected(const QString& instanceName); | |||
Jeandet Alexis
|
r94 | void setActiveSession(const QString & session); | ||
Jeandet Alexis
|
r95 | void setActiveSession(QAction* session); | ||
Jeandet Alexis
|
r94 | void showSessionManager(bool); | ||
r97 | void renameSession(const QString& oldName,const QString& newName); | |||
void addSession(const QString& newSession); | ||||
void removeSession(const QString& session); | ||||
Jeandet Alexis
|
r0 | signals: | ||
void translateSig(); | ||||
void registerObject(QObject* object,const QString& instanceName); | ||||
private: | ||||
void makeObjects(QString ScriptToEval); | ||||
void makeLayout(); | ||||
void makeConnections(); | ||||
void makeMenu(); | ||||
r91 | void loadSessions(); | |||
Jeandet Alexis
|
r94 | void savePlugins(); | ||
void saveCurrentSession(); | ||||
void loadCurrentSession(); | ||||
Jeandet Alexis
|
r0 | QMainWindow* pluginsDockContainer; | ||
QSplitter* mainWidget; | ||||
PythonConsole* PythonConsoleInst; | ||||
dockablePluginManager* pluginManager; | ||||
r79 | RegsExplorer* regExplorer; | |||
Jeandet Alexis
|
r0 | aboutsocexplorer* p_about; | ||
Jeandet Alexis
|
r12 | QList<QDockWidget*>* p_pluginGUIlist; | ||
r91 | QStringList p_Sessions; | |||
Jeandet Alexis
|
r94 | QString p_currentSession; | ||
Jeandet Alexis
|
r92 | SessionManagerDialog* p_SessionManagerDialog; | ||
Jeandet Alexis
|
r0 | }; | ||
#endif // MAINWINDOW_H | ||||