-#include <QLineEdit>
-void PartSet_OperationSketch::mouseReleased(QMouseEvent* theEvent, Handle_V3d_View theView,
- const std::list<XGUI_ViewerPrs>& theSelected,
- const std::list<XGUI_ViewerPrs>& theHighlighted)
-{
- if (!hasSketchPlane()) {
- }
- else {
- if (!theSelected.empty()) {
- XGUI_ViewerPrs aPrs = theSelected.front();
- if (!aPrs.owner().IsNull()) {
- Handle(AIS_DimensionOwner) anOwner = Handle(AIS_DimensionOwner)::DownCast(aPrs.owner());
- if (!anOwner.IsNull() && anOwner->SelectionMode() == AIS_DSM_Text) {
- Handle(SelectMgr_SelectableObject) anObject = anOwner->Selectable();
- double aValue = 0;
- if (!anObject.IsNull()) {
- Handle(AIS_LengthDimension) aLenDim = Handle(AIS_LengthDimension)::DownCast(anObject);
- if (!aLenDim.IsNull())
- aValue = aLenDim->GetValue();
- }
-
- QLineEdit* aLine = new QLineEdit();
- QPoint aViewPos = theEvent->globalPos();
- QPoint aLinePos(aViewPos.x(), aViewPos.y());
- aLine->move(aLinePos);
- aLine->setText(QString::number(aValue));
- aLine->show();
- }
- }
+ } else {
+ if (!theHighlighted.empty()) {
+ ModuleBase_ViewerPrs aPrs = theHighlighted.front();
+ const TopoDS_Shape& aShape = aPrs.shape();
+ if (!aShape.IsNull())
+ setSketchPlane(aShape);