Version: 8.3.0
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
MeasureGUI_ManageDimensionsDlg.h
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, 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
>
31
#include "
MeasureGUI_DimensionInteractor.h
"
32
#include "
MeasureGUI_Widgets.h
"
33
#include <
GEOMGUI_DimensionProperty.h
>
34
35
class
DlgRef_1Sel
;
36
class
QTreeWidget
;
37
class
QPushButton;
38
class
SOCC_Viewer;
39
class
MeasureGUI_CreateDimensionDlg
;
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
//=================================================================================
47
class
MeasureGUI_ManageDimensionsDlg
:
public
GEOMBase_Skeleton
48
{
49
Q_OBJECT
50
51
public
:
52
MeasureGUI_ManageDimensionsDlg
(
GeometryGUI
*,
QWidget
* );
53
~MeasureGUI_ManageDimensionsDlg
();
54
55
protected
:
56
enum
Selection
57
{
58
Selection_None
,
59
Selection_Object
,
60
Selection_Dimension
61
};
62
63
/* User event logics */
64
protected
slots:
65
void
StartObjectSelection
() {
StartSelection
(
Selection_Object
); }
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
();
83
void
OnActivateThisDialog
();
84
void
OnDeactivateThisDialog
();
85
void
OnDimensionAdded
();
86
87
88
/* Utils */
89
private
:
90
void
SetEditObject
(
const
GEOM::GeomObjPtr
& );
91
void
RestoreState
();
92
void
PopulateList
();
93
bool
HasUnsavedChanges
();
94
bool
AllowedToCancelChanges
();
95
bool
AllowedToSaveChanges
();
96
bool
WarnUnsaved
();
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
104
private
:
105
void
enterEvent
(QEvent*);
106
107
private
:
108
enum
GroupItems
109
{
110
GroupItem_Distance
= 0,
111
GroupItem_Diameter
= 1,
112
GroupItem_Angle
= 2
113
};
114
115
private
:
116
GEOM::GeomObjPtr
myEditObject
;
117
bool
myIsNeedRedisplay
;
118
private
:
119
DlgRef_1Sel
*
myObjectSelector
;
120
MeasureGUI_1TreeWidget_4Button
*
myDimensionView
;
121
MeasureGUI_DimensionInteractor
*
myDimensionInteractor
;
122
GEOMGUI_DimensionProperty
mySavedPropertyState
;
123
SOCC_Viewer*
myOperatedViewer
;
124
Selection
myCurrentSelection
;
125
MeasureGUI_CreateDimensionDlg
*
myCreateDialog
;
126
};
127
128
#endif
src
MeasureGUI
MeasureGUI_ManageDimensionsDlg.h
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS