2007-09-21 17:13:11 +00:00
|
|
|
#ifndef QET_APP_H
|
|
|
|
#define QET_APP_H
|
|
|
|
#include <QApplication>
|
|
|
|
#include <QTranslator>
|
|
|
|
#include <QtGui>
|
|
|
|
class QETDiagramEditor;
|
|
|
|
class QETElementEditor;
|
|
|
|
/**
|
|
|
|
Cette classe represente l'application QElectroTech.
|
|
|
|
|
|
|
|
*/
|
|
|
|
class QETApp : public QApplication {
|
|
|
|
Q_OBJECT
|
|
|
|
// constructeurs, destructeur
|
|
|
|
public:
|
|
|
|
QETApp(int &, char **);
|
|
|
|
virtual ~QETApp();
|
|
|
|
|
|
|
|
private:
|
|
|
|
QETApp(const QETApp &);
|
|
|
|
|
|
|
|
// methodes
|
|
|
|
public:
|
|
|
|
void setLanguage(const QString &);
|
2007-10-28 01:32:57 +00:00
|
|
|
static void printHelp();
|
|
|
|
static void printVersion();
|
|
|
|
static void printLicense();
|
2007-09-21 17:13:11 +00:00
|
|
|
|
|
|
|
static QString commonElementsDir();
|
|
|
|
static QString customElementsDir();
|
|
|
|
static QString configDir();
|
|
|
|
static QString languagesPath();
|
2007-10-04 20:34:29 +00:00
|
|
|
static QString realPath(const QString &);
|
|
|
|
static QString symbolicPath(const QString &);
|
|
|
|
#ifdef QET_ALLOW_OVERRIDE_CED_OPTION
|
|
|
|
static void overrideCommonElementsDir(const QString &);
|
|
|
|
private:
|
|
|
|
static QString common_elements_dir;
|
|
|
|
#endif
|
2007-10-10 17:50:26 +00:00
|
|
|
protected:
|
|
|
|
bool event(QEvent *);
|
2007-09-21 17:13:11 +00:00
|
|
|
|
|
|
|
// attributs
|
|
|
|
private:
|
|
|
|
QTranslator qtTranslator;
|
|
|
|
QTranslator qetTranslator;
|
|
|
|
QSystemTrayIcon *qsti;
|
|
|
|
QMenu *menu_systray;
|
2007-09-22 13:27:14 +00:00
|
|
|
QAction *quitter_qet;
|
2007-09-21 17:13:11 +00:00
|
|
|
QAction *reduce_appli;
|
|
|
|
QAction *restore_appli;
|
2007-09-22 13:27:14 +00:00
|
|
|
QAction *reduce_diagrams;
|
|
|
|
QAction *restore_diagrams;
|
|
|
|
QAction *reduce_elements;
|
|
|
|
QAction *restore_elements;
|
|
|
|
QAction *new_diagram;
|
|
|
|
QAction *new_element;
|
2007-09-21 17:13:11 +00:00
|
|
|
QHash<QMainWindow *, QByteArray> window_geometries;
|
|
|
|
QHash<QMainWindow *, QByteArray> window_states;
|
2007-09-21 18:07:05 +00:00
|
|
|
bool every_editor_reduced;
|
2007-09-22 13:27:14 +00:00
|
|
|
bool every_diagram_reduced;
|
|
|
|
bool every_diagram_visible;
|
|
|
|
bool every_element_reduced;
|
|
|
|
bool every_element_visible;
|
|
|
|
QSignalMapper signal_map;
|
2007-09-21 17:13:11 +00:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
void systray(QSystemTrayIcon::ActivationReason);
|
2007-09-22 13:27:14 +00:00
|
|
|
void reduceEveryEditor();
|
|
|
|
void restoreEveryEditor();
|
|
|
|
void reduceDiagramEditors();
|
|
|
|
void restoreDiagramEditors();
|
|
|
|
void reduceElementEditors();
|
|
|
|
void restoreElementEditors();
|
|
|
|
void newDiagramEditor();
|
|
|
|
void newElementEditor();
|
2007-10-04 12:19:01 +00:00
|
|
|
bool closeEveryEditor();
|
2007-09-22 13:27:14 +00:00
|
|
|
void setMainWindowVisible(QMainWindow *, bool);
|
|
|
|
void invertMainWindowVisibility(QWidget *);
|
2007-10-04 12:19:01 +00:00
|
|
|
void quitQET();
|
|
|
|
void checkRemainingWindows();
|
2007-09-21 17:13:11 +00:00
|
|
|
|
|
|
|
// methodes privees
|
|
|
|
private slots:
|
|
|
|
void cleanup();
|
|
|
|
|
|
|
|
private:
|
|
|
|
QList<QETDiagramEditor *> diagramEditors() const;
|
|
|
|
QList<QETElementEditor *> elementEditors() const;
|
2007-09-21 18:59:43 +00:00
|
|
|
QList<QWidget *> floatingToolbarsAndDocksForMainWindow(QMainWindow *) const;
|
2007-09-22 13:27:14 +00:00
|
|
|
void buildSystemTrayMenu();
|
|
|
|
void fetchWindowStats(const QList<QETDiagramEditor *> &diagrams, const QList<QETElementEditor *> &elements);
|
2007-09-21 17:13:11 +00:00
|
|
|
};
|
2007-10-30 14:00:11 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Cette classe represente le style de QElectroTech
|
|
|
|
Il s'agit de modifications simples appliquees aux styles communs de Qt
|
|
|
|
*/
|
|
|
|
class QETStyle : public QPlastiqueStyle {
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
QETStyle();
|
|
|
|
virtual ~QETStyle();
|
|
|
|
virtual int styleHint(StyleHint hint, const QStyleOption * = 0, const QWidget * = 0, QStyleHintReturn * = 0) const;
|
|
|
|
|
|
|
|
protected slots:
|
|
|
|
virtual QIcon standardIconImplementation(StandardPixmap, const QStyleOption * = 0, const QWidget * = 0) const;
|
|
|
|
};
|
2007-09-21 17:13:11 +00:00
|
|
|
#endif
|