Version: 9.16.0
MeasureGUI_ManageDimensionsDlg.h
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// GEOM GEOMGUI : GUI for Geometry component
24// File : MeasureGUI_ManageDimensionsDlg.h
25// Author : Anton POLETAEV, Open CASCADE S.A.S.
26//
27#ifndef MEASUREGUI_MANAGEDIMENSIONSDLG_H
28#define MEASUREGUI_MANAGEDIMENSIONSDLG_H
29
30#include <GEOMBase_Skeleton.h>
32#include "MeasureGUI_Widgets.h"
34
35class DlgRef_1Sel;
36class QTreeWidget;
37class QPushButton;
38class SOCC_Viewer;
40
41//=================================================================================
42// class : MeasureGUI_ManageDimensionsDlg
43// purpose : The dialog provides interactive management of measurement
44// dimension presentations and the "dimension" property state of
45// GEOM shape objects.
46//=================================================================================
48{
49 Q_OBJECT
50
51public:
54
55protected:
57 {
61 };
62
63/* User event logics */
64protected slots:
66 void StartSelection( const Selection theSelection );
67 void StopSelection();
68 void OnSelection();
69 void SelectionIntoArgument( const Selection theSelection );
70 void OnAdd();
71 void OnRemove();
72 void OnChangeItem( QTreeWidgetItem* theItem );
73 void OnSelectItem();
74 void OnShowAll();
75 void OnHideAll();
76 void OnInteractionFinished( Handle_AIS_InteractiveObject theIO );
77 void Suspend();
78 void Resume();
79 void ClickOnOk();
80 virtual void ClickOnCancel();
81 bool ClickOnApply();
82 void OnFinish();
85 void OnDimensionAdded();
86
87
88/* Utils */
89private:
90 void SetEditObject( const GEOM::GeomObjPtr& );
91 void RestoreState();
92 void PopulateList();
93 bool HasUnsavedChanges();
97 int IdFromItem( QTreeWidgetItem* theItem );
98 int IdFromPrs( const Handle(AIS_InteractiveObject)& theAIS );
99 void SelectInList( const Handle(AIS_InteractiveObject)& theIO );
100 void SelectInList( const int theId );
101 void SelectInViewer( SOCC_Viewer* theViewer, const int theId );
102 void RedisplayObject();
103
104private:
105 void enterEvent(QEvent*);
106
107private:
109 {
113 };
114
115private:
118private:
123 SOCC_Viewer* myOperatedViewer;
126};
127
128#endif
Handle(TColStd_HSequenceOfTransient) AdvancedEngine_IOperations
Create a T-shape object with specified caracteristics for the main and the incident pipes (radius,...
Definition: AdvancedEngine_IOperations.cxx:1907
Definition: DlgRef.h:319
Definition: GEOMBase_Skeleton.h:53
Utility class to unpack/pack dimension presentations as object property of study.
Definition: GEOMGUI_DimensionProperty.h:71
Definition: GeometryGUI.h:74
Definition: MeasureGUI_Widgets.h:162
Definition: MeasureGUI_CreateDimensionDlg.h:59
Definition: MeasureGUI_DimensionInteractor.h:51
Definition: MeasureGUI_ManageDimensionsDlg.h:48
void OnAdd()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:378
bool myIsNeedRedisplay
Definition: MeasureGUI_ManageDimensionsDlg.h:117
void OnDeactivateThisDialog()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:847
int IdFromItem(QTreeWidgetItem *theItem)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1137
void enterEvent(QEvent *)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:817
bool AllowedToCancelChanges()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1097
~MeasureGUI_ManageDimensionsDlg()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:148
Selection myCurrentSelection
Definition: MeasureGUI_ManageDimensionsDlg.h:124
void OnActivateThisDialog()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:829
bool HasUnsavedChanges()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1064
void SetEditObject(const GEOM::GeomObjPtr &)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:881
void OnFinish()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:778
void ClickOnOk()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:709
void OnHideAll()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:576
void StopSelection()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:243
void OnShowAll()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:527
SOCC_Viewer * myOperatedViewer
Definition: MeasureGUI_ManageDimensionsDlg.h:123
MeasureGUI_CreateDimensionDlg * myCreateDialog
Definition: MeasureGUI_ManageDimensionsDlg.h:125
void OnInteractionFinished(Handle_AIS_InteractiveObject theIO)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:625
DlgRef_1Sel * myObjectSelector
Definition: MeasureGUI_ManageDimensionsDlg.h:119
MeasureGUI_1TreeWidget_4Button * myDimensionView
Definition: MeasureGUI_ManageDimensionsDlg.h:120
void OnSelection()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:310
Selection
Definition: MeasureGUI_ManageDimensionsDlg.h:57
@ Selection_Dimension
Definition: MeasureGUI_ManageDimensionsDlg.h:60
@ Selection_Object
Definition: MeasureGUI_ManageDimensionsDlg.h:59
@ Selection_None
Definition: MeasureGUI_ManageDimensionsDlg.h:58
void OnChangeItem(QTreeWidgetItem *theItem)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:447
void SelectionIntoArgument(const Selection theSelection)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:319
void StartSelection(const Selection theSelection)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:157
void OnRemove()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:402
void Suspend()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:670
void SelectInList(const Handle(AIS_InteractiveObject)&theIO)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1195
void OnSelectItem()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:511
GroupItems
Definition: MeasureGUI_ManageDimensionsDlg.h:109
@ GroupItem_Angle
Definition: MeasureGUI_ManageDimensionsDlg.h:112
@ GroupItem_Diameter
Definition: MeasureGUI_ManageDimensionsDlg.h:111
@ GroupItem_Distance
Definition: MeasureGUI_ManageDimensionsDlg.h:110
void PopulateList()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:965
bool ClickOnApply()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:741
GEOM::GeomObjPtr myEditObject
Definition: MeasureGUI_ManageDimensionsDlg.h:116
MeasureGUI_DimensionInteractor * myDimensionInteractor
Definition: MeasureGUI_ManageDimensionsDlg.h:121
void Resume()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:679
void StartObjectSelection()
Definition: MeasureGUI_ManageDimensionsDlg.h:65
void OnDimensionAdded()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:698
void SelectInViewer(SOCC_Viewer *theViewer, const int theId)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1229
void RedisplayObject()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1276
MeasureGUI_ManageDimensionsDlg(GeometryGUI *, QWidget *)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:70
GEOMGUI_DimensionProperty mySavedPropertyState
Definition: MeasureGUI_ManageDimensionsDlg.h:122
void RestoreState()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:933
bool AllowedToSaveChanges()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1117
int IdFromPrs(const Handle(AIS_InteractiveObject)&theAIS)
Definition: MeasureGUI_ManageDimensionsDlg.cxx:1154
virtual void ClickOnCancel()
Definition: MeasureGUI_ManageDimensionsDlg.cxx:722
GenericObjPtr< GEOM::GEOM_Object > GeomObjPtr
Definition: GEOM_GenericObjPtr.h:218