X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Operation.h;h=b3b3d7bc486a04de6d1fc39bf35781ac5d759b97;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=5f03771882d62d67c2e17693979404af6cd4410e;hpb=43fce0c79196b05197b76ba4cad50776dba86ddb;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Operation.h b/src/HYDROGUI/HYDROGUI_Operation.h index 5f037718..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,8 +21,11 @@ #include +#include + class HYDROGUI_Module; class HYDROGUI_InputPanel; +class HYDROGUI_Shape; class SUIT_SelectionMgr; class OCCViewer_ViewManager; @@ -53,7 +52,7 @@ public: HYDROGUI_Module* module() const; int getPreviewZLayer() const; - virtual void updatePreviewZLayer( int theLayer ) {}; + virtual void updatePreviewZLayer( int theLayer ); signals: void helpContextModule( const QString&, @@ -70,7 +69,8 @@ protected: 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(); @@ -84,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(); @@ -97,9 +101,35 @@ protected: 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; @@ -107,7 +137,12 @@ private: OCCViewer_ViewManager* myPreviewManager; QString myName; bool myIsPrintErrorMessage; + bool myIsTransactionOpened; int myPreviewZLayer; + + QCursor myCursor; + + bool myIsApplyAndClose; }; #endif