27 #ifndef LIGHTAPP_APPLICATION_H
28 #define LIGHTAPP_APPLICATION_H
41 #include <QStringList>
45 #ifndef DISABLE_PYCONSOLE
46 class PyConsole_Console;
49 class LightApp_WidgetContainer;
68 #pragma warning( disable:4251 )
82 #ifndef DISABLE_PYCONSOLE
89 enum { MenuWindowId = 6 };
95 NewQxSceneViewId, NewGraphicsViewId, NewPVViewId, NewPyViewerId, NewPV3DViewId, StyleId,
FullScreenId,
96 WebSiteId,
ForumId, VideosId, TutorialsId,
100 enum { NewStudyId = 1, OpenStudyId };
119 #ifndef DISABLE_PYCONSOLE
120 PyConsole_Console* pythonConsole(
const bool force =
false);
123 virtual void updateObjectBrowser(
const bool =
true );
129 virtual QString
getFileName(
bool open,
const QString& initial,
const QString& filters,
130 const QString& caption,
QWidget* parent );
131 virtual QString
getDirectory(
const QString& initial,
const QString& caption,
QWidget* parent );
132 virtual QStringList getOpenFileNames(
const QString& initial,
const QString& filters,
133 const QString& caption,
QWidget* parent );
135 void updateActions();
140 virtual SUIT_ViewManager* createViewManager(
const QString& vmType,
bool detached =
false );
144 QWidget* getWindow(
const int );
145 QWidget* dockWindow(
const int )
const;
146 void removeDockWindow(
const int );
147 void insertDockWindow(
const int,
QWidget* );
148 void placeDockWindow(
const int, Qt::DockWidgetArea );
150 virtual void start();
161 void setDefaultStudyName(
const QString& theName );
163 virtual bool event(
QEvent* );
170 QStringList viewManagersTypes()
const;
173 virtual void clearKnownViewManagers();
175 virtual QString browseObjects(
const QStringList& theEntryList,
176 const bool theIsApplyAndClose =
true,
177 const bool theIsOptimizedBrowsing =
false );
181 virtual bool renameAllowed(
const QString& )
const;
182 virtual bool renameObject(
const QString&,
const QString& );
184 void emitOperationFinished(
const QString&,
const QString&,
const QStringList& );
189 void updatePresentations(
const QString& theComponent,
190 const QStringList& theViewManagerTypes );
192 virtual bool checkExistingDoc(
bool =
true );
194 #ifndef DISABLE_PYCONSOLE
208 virtual void onHelpContentsModule();
209 virtual void onHelpContextModule(
const QString&,
const QString&,
const QString& = QString() );
214 virtual bool onOpenDoc(
const QString& );
217 virtual void onSelectionChanged();
218 virtual void onDockWindowVisibilityChanged(
bool );
221 void showHelp(
const QString& );
225 virtual void createActionForViewer(
const int id,
227 const QString& suffix,
230 virtual QWidget* createWindow(
const int );
231 virtual void defaultWindows( QMap<int, int>& )
const;
232 void defaultViewManagers( QStringList& )
const;
237 virtual bool canOpenDoc(
const QString& );
247 virtual void preferencesChanged(
const QString&,
const QString& );
252 virtual QMap<int, QString> activateModuleActions()
const;
253 virtual void moduleActionSelected(
const int );
255 #ifndef DISABLE_PYCONSOLE
267 virtual void onModuleActivation(
const QString& );
269 void onExtRemoving(
const QString& );
270 void onShowExtInfo();
278 void onWCDestroyed(
QObject* );
280 void onMRUActivated(
const QString& );
282 void onStylePreferences();
285 virtual void onDesktopMessage(
const QString& );
287 virtual void onInfoPanelShown();
293 void onPreferences();
294 void onPreferenceChanged( QString&, QString&, QString& );
295 void onRenameWindow();
296 void onCloseWindow();
297 void onCloseAllWindow();
298 void onGroupAllWindow();
303 void updateWindows();
304 void updateViewManagers();
305 void updateModuleActions();
309 void loadDockWindowsState();
310 void saveDockWindowsState();
318 QString defaultModule()
const;
319 virtual void currentWindows( QMap<int, int>& )
const;
320 void currentViewManagers( QStringList& )
const;
321 QPixmap
moduleIcon(
const QString&,
const int = -1 )
const;
324 QByteArray dockWindowsState(
const QMap<QString, bool>&,
const QMap<QString, bool>& )
const;
325 void dockWindowsState(
const QByteArray&, QMap<QString, bool>&, QMap<QString, bool>& )
const;
328 virtual bool openAction(
const int,
const QString& );
330 void showPreferences(
const QString& = QString() );
331 void showPreferences(
const QStringList& );
334 bool addUserModule(
const QString&,
const QString&,
bool =
false );
336 void emptyPreferences(
const QString& );
338 void createHelpItems(
const QString& );
339 void removeHelpItems(
const QString& );
340 void updateSalomeApprc();
342 QByteArray processState(QByteArray& input,
343 const bool processWin,
344 const bool processTb,
345 const bool isRestoring,
346 QByteArray defaultState = QByteArray());
351 typedef QMap<QString, QByteArray>
WinVis;
354 typedef QMap<QString, IdList>
IdMap;
379 #pragma warning( default:4251 )
#define LIGHTAPP_EXPORT
Definition: LightApp.h:36
void LightAppCleanUpAppResources()
Definition: LightApp_Application.cxx:273
QList< SUIT_DataObject * > DataObjectList
Definition: SALOME_PYQT_PyModule.h:45
@ WT_ObjectBrowser
Definition: SalomePyQt.h:89
@ WT_User
Definition: SalomePyQt.h:95
Introduces an application class which provides modular architecture.
Definition: CAM_Application.h:39
virtual void moduleAdded(CAM_Module *)
Callback function, called when the module is added to the application.
Definition: CAM_Application.cxx:634
virtual CAM_Module * loadModule(const QString &, const bool=true)
Load module modName.
Definition: CAM_Application.cxx:306
virtual bool activateModule(const QString &)
Activate module modName.
Definition: CAM_Application.cxx:419
virtual void beforeCloseDoc(SUIT_Study *)
Prepare application to study closing.
Definition: CAM_Application.cxx:594
virtual void contextMenuPopup(const QString &, QMenu *, QString &)
Add common menu items to the popup menu.
Definition: CAM_Application.cxx:944
virtual void moduleDeactivated(CAM_Module *)
Callback function, called when the module is just deactivated.
Definition: CAM_Application.cxx:646
virtual void createEmptyStudy()
Create new empty study.
Definition: CAM_Application.cxx:954
virtual void afterCloseDoc()
Definition: CAM_Application.cxx:600
virtual SUIT_Study * createNewStudy()
Create new study.
Definition: CAM_Application.cxx:571
virtual void setActiveStudy(SUIT_Study *)
Set active study.
Definition: CAM_Application.cxx:608
static QString moduleIcon(const QString &)
Get module icon name.
Definition: CAM_Application.cxx:687
virtual void updateCommandsStatus()
Update menu commands status.
Definition: CAM_Application.cxx:579
virtual bool checkModule(const QString &)
Check module availability.
Definition: CAM_Application.cxx:621
virtual void start()
Start an application.
Definition: CAM_Application.cxx:136
Base implementation of the module in the CAM application architecture.
Definition: CAM_Module.h:53
Definition: LightApp_Application.h:76
static LightApp_Preferences * _prefs_
Definition: LightApp_Application.h:371
QMap< QString, IdList > IdMap
Definition: LightApp_Application.h:354
virtual void addCatalogue(const QString &, const QString &)
Definition: LightApp_Application.h:259
void operationFinished(const QString &, const QString &, const QStringList &)
LightApp_Preferences * myPrefs
Definition: LightApp_Application.h:359
QTimer * myAutoSaveTimer
Definition: LightApp_Application.h:369
SUIT_Accel * myAccel
Definition: LightApp_Application.h:368
QMap< QString, QByteArray > WinGeom
Definition: LightApp_Application.h:352
WinVis myWinVis
Definition: LightApp_Application.h:365
LightApp_SelectionMgr * mySelMgr
Definition: LightApp_Application.h:360
WinMap myWin
Definition: LightApp_Application.h:364
void updatePreference(const QString &, const QString &, const QString &)
void moduleActivated(const QString &)
void preferenceResetToDefaults()
@ WT_InfoPanel
Definition: LightApp_Application.h:81
@ WT_PyConsole
Definition: LightApp_Application.h:83
@ WT_LogWindow
Definition: LightApp_Application.h:85
LightApp_FullScreenHelper * myScreenHelper
Definition: LightApp_Application.h:362
BrowsePolicy
Definition: LightApp_Application.h:102
QStringList myUserWmTypes
Definition: LightApp_Application.h:373
void preferenceChanged(const QString &, const QString &, const QString &)
@ CloseAllId
Definition: LightApp_Application.h:92
@ ForumId
Definition: LightApp_Application.h:96
@ FullScreenId
Definition: LightApp_Application.h:95
@ ModulesListId
Definition: LightApp_Application.h:93
@ NewGLViewId
Definition: LightApp_Application.h:94
QMap< int, WinPtr > WinMap
Definition: LightApp_Application.h:350
QList< int > IdList
Definition: LightApp_Application.h:353
QPointer< QWidget > WinPtr
Definition: LightApp_Application.h:349
QMap< QString, QByteArray > WinVis
Definition: LightApp_Application.h:351
IdMap myHelpItems
Definition: LightApp_Application.h:366
Base data object class to build the data model for all the SALOME modules.
Definition: LightApp_DataObject.h:36
Definition: LightApp_FullScreenHelper.h:37
An action, representing the list of modules to be inserted to the toolbar.
Definition: LightApp_ModuleAction.h:39
Definition: LightApp_Preferences.h:43
Definition: LightApp_SelectionMgr.h:53
Widget, displaying log messages.
Definition: LogWindow.h:55
For more information see QT documentation.
Definition: SUIT_Application.h:42
Info panel which allows presenting welcome, useful hints and other information dynamically,...
Definition: QtxInfoPanel.h:37
virtual void studyCreated(SUIT_Study *)
Definition: STD_Application.cxx:1058
virtual QString getFileFilter(bool open) const
Definition: STD_Application.cxx:949
virtual QString getFileName(bool open, const QString &initial, const QString &filters, const QString &caption, QWidget *parent)
Definition: STD_Application.cxx:955
virtual void addViewManager(SUIT_ViewManager *)
Definition: STD_Application.cxx:830
virtual void loadPreferences()
Definition: STD_Application.cxx:1043
virtual bool openAction(const int, const QString &)
Definition: STD_Application.cxx:530
virtual QString applicationName() const
Definition: STD_Application.cxx:82
virtual void customize()
Definition: STD_Application.cxx:277
virtual void updateDesktopTitle()
Definition: STD_Application.cxx:692
virtual void onOpenDoc()
Definition: STD_Application.cxx:326
virtual void closeApplication()
Definition: STD_Application.cxx:105
virtual void savePreferences()
Definition: STD_Application.cxx:1050
virtual int openChoice(const QString &)
Definition: STD_Application.cxx:519
virtual void onNewDoc()
Definition: STD_Application.cxx:282
virtual void onCopy()
Definition: STD_Application.cxx:656
@ OpenExist
Definition: STD_Application.h:152
QString getDirectory(const QString &initial, const QString &caption, QWidget *parent)
Definition: STD_Application.cxx:1018
virtual void onHelpAbout()
Definition: STD_Application.cxx:905
virtual void createActions()
Definition: STD_Application.cxx:148
@ UserID
Definition: STD_Application.h:63
virtual void onPaste()
Definition: STD_Application.cxx:661
virtual void setDesktop(SUIT_Desktop *)
Definition: STD_Application.cxx:1030
virtual void studySaved(SUIT_Study *)
Definition: STD_Application.cxx:1078
virtual void studyOpened(SUIT_Study *)
Definition: STD_Application.cxx:1068
virtual void removeViewManager(SUIT_ViewManager *)
Definition: STD_Application.cxx:851
Manager of keyboard accelerator bindings.
Definition: SUIT_Accel.h:35
virtual void onDesktopActivated()
Definition: SUIT_Application.cxx:725
virtual QString applicationVersion() const
Definition: SUIT_Application.cxx:120
virtual void onHelpContextModule(const QString &, const QString &, const QString &=QString())
Definition: SUIT_Application.cxx:740
Object browser customization.
Definition: SUIT_DataBrowser.h:34
Data object representing the data instance in the tree-like hierarchy.
Definition: SUIT_DataObject.h:49
Definition: SUIT_TreeModel.h:46
virtual SUIT_DataObject * findObject(const QString &) const =0
Definition: SUIT_Desktop.h:47
Definition: SUIT_Study.h:41
Definition: SUIT_ViewManager.h:50
Definition: SUIT_ViewModel.h:47
Definition: SUIT_ViewWindow.h:42