X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Operation.h;h=b3b3d7bc486a04de6d1fc39bf35781ac5d759b97;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=5388d34b5b95aea64561291efcbe5a3acf025ed0;hpb=bb5100f265f0cbdb3671912fbbcdbebb77e2f834;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Operation.h b/src/HYDROGUI/HYDROGUI_Operation.h index 5388d34b..b3b3d7bc 100644 --- a/src/HYDROGUI/HYDROGUI_Operation.h +++ b/src/HYDROGUI/HYDROGUI_Operation.h @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// Copyright (C) 2014-2015 EDF-R&D // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -25,9 +21,15 @@ #include +#include + class HYDROGUI_Module; class HYDROGUI_InputPanel; +class HYDROGUI_Shape; + class SUIT_SelectionMgr; +class OCCViewer_ViewManager; + class Handle_HYDROData_Document; class Handle_HYDROData_Object; @@ -49,6 +51,9 @@ public: SUIT_SelectionMgr* selectionMgr() const; HYDROGUI_Module* module() const; + int getPreviewZLayer() const; + virtual void updatePreviewZLayer( int theLayer ); + signals: void helpContextModule( const QString&, const QString&, @@ -58,12 +63,14 @@ protected: virtual void startOperation(); virtual void abortOperation(); virtual void commitOperation(); + virtual void stopOperation(); virtual void setDialogActive( const bool ); virtual HYDROGUI_InputPanel* createInputPanel() const; virtual void closeInputPanel(); - virtual bool processApply( int& theUpdateFlags, QString& theErrorMsg ); + virtual bool processApply( int& theUpdateFlags, QString& theErrorMsg, + QStringList& theBrowseObjectsEntries ); virtual void processCancel(); void startDocOperation(); @@ -77,8 +84,12 @@ protected: void printErrorMessage( const QString& theErrorMsg ); void setPrintErrorMessage( const bool theIsPrint ); + void browseObjects( const QStringList& theBrowseObjectsEntries, + const bool theIsApplyAndClose = true ); + protected slots: + virtual void onApplyAndClose(); virtual void onApply(); virtual void onCancel(); virtual void onHelp(); @@ -89,12 +100,49 @@ protected: QString getHelpFile() const; QString getHelpContext() const; + virtual void setPreviewZLayer( int theLayer ); + virtual HYDROGUI_Shape* getPreviewShape() const; + OCCViewer_ViewManager* getPreviewManager(); + void setPreviewManager( OCCViewer_ViewManager* theManager ); + + /** + * Set specific cursor chosen in preferences for edition operations. + */ + virtual void setCursor(); + /** + * Restore the default cursor. + */ + virtual void restoreCursor(); + + /** + * Set flag indicating, if 'Apply and Close' button is clicked on input panel. + * @param theFlag a flag value to be set + */ + virtual void setIsApplyAndClose( const bool theFlag ); + /** + * Get flag indicating, if 'Apply and Close' button is clicked on input panel. + * \return a flag value + */ + virtual bool isApplyAndClose() const; + + /** + * Apply changes done by this operation. + */ + virtual void apply(); + private: HYDROGUI_Module* myModule; HYDROGUI_InputPanel* myPanel; + OCCViewer_ViewManager* myPreviewManager; QString myName; bool myIsPrintErrorMessage; + bool myIsTransactionOpened; + int myPreviewZLayer; + + QCursor myCursor; + + bool myIsApplyAndClose; }; #endif