Version: 9.16.0
SUIT_Desktop.h
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23#ifndef SUIT_DESKTOP_H
24#define SUIT_DESKTOP_H
25
26#include "SUIT.h"
27
28#include <QList>
29#include <QEvent>
30
31#include <QtxMainWindow.h>
32
33class QMovie;
34
35class QtxLogoMgr;
38
39class SUIT_ViewWindow;
40
47{
48 Q_OBJECT
49
50 class ReparentEvent;
51
52 enum { Reparent = QEvent::User };
53
54public:
56 virtual ~SUIT_Desktop();
57
58 QtxActionMenuMgr* menuMgr() const;
59 QtxActionToolMgr* toolMgr() const;
60 QtxLogoMgr* logoMgr() const;
61
62 virtual SUIT_ViewWindow* activeWindow() const = 0;
63 virtual void setActiveWindow(SUIT_ViewWindow*);
64 virtual QList<SUIT_ViewWindow*> windows() const = 0;
65
66 int logoCount() const;
67
68 void logoClear();
69 void logoRemove( const QString& );
70 void logoInsert( const QString&, QMovie*, const int = -1 );
71 void logoInsert( const QString&, const QPixmap&, const int = -1 );
72
73 void emitActivated();
74 void emitMessage( const QString& );
75
76signals:
77 void activated();
79// void moved();
81 void closing( SUIT_Desktop*, QCloseEvent* );
82 void message( const QString& );
83
84protected:
85 virtual bool event( QEvent* );
86 virtual void customEvent( QEvent* );
87 virtual void closeEvent( QCloseEvent* );
88 virtual void childEvent( QChildEvent* );
89
90 virtual void addWindow( QWidget* ) = 0;
91
92private:
96};
97
98#endif
#define SUIT_EXPORT
Definition: SUIT.h:36
Main menu actions manager.
Definition: QtxActionMenuMgr.h:43
Toolbar actions manager.
Definition: QtxActionToolMgr.h:44
Provides a way to install logo pictures to the application main window.
Definition: QtxLogoMgr.h:43
Enhanced main window which supports dockable menubar and status bar plus geometry saving/restoring.
Definition: QtxMainWindow.h:35
virtual bool event(QEvent *)
Definition: QtxMainWindow.cxx:569
Definition: SUIT_Desktop.cxx:43
Definition: SUIT_Desktop.h:47
void message(const QString &)
void closing(SUIT_Desktop *, QCloseEvent *)
void windowActivated(SUIT_ViewWindow *)
QtxActionMenuMgr * myMenuMgr
Definition: SUIT_Desktop.h:93
void activated()
QtxLogoMgr * myLogoMgr
Definition: SUIT_Desktop.h:95
virtual void addWindow(QWidget *)=0
virtual QList< SUIT_ViewWindow * > windows() const =0
QtxActionToolMgr * myToolMgr
Definition: SUIT_Desktop.h:94
void deactivated()
virtual SUIT_ViewWindow * activeWindow() const =0
Definition: SUIT_ViewWindow.h:42