X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_PrsImage.h;h=1fafe35416c0a4d346e0a3d0509d68cda199d00a;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=3f78316c95a2883545b2e627648f92682e38eccd;hpb=859543b7cf29f1d56c1dc1aaf4811b22b7b0bf16;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_PrsImage.h b/src/HYDROGUI/HYDROGUI_PrsImage.h index 3f78316c..1fafe354 100644 --- a/src/HYDROGUI/HYDROGUI_PrsImage.h +++ b/src/HYDROGUI/HYDROGUI_PrsImage.h @@ -37,25 +37,33 @@ public: enum TransformationPointType { None = 0, PointA, PointB, PointC }; struct TransformationPoint { - QPoint Point; - QString Caption; - QGraphicsEllipseItem* PointItem; - QGraphicsSimpleTextItem* CaptionItem; + TransformationPoint() : Point( 0, 0 ), Caption( "" ), GroupItem( 0 ) {} + + QPoint Point; + QString Caption; + QGraphicsItemGroup* GroupItem; }; typedef QMap < int, TransformationPoint > TransformationPointMap; typedef QMapIterator< int, TransformationPoint > TransformationPointMapIterator; public: - HYDROGUI_PrsImage( const Handle(HYDROData_Object)& theObject ); + HYDROGUI_PrsImage( const Handle(HYDROData_Entity)& theObject ); 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 ); + QString getCaption() const; + void setIsTransformationPointPreview( const bool theState ); bool getIsTransformationPointPreview() const; + void setIsByTwoPoints( const bool theIsByTwoPoints ); + bool getIsByTwoPoints() const; + void setTransformationPointType( const int thePointType ); void setTransformationPointMap( const TransformationPointMap& theMap ); @@ -84,7 +92,20 @@ 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. + */ + void updateTrsfPoint( const int thePointType ); protected: QCursor* getTransformationPointCursor() const { return myTransformationPointCursor; } @@ -93,9 +114,11 @@ protected: QImage myImage; QGraphicsPixmapItem* myPixmapItem; + QGraphicsSimpleTextItem* myCaptionItem; HYDROGUI_PrsImageFrame* myPrsImageFrame; bool myIsTransformationPointPreview; + bool myIsByTwoPoints; int myTransformationPointType; TransformationPointMap myTransformationPointMap;