Eclipse SUMO - Simulation of Urban MObility
GNEOverlappedInspection.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 /****************************************************************************/
18 // Frame for overlapped elements
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
24 
25 // ===========================================================================
26 // class declaration
27 // ===========================================================================
28 
29 class GNEFrame;
30 
31 // ===========================================================================
32 // class definitions
33 // ===========================================================================
34 
37  FXDECLARE(GNEOverlappedInspection)
38 
39 public:
41  GNEOverlappedInspection(GNEFrame* frameParent);
42 
44  GNEOverlappedInspection(GNEFrame* frameParent, const SumoXMLTag filteredTag);
45 
48 
50  void showOverlappedInspection(const GNEViewNetHelper::ViewObjectsSelector& viewObjects, const Position& clickedPosition);
51 
54 
56  bool overlappedInspectionShown() const;
57 
59  int getNumberOfOverlappedACs() const;
60 
62  bool checkSavedPosition(const Position& clickedPosition) const;
63 
65  bool nextElement(const Position& clickedPosition);
66 
68  bool previousElement(const Position& clickedPosition);
69 
72 
74  long onCmdNextElement(FXObject*, FXSelector, void*);
75 
77  long onCmdPreviousElement(FXObject*, FXSelector, void*);
78 
80  long onCmdShowList(FXObject*, FXSelector, void*);
81 
83  long onCmdListItemSelected(FXObject*, FXSelector, void*);
84 
86  long onCmdOverlappingHelp(FXObject*, FXSelector, void*);
88 
89 protected:
92 
94  void buildFXElements();
95 
96 private:
99 
101  FXButton* myPreviousElement;
102 
105 
107  FXButton* myNextElement;
108 
111 
113  FXButton* myHelpButton;
114 
117 
119  std::vector<GNEAttributeCarrier*> myOverlappedACs;
120 
122  size_t myItemIndex;
123 
126 };
SumoXMLTag
Numbers representing SUMO-XML - element names.
long onCmdNextElement(FXObject *, FXSelector, void *)
Inspect next Element (from top to bot)
long onCmdPreviousElement(FXObject *, FXSelector, void *)
Inspect previous element (from top to bot)
FXButton * myCurrentIndexButton
Button for current index.
FXButton * myPreviousElement
Previous element button.
Position mySavedClickedPosition
saved clicked position
std::vector< GNEAttributeCarrier * > myOverlappedACs
objects under cursor
long onCmdShowList(FXObject *, FXSelector, void *)
show list of overlapped elements
long onCmdOverlappingHelp(FXObject *, FXSelector, void *)
Called when user press the help button.
void hideOverlappedInspection()
hide template editor
bool overlappedInspectionShown() const
check if overlappedInspection modul is shown
long onCmdListItemSelected(FXObject *, FXSelector, void *)
called when a list item is selected
GNEFrame * myFrameParent
current frame parent
void buildFXElements()
build Fox Toolkit elemements
FXButton * myHelpButton
button for help
const SumoXMLTag myFilteredTag
filtered tag
FXButton * myNextElement
Next element button.
bool checkSavedPosition(const Position &clickedPosition) const
check if given position is near to saved position
size_t myItemIndex
current index item
FXList * myOverlappedElementList
list of overlapped elements
int getNumberOfOverlappedACs() const
get number of overlapped ACSs
void showOverlappedInspection(const GNEViewNetHelper::ViewObjectsSelector &viewObjects, const Position &clickedPosition)
show template editor
bool nextElement(const Position &clickedPosition)
try to go to next element if clicked position is near to saved position
bool previousElement(const Position &clickedPosition)
try to go to previous element if clicked position is near to saved position
class used to group all variables related with objects under cursor after a click over view
MFXGroupBoxModule (based on FXGroupBox)
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:37