Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
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#include <utils/geom/Position.h>
25
26// ===========================================================================
27// class declaration
28// ===========================================================================
29
30class GNEFrame;
31
32// ===========================================================================
33// class definitions
34// ===========================================================================
35
39
40public:
42 GNEOverlappedInspection(GNEFrame* frameParent, const bool onlyJunctions);
43
46
48 void showOverlappedInspection(GNEViewNetHelper::ViewObjectsSelector& viewObjects, const Position &clickedPosition, const bool shiftKeyPressed);
49
52
55
58
60 bool overlappedInspectionShown() const;
61
63 int getNumberOfOverlappedACs() const;
64
67
69 long onCmdInspectNextElement(FXObject*, FXSelector, void*);
70
72 long onCmdInspectPreviousElement(FXObject*, FXSelector, void*);
73
75 long onCmdShowList(FXObject*, FXSelector, void*);
76
78 long onCmdListItemSelected(FXObject*, FXSelector, void*);
79
81 long onCmdOverlappingHelp(FXObject*, FXSelector, void*);
83
84protected:
87
88private:
91
93 FXButton* myPreviousElement = nullptr;
94
96 FXButton* myCurrentIndexButton = nullptr;
97
99 FXButton* myNextElement = nullptr;
100
102 FXList* myOverlappedElementList = nullptr;
103
105 FXButton* myHelpButton = nullptr;
106
109
111 const bool myOnlyJunctions = false;
112
114 std::vector<GNEAttributeCarrier*> myOverlappedACs;
115
117 int myItemIndex = 0;
118};
void clearOverlappedInspection()
clear overlapped inspection
void refreshOverlappedInspection()
show template editor
FXButton * myCurrentIndexButton
Button for current index.
FXButton * myPreviousElement
Previous element button.
Position myClickedPosition
clicked position
std::vector< GNEAttributeCarrier * > myOverlappedACs
objects under cursor
long onCmdShowList(FXObject *, FXSelector, void *)
show list of overlapped elements
void hiderOverlappedInspection()
hide overlapped inspection
void showOverlappedInspection(GNEViewNetHelper::ViewObjectsSelector &viewObjects, const Position &clickedPosition, const bool shiftKeyPressed)
show overlapped inspection
long onCmdOverlappingHelp(FXObject *, FXSelector, void *)
Called when user press the help button.
bool overlappedInspectionShown() const
check if overlappedInspection modul is shown
long onCmdListItemSelected(FXObject *, FXSelector, void *)
called when a list item is selected
long onCmdInspectPreviousElement(FXObject *, FXSelector, void *)
Inspect previous element (from top to bot)
int myItemIndex
current index item
GNEFrame * myFrameParent
current frame parent
FXButton * myHelpButton
button for help
FXButton * myNextElement
Next element button.
long onCmdInspectNextElement(FXObject *, FXSelector, void *)
Inspect next Element (from top to bot)
FXList * myOverlappedElementList
list of overlapped elements
int getNumberOfOverlappedACs() const
get number of overlapped ACSs
const bool myOnlyJunctions
flag to indicate that this modul is only for junctions
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
static const Position INVALID
used to indicate that a position is valid
Definition Position.h:322