Eclipse SUMO - Simulation of Urban MObility
GUIGLObjectPopupMenu.h
Go to the documentation of this file.
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4
// This program and the accompanying materials are made available under the
5
// terms of the Eclipse Public License 2.0 which is available at
6
// https://www.eclipse.org/legal/epl-2.0/
7
// This Source Code may also be made available under the following Secondary
8
// Licenses when the conditions for such availability set forth in the Eclipse
9
// Public License 2.0 are satisfied: GNU General Public License, version 2
10
// or later which is available at
11
// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13
/****************************************************************************/
20
// The popup menu of a globject.
21
/****************************************************************************/
22
#pragma once
23
#include <config.h>
24
25
#include <vector>
26
#include <
utils/foxtools/fxheader.h
>
27
#include <
utils/geom/Position.h
>
28
29
30
// ===========================================================================
31
// class declarations
32
// ===========================================================================
33
class
GUISUMOAbstractView
;
34
class
GUIGlObject
;
35
class
GUIMainWindow
;
36
37
38
// ===========================================================================
39
// class definitions
40
// ===========================================================================
45
class
GUIGLObjectPopupMenu
:
public
FXMenuPane {
46
// FOX-declarations
47
FXDECLARE(
GUIGLObjectPopupMenu
)
48
49
public
:
50
52
enum class
PopupType
{
53
ATTRIBUTES
,
54
PROPERTIES
,
55
SELECT_ELEMENT
,
56
DELETE_ELEMENT
,
57
FRONT_ELEMENT
58
};
59
65
GUIGLObjectPopupMenu
(
GUIMainWindow
& app,
GUISUMOAbstractView
& parent,
GUIGlObject
& o);
66
71
GUIGLObjectPopupMenu
(
GUIMainWindow
* app,
GUISUMOAbstractView
* parent,
PopupType
popupType);
72
74
virtual
~GUIGLObjectPopupMenu
();
75
77
void
insertMenuPaneChild
(FXMenuPane* child);
78
79
// @brief remove popup menu from objects
80
void
removePopupFromObject
();
81
83
GUISUMOAbstractView
*
getParentView
();
84
86
PopupType
getPopupType
()
const
;
87
91
long
onCmdCenter
(FXObject*, FXSelector,
void
*);
92
94
long
onCmdCopyName
(FXObject*, FXSelector,
void
*);
95
97
long
onCmdCopyTypedName
(FXObject*, FXSelector,
void
*);
98
100
long
onCmdCopyEdgeName
(FXObject*, FXSelector,
void
*);
101
103
long
onCmdCopyCursorPosition
(FXObject*, FXSelector,
void
*);
104
106
long
onCmdCopyCursorGeoPosition
(FXObject*, FXSelector,
void
*);
107
109
long
onCmdCopyViewGeoBoundary
(FXObject*, FXSelector,
void
*);
110
112
long
onCmdShowCursorGeoPositionOnline
(FXObject*, FXSelector,
void
*);
113
115
long
onCmdShowPars
(FXObject*, FXSelector,
void
*);
116
118
long
onCmdShowTypePars
(FXObject*, FXSelector,
void
*);
119
121
long
onCmdAddSelected
(FXObject*, FXSelector,
void
*);
122
124
long
onCmdRemoveSelected
(FXObject*, FXSelector,
void
*);
125
127
128
protected
:
130
GUIGLObjectPopupMenu
();
131
133
GUISUMOAbstractView
*
myParent
;
134
136
GUIGlObject
*
myObject
;
137
139
GUIMainWindow
*
myApplication
;
140
142
const
PopupType
myPopupType
;
143
145
const
Position
myNetworkPosition
;
146
148
std::vector<FXMenuPane*>
myMenuPanes
;
149
};
Position.h
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition:
GUIGLObjectPopupMenu.h:45
GUIGLObjectPopupMenu::myObject
GUIGlObject * myObject
The object that belongs to this popup-menu.
Definition:
GUIGLObjectPopupMenu.h:136
GUIGLObjectPopupMenu::onCmdCopyViewGeoBoundary
long onCmdCopyViewGeoBoundary(FXObject *, FXSelector, void *)
Called if the current geo-boundary shall be copied to clipboard.
Definition:
GUIGLObjectPopupMenu.cpp:197
GUIGLObjectPopupMenu::PopupType
PopupType
Definition:
GUIGLObjectPopupMenu.h:52
GUIGLObjectPopupMenu::PopupType::PROPERTIES
@ PROPERTIES
GUIGLObjectPopupMenu::PopupType::SELECT_ELEMENT
@ SELECT_ELEMENT
GUIGLObjectPopupMenu::PopupType::ATTRIBUTES
@ ATTRIBUTES
GUIGLObjectPopupMenu::PopupType::FRONT_ELEMENT
@ FRONT_ELEMENT
GUIGLObjectPopupMenu::PopupType::DELETE_ELEMENT
@ DELETE_ELEMENT
GUIGLObjectPopupMenu::removePopupFromObject
void removePopupFromObject()
Definition:
GUIGLObjectPopupMenu.cpp:112
GUIGLObjectPopupMenu::myNetworkPosition
const Position myNetworkPosition
The position within the network the cursor was above when instanting the popup.
Definition:
GUIGLObjectPopupMenu.h:145
GUIGLObjectPopupMenu::onCmdCopyName
long onCmdCopyName(FXObject *, FXSelector, void *)
Called if the name shall be copied to clipboard.
Definition:
GUIGLObjectPopupMenu.cpp:144
GUIGLObjectPopupMenu::myParent
GUISUMOAbstractView * myParent
The parent window.
Definition:
GUIGLObjectPopupMenu.h:133
GUIGLObjectPopupMenu::onCmdCopyCursorPosition
long onCmdCopyCursorPosition(FXObject *, FXSelector, void *)
Called if the cursor position shall be copied to clipboard.
Definition:
GUIGLObjectPopupMenu.cpp:179
GUIGLObjectPopupMenu::getParentView
GUISUMOAbstractView * getParentView()
return the real owner of this popup
Definition:
GUIGLObjectPopupMenu.cpp:120
GUIGLObjectPopupMenu::onCmdCopyCursorGeoPosition
long onCmdCopyCursorGeoPosition(FXObject *, FXSelector, void *)
Called if the cursor geo-position shall be copied to clipboard.
Definition:
GUIGLObjectPopupMenu.cpp:186
GUIGLObjectPopupMenu::onCmdAddSelected
long onCmdAddSelected(FXObject *, FXSelector, void *)
Called if the object shall be added to the list of selected objects.
Definition:
GUIGLObjectPopupMenu.cpp:247
GUIGLObjectPopupMenu::onCmdShowTypePars
long onCmdShowTypePars(FXObject *, FXSelector, void *)
Called if the type parameter of this object shall be shown.
Definition:
GUIGLObjectPopupMenu.cpp:236
GUIGLObjectPopupMenu::onCmdShowPars
long onCmdShowPars(FXObject *, FXSelector, void *)
Called if the parameter of this object shall be shown.
Definition:
GUIGLObjectPopupMenu.cpp:224
GUIGLObjectPopupMenu::myApplication
GUIMainWindow * myApplication
The main application.
Definition:
GUIGLObjectPopupMenu.h:139
GUIGLObjectPopupMenu::onCmdCopyEdgeName
long onCmdCopyEdgeName(FXObject *, FXSelector, void *)
Called if the edge name shall be copied to clipboard (for lanes only)
Definition:
GUIGLObjectPopupMenu.cpp:166
GUIGLObjectPopupMenu::getPopupType
PopupType getPopupType() const
popup type;
Definition:
GUIGLObjectPopupMenu.cpp:126
GUIGLObjectPopupMenu::myPopupType
const PopupType myPopupType
popup type;
Definition:
GUIGLObjectPopupMenu.h:142
GUIGLObjectPopupMenu::onCmdShowCursorGeoPositionOnline
long onCmdShowCursorGeoPositionOnline(FXObject *, FXSelector, void *)
Called if the cursor geo-position shall be shown online.
Definition:
GUIGLObjectPopupMenu.cpp:212
GUIGLObjectPopupMenu::onCmdCenter
long onCmdCenter(FXObject *, FXSelector, void *)
Definition:
GUIGLObjectPopupMenu.cpp:132
GUIGLObjectPopupMenu::insertMenuPaneChild
void insertMenuPaneChild(FXMenuPane *child)
Insert a sub-menu pane in this GUIGLObjectPopupMenu.
Definition:
GUIGLObjectPopupMenu.cpp:95
GUIGLObjectPopupMenu::onCmdRemoveSelected
long onCmdRemoveSelected(FXObject *, FXSelector, void *)
Called if the object shall be removed from the list of selected objects.
Definition:
GUIGLObjectPopupMenu.cpp:259
GUIGLObjectPopupMenu::GUIGLObjectPopupMenu
GUIGLObjectPopupMenu()
FOX needs this.
Definition:
GUIGLObjectPopupMenu.cpp:270
GUIGLObjectPopupMenu::myMenuPanes
std::vector< FXMenuPane * > myMenuPanes
vector mit Sub-MenuPanes
Definition:
GUIGLObjectPopupMenu.h:148
GUIGLObjectPopupMenu::~GUIGLObjectPopupMenu
virtual ~GUIGLObjectPopupMenu()
Destructor.
Definition:
GUIGLObjectPopupMenu.cpp:86
GUIGLObjectPopupMenu::onCmdCopyTypedName
long onCmdCopyTypedName(FXObject *, FXSelector, void *)
Called if the typed name shall be copied to clipboard.
Definition:
GUIGLObjectPopupMenu.cpp:155
GUIGlObject
Definition:
GUIGlObject.h:67
GUIMainWindow
Definition:
GUIMainWindow.h:46
GUISUMOAbstractView
Definition:
GUISUMOAbstractView.h:83
Position
A point in 2D or 3D with translation and scaling methods.
Definition:
Position.h:37
fxheader.h
src
utils
gui
globjects
GUIGLObjectPopupMenu.h
Generated on Sat May 18 2024 00:09:32 for Eclipse SUMO - Simulation of Urban MObility by
1.9.1