Salome HOME
refs #1278: by default objects in study are not expanded
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_PrsImage.h
index f01115208cb747d1d7260f8c6a1c864553eff288..f926178fdfcb8b57959d04365b1d17eab7855838 100644 (file)
@@ -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
@@ -37,6 +33,8 @@ public:
   enum TransformationPointType { None = 0, PointA, PointB, PointC };
   struct TransformationPoint
   {
+    TransformationPoint() : Point( 0, 0 ), Caption( "" ), GroupItem( 0 ) {}
+
     QPoint              Point;
     QString             Caption;
     QGraphicsItemGroup* GroupItem;
@@ -49,7 +47,8 @@ public:
   virtual ~HYDROGUI_PrsImage();
 
 public:
-  void                            setImage( const QImage& theImage );
+  void                            setImage( const QImage& theImage,
+                                            const bool theCompute = false );
   QImage                          getImage() const;
 
   void                            setCaption( const QString& theCaption );
@@ -70,6 +69,12 @@ public:
                                                              const bool theIsY,
                                                              const int theValue );
 
+  /**
+   * Set shape of the transformation point cursor.
+   * @param theCursorShape a cursor shape to be set
+   */
+  void                            setTransformationPointCursorShape(Qt::CursorShape theCursorShape);
+
 public:
   // from QGraphicsItem
   virtual QRectF                  boundingRect() const;
@@ -89,7 +94,16 @@ public:
   virtual void                    setSelected( bool theState );
 
 protected:
-  void                            computeTransformationPoints();
+  void                            computeTransformationPoints( const bool theObligatoryInit = false );
+
+  QGraphicsItemGroup*             createPointItem( const QString& theCaption,
+                                                   const QColor& theColor );
+
+  /**
+   * Create presentations for transformation points A, B and C or update the presentation
+   * parameters if it is already created
+   */
+  void                            initTrsfPoints( const int thePointType );
   /**
    * Show/hide a transformation point if necessary.
    */