X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLightApp%2FLightApp_Application.h;h=cb2102e1977519d6a6cbee1ba89ae6dd65f777bb;hb=5d44d2f6ea60a50bbbc593f2b45a6075fe9e5154;hp=8e402d9fa00dfd9ab6a9c66de3c31f0d06b6ec18;hpb=8d986a56d8745aba15e2241a252c02bf30b53999;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_Application.h b/src/LightApp/LightApp_Application.h index 8e402d9fa..cb2102e19 100644 --- a/src/LightApp/LightApp_Application.h +++ b/src/LightApp/LightApp_Application.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -36,10 +36,12 @@ #include #include +#include #include #include class LogWindow; +class QtxInfoPanel; #ifndef DISABLE_PYCONSOLE class PyConsole_Console; class PyConsole_Interp; @@ -49,6 +51,7 @@ class LightApp_Preferences; class LightApp_SelectionMgr; class LightApp_FullScreenHelper; class LightApp_DataObject; +class LightApp_ModuleAction; class SUIT_DataBrowser; class SUIT_Study; class SUIT_Accel; @@ -75,6 +78,7 @@ class LIGHTAPP_EXPORT LightApp_Application : public CAM_Application, public SUIT public: typedef enum { WT_ObjectBrowser, + WT_InfoPanel, #ifndef DISABLE_PYCONSOLE WT_PyConsole, #endif @@ -88,7 +92,8 @@ public: CloseId, CloseAllId, GroupAllId, PreferencesId, MRUId, ModulesListId, NewGLViewId, NewPlot2dId, NewOCCViewId, NewVTKViewId, - NewQxSceneViewId, NewGraphicsViewId, NewPVViewId, NewPyViewerId, StyleId, FullScreenId, + NewQxSceneViewId, NewGraphicsViewId, NewPVViewId, NewPyViewerId, NewPV3DViewId, StyleId, FullScreenId, + WebSiteId, ForumId, VideosId, TutorialsId, UserID }; protected: @@ -110,6 +115,7 @@ public: LogWindow* logWindow(); SUIT_DataBrowser* objectBrowser(); + QtxInfoPanel* infoPanel(); #ifndef DISABLE_PYCONSOLE PyConsole_Console* pythonConsole(const bool force = false); #endif @@ -178,15 +184,19 @@ public: void emitOperationFinished( const QString&, const QString&, const QStringList& ); void updateVisibilityState( DataObjectList& theList, - SUIT_ViewModel* theViewModel ); + SUIT_ViewModel* theViewModel ); - virtual bool checkExistingDoc(); + void updatePresentations( const QString& theComponent, + const QStringList& theViewManagerTypes ); + + virtual bool checkExistingDoc( bool = true ); #ifndef DISABLE_PYCONSOLE PyConsole_Interp* getPyInterp(); #endif signals: + void moduleActivated( const QString& ); void studyOpened(); void studySaved(); void studyClosed(); @@ -196,7 +206,6 @@ signals: public slots: virtual void onHelpContentsModule(); - virtual void onHelpOnline(); virtual void onHelpContextModule( const QString&, const QString&, const QString& = QString() ); virtual void onNewDoc(); virtual void onOpenDoc(); @@ -209,7 +218,10 @@ public slots: virtual void onDockWindowVisibilityChanged( bool ); protected: + void showHelp( const QString& ); virtual void createActions(); + virtual void addExtensionsActions(LightApp_ModuleAction* moduleAction); + virtual void customize(); virtual void createActionForViewer( const int id, const int parentId, const QString& suffix, @@ -222,9 +234,12 @@ protected: virtual void setActiveStudy( SUIT_Study* ); virtual void updateCommandsStatus(); + virtual bool canOpenDoc( const QString& ); + virtual void beforeCloseDoc( SUIT_Study* ); virtual void afterCloseDoc(); virtual void moduleAdded( CAM_Module* ); + virtual void moduleDeactivated( CAM_Module* ); virtual bool activateModule( CAM_Module* = 0 ); LightApp_Preferences* preferences( const bool ) const; @@ -241,6 +256,8 @@ protected: virtual PyConsole_Interp* createPyInterp(); #endif + virtual void addCatalogue( const QString&, const QString& ) {} + protected slots: virtual void onDesktopActivated(); virtual void onViewManagerRemoved( SUIT_ViewManager* ); @@ -248,6 +265,9 @@ protected slots: void onNewWindow(); virtual void onModuleActivation( const QString& ); + void onExtAdding(); + void onExtRemoving( const QString& ); + void onShowExtInfo(); void onCloseView( SUIT_ViewManager* ); virtual void onStudyCreated( SUIT_Study* ); @@ -264,6 +284,8 @@ protected slots: virtual void onDesktopMessage( const QString& ); + virtual void onInfoPanelShown(); + private slots: void onSelection(); void onRefresh(); @@ -281,7 +303,6 @@ protected: void updateWindows(); void updateViewManagers(); void updateModuleActions(); - void removeModuleAction( const QString& ); bool checkModule( const QString& ); @@ -297,7 +318,7 @@ protected: QString defaultModule() const; virtual void currentWindows( QMap& ) const; void currentViewManagers( QStringList& ) const; - void moduleIconNames( QMap& ) const; + QPixmap moduleIcon( const QString&, const int = -1 ) const; QDockWidget* windowDock( QWidget* ) const; QByteArray dockWindowsState( const QMap&, const QMap& ) const; @@ -307,22 +328,29 @@ protected: virtual bool openAction( const int, const QString& ); void showPreferences( const QString& = QString() ); + void showPreferences( const QStringList& ); private: + bool addUserModule( const QString&, const QString&, bool = false ); + void removeUserModule(const QString& moduleInnerName, LightApp_ModuleAction* moduleAction); void emptyPreferences( const QString& ); QList findToolBars( const QStringList& names = QStringList() ); - - QByteArray processState(QByteArray& input, - const bool processWin, - const bool processTb, - const bool isRestoring, - QByteArray defaultState = QByteArray()); + void createHelpItems( const QString& ); + void removeHelpItems( const QString& ); + + QByteArray processState(QByteArray& input, + const bool processWin, + const bool processTb, + const bool isRestoring, + QByteArray defaultState = QByteArray()); protected: - typedef QPointer WinPtr; - typedef QMap WinMap; - typedef QMap WinVis; - typedef QMap WinGeom; + typedef QPointer WinPtr; + typedef QMap WinMap; + typedef QMap WinVis; + typedef QMap WinGeom; + typedef QList IdList; + typedef QMap IdMap; enum { OpenReload = CAM_Application::OpenExist + 1 }; @@ -334,6 +362,7 @@ protected: WinMap myWin; WinVis myWinVis; + IdMap myHelpItems; SUIT_Accel* myAccel; QTimer* myAutoSaveTimer;