X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FVTKViewer%2FVTKViewer_ViewModel.h;h=c5b872abe49a8166b20dc631917c19897965ca87;hb=refs%2Fheads%2Fngr%2Fpython3_dev_pv5.4;hp=fe54aa291cb2eae7c59f096e0f35310dcd7fa017;hpb=0be39b934a6050f16fcf52cd0f97631b4c1c94a9;p=modules%2Fgui.git diff --git a/src/VTKViewer/VTKViewer_ViewModel.h b/src/VTKViewer/VTKViewer_ViewModel.h index fe54aa291..c5b872abe 100755 --- a/src/VTKViewer/VTKViewer_ViewModel.h +++ b/src/VTKViewer/VTKViewer_ViewModel.h @@ -1,9 +1,36 @@ +// Copyright (C) 2007-2016 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 +// +// 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, 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 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + #ifndef VTKVIEWER_VIEWMODEL_H #define VTKVIEWER_VIEWMODEL_H #include "VTKViewer.h" +#include "Qtx.h" #include "SUIT_ViewModel.h" +#include + +class QMouseEvent; + class SUIT_ViewWindow; class SUIT_Desktop; @@ -12,7 +39,22 @@ class VTKVIEWER_EXPORT VTKViewer_Viewer: public SUIT_ViewModel Q_OBJECT public: - static QString Type() { return "VTKViewer"; } + /*! supported gradient types */ + enum { + HorizontalGradient, + VerticalGradient, + FirstDiagonalGradient, + SecondDiagonalGradient, + FirstCornerGradient, + SecondCornerGradient, + ThirdCornerGradient, + FourthCornerGradient, + LastGradient = FourthCornerGradient, + }; + + /*!Initialize type of viewer.*/ + static QString Type() { return "VTKViewer"; } + static QString backgroundData( QStringList&, QIntList&, QIntList& ); VTKViewer_Viewer(); virtual ~VTKViewer_Viewer(); @@ -20,33 +62,42 @@ public: virtual SUIT_ViewWindow* createView(SUIT_Desktop* theDesktop); virtual void setViewManager(SUIT_ViewManager* theViewManager); - virtual void contextMenuPopup( QPopupMenu* ); + virtual void contextMenuPopup( QMenu* ); + /*!Gets type of viewer.*/ virtual QString getType() const { return Type(); } public: - void enableSelection(bool isEnabled); - bool isSelectionEnabled() const { return mySelectionEnabled; } + void enableSelection(bool isEnabled); + /*!Checks: is selection enabled*/ + bool isSelectionEnabled() const { return mySelectionEnabled; } + + void enableMultiselection(bool isEnable); + /*!Checks: is multi selection enabled*/ + bool isMultiSelectionEnabled() const { return myMultiSelectionEnabled; } - void enableMultiselection(bool isEnable); - bool isMultiSelectionEnabled() const { return myMultiSelectionEnabled; } + int getSelectionCount() const; - int getSelectionCount() const; + QColor backgroundColor() const; // obsolete + void setBackgroundColor( const QColor& ); // obsolete + Qtx::BackgroundData background() const; + void setBackground( const Qtx::BackgroundData& ); signals: - void selectionChanged(); + void selectionChanged(); protected slots: - void onMousePress(SUIT_ViewWindow*, QMouseEvent*); - void onMouseMove(SUIT_ViewWindow*, QMouseEvent*); - void onMouseRelease(SUIT_ViewWindow*, QMouseEvent*); + void onMousePress( SUIT_ViewWindow*, QMouseEvent* ); + void onMouseMove( SUIT_ViewWindow*, QMouseEvent* ); + void onMouseRelease( SUIT_ViewWindow*, QMouseEvent* ); - void onDumpView(); - void onShowToolbar(); - void onChangeBgColor(); + void onDumpView(); + void onShowToolbar(); + void onChangeBackground(); private: - bool mySelectionEnabled; - bool myMultiSelectionEnabled; + Qtx::BackgroundData myDefaultBackground; + bool mySelectionEnabled; + bool myMultiSelectionEnabled; }; #endif