HYDROGUI_PrsImage::HYDROGUI_PrsImage( const Handle(HYDROData_Object)& theObject )
: HYDROGUI_Prs( theObject ),
myPixmapItem( 0 ),
+ myCaptionItem( 0 ),
myPrsImageFrame( 0 ),
myIsTransformationPointPreview( false ),
- myTransformationPointMode( None )
+ myTransformationPointType( None )
{
myTransformationPointCursor = new QCursor( Qt::CrossCursor );
}
return myImage;
}
+//================================================================
+// Function : setCaption
+// Purpose :
+//================================================================
+void HYDROGUI_PrsImage::setCaption( const QString& theCaption )
+{
+ if( myCaptionItem )
+ {
+ myCaptionItem->setText( theCaption );
+ myCaptionItem->setVisible( !theCaption.isEmpty() );
+ }
+}
+
+//================================================================
+// Function : getCaption
+// Purpose :
+//================================================================
+QString HYDROGUI_PrsImage::getCaption() const
+{
+ if( myCaptionItem )
+ return myCaptionItem->text();
+ return QString();
+}
+
//================================================================
// Function : setIsTransformationPointPreview
// Purpose :
}
//================================================================
-// Function : setTransformationPointMode
+// Function : setTransformationPointType
// Purpose :
//================================================================
-void HYDROGUI_PrsImage::setTransformationPointMode( const int theMode )
+void HYDROGUI_PrsImage::setTransformationPointType( const int thePointType )
{
- myTransformationPointMode = theMode;
- if( theMode != None )
+ myTransformationPointType = thePointType;
+ if( thePointType != None )
computeTransformationPoints();
}
computeTransformationPoints();
}
+//================================================================
+// Function : updateTransformationPoint
+// Purpose :
+//================================================================
+void HYDROGUI_PrsImage::updateTransformationPoint( const int thePointType,
+ const bool theIsY,
+ const int theValue )
+{
+ if( myTransformationPointMap.find( thePointType ) != myTransformationPointMap.end() )
+ {
+ TransformationPoint& aTransformationPoint = myTransformationPointMap[ thePointType ];
+ QPoint& aPoint = aTransformationPoint.Point;
+ theIsY ? aPoint.setY( theValue ) : aPoint.setX( theValue );
+ computeTransformationPoints();
+ }
+}
+
//================================================================
// Function : boundingRect
// Purpose :
myPixmapItem = new QGraphicsPixmapItem( this );
addToGroup( myPixmapItem );
}
+ if( !myCaptionItem )
+ {
+ myCaptionItem = new QGraphicsSimpleTextItem( this );
+
+ QFont aFont = myCaptionItem->font();
+ aFont.setPointSize( 14 );
+ myCaptionItem->setFont( aFont );
+
+ addToGroup( myCaptionItem );
+ }
if( !myPrsImageFrame )
{
myPrsImageFrame = new HYDROGUI_PrsImageFrame( this );
addToGroup( myPrsImageFrame );
}
+
myPixmapItem->setPixmap( QPixmap::fromImage( myImage ) );
+
+ myCaptionItem->setPos( 0, -30 );
+ myCaptionItem->setVisible( false );
+
myPrsImageFrame->compute();
}
{
if( myIsTransformationPointPreview )
{
- if( myTransformationPointMode != None )
+ if( myTransformationPointType != None )
theCursor = *getTransformationPointCursor();
}
else
{
if( myIsTransformationPointPreview )
{
- if( myTransformationPointMode == None || !theRect.isEmpty() )
+ if( myTransformationPointType == None || !theRect.isEmpty() )
return false;
- TransformationPoint& aTransformationPoint = myTransformationPointMap[ myTransformationPointMode ];
- aTransformationPoint.Point = QPoint( (int)theX, (int)theY );
+ QPoint aPos = pos().toPoint();
+
+ TransformationPoint& aTransformationPoint = myTransformationPointMap[ myTransformationPointType ];
+ aTransformationPoint.Point = QPoint( (int)theX, (int)theY ) - aPos;
computeTransformationPoints();
return true;
}