SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
GUIGLObjectPopupMenu.h
Go to the documentation of this file.
1 /****************************************************************************/
9 // The popup menu of a globject.
10 /****************************************************************************/
11 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
12 // Copyright (C) 2001-2016 DLR (http://www.dlr.de/) and contributors
13 /****************************************************************************/
14 //
15 // This file is part of SUMO.
16 // SUMO is free software: you can redistribute it and/or modify
17 // it under the terms of the GNU General Public License as published by
18 // the Free Software Foundation, either version 3 of the License, or
19 // (at your option) any later version.
20 //
21 /****************************************************************************/
22 #ifndef GUIGLObjectPopupMenu_h
23 #define GUIGLObjectPopupMenu_h
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 #include <vector>
36 #include <fx.h>
37 #include <utils/geom/Position.h>
38 
39 
40 // ===========================================================================
41 // class declarations
42 // ===========================================================================
44 class GUIGlObject;
45 class GUIMainWindow;
46 
47 
48 // ===========================================================================
49 // class definitions
50 // ===========================================================================
55 class GUIGLObjectPopupMenu : public FXMenuPane {
56  // FOX-declarations
57  FXDECLARE(GUIGLObjectPopupMenu)
58 
59 public:
66 
68  virtual ~GUIGLObjectPopupMenu();
69 
71  void insertMenuPaneChild(FXMenuPane* child);
72 
73 public:
75  long onCmdCenter(FXObject*, FXSelector, void*);
76 
78  long onCmdCopyName(FXObject*, FXSelector, void*);
79 
81  long onCmdCopyTypedName(FXObject*, FXSelector, void*);
82 
84  long onCmdCopyEdgeName(FXObject*, FXSelector, void*);
85 
87  long onCmdCopyCursorPosition(FXObject*, FXSelector, void*);
88 
90  long onCmdCopyCursorGeoPosition(FXObject*, FXSelector, void*);
91 
93  long onCmdShowPars(FXObject*, FXSelector, void*);
94 
96  long onCmdShowTypePars(FXObject*, FXSelector, void*);
97 
99  long onCmdAddSelected(FXObject*, FXSelector, void*);
100 
102  long onCmdRemoveSelected(FXObject*, FXSelector, void*);
103 
106  return myParent;
107  }
108 
109 protected:
112 
115 
118 
121 
123  std::vector<FXMenuPane*> myMenuPanes;
124 
125 protected:
128 };
129 
130 
131 #endif
132 
133 /****************************************************************************/
134 
GUISUMOAbstractView * getParentView()
return the real owner of this popup
long onCmdCenter(FXObject *, FXSelector, void *)
Called if the assigned objects shall be centered.
Position myNetworkPosition
The position within the network the cursor was above when instanting the popup.
long onCmdCopyName(FXObject *, FXSelector, void *)
Called if the name shall be copied to clipboard.
GUIGLObjectPopupMenu()
FOX needs this.
long onCmdAddSelected(FXObject *, FXSelector, void *)
Called if the object shall be added to the list of selected objects.
long onCmdCopyCursorPosition(FXObject *, FXSelector, void *)
Called if the cursor position shall be copied to clipboard.
long onCmdCopyCursorGeoPosition(FXObject *, FXSelector, void *)
Called if the cursor geo-position shall be copied to clipboard.
GUISUMOAbstractView * myParent
The parent window.
long onCmdShowTypePars(FXObject *, FXSelector, void *)
Called if the type parameter of this object shall be shown.
long onCmdCopyEdgeName(FXObject *, FXSelector, void *)
Called if the edge name shall be copied to clipboard (for lanes only)
virtual ~GUIGLObjectPopupMenu()
Destructor.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:46
std::vector< FXMenuPane * > myMenuPanes
list mit Sub-MenuPanes
long onCmdCopyTypedName(FXObject *, FXSelector, void *)
Called if the typed name shall be copied to clipboard.
long onCmdRemoveSelected(FXObject *, FXSelector, void *)
Called if the object shall be removed from the list of selected objects.
The popup menu of a globject.
long onCmdShowPars(FXObject *, FXSelector, void *)
Called if the parameter of this object shall be shown.
void insertMenuPaneChild(FXMenuPane *child)
Insert a sub-menu pane in this GUIGLObjectPopupMenu.
GUIMainWindow * myApplication
The main application.
GUIGlObject * myObject
The object that belongs to this popup-menu.