Eclipse SUMO - Simulation of Urban MObility
GNEElementSet.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 // The Widget for modifying selections of network-elements
19 // (some elements adapted from GUIDialog_GLChosenEditor)
20 /****************************************************************************/
21 #pragma once
22 #include <config.h>
23 
24 #include "GNESelectorFrame.h"
25 
26 // ===========================================================================
27 // class declaration
28 // ===========================================================================
29 
30 class GNEMatchAttribute;
31 
32 // ===========================================================================
33 // class definitions
34 // ===========================================================================
35 
38  FXDECLARE(GNEElementSet)
39 
40 public:
42  enum class Type {
43  NETWORK,
44  ADDITIONAL,
45  SHAPE,
46  TAZ,
47  DEMAND,
49  INVALID,
50  };
51 
53  GNEElementSet(GNESelectorFrame* selectorFrameParent, Supermode supermode,
54  SumoXMLTag defaultTag, SumoXMLAttr defaultAttr,
55  const std::string& defaultValue);
56 
59 
62 
64  Type getElementSet() const;
65 
67  void showElementSet();
68 
70  void hideElementSet();
71 
74 
76  long onCmdSelectElementSet(FXObject*, FXSelector, void*);
77 
79 
80 protected:
82  FOX_CONSTRUCTOR(GNEElementSet)
83 
84 private:
87 
90 
93 
96 
99 
101  GNEElementSet(const GNEElementSet&) = delete;
102 
105 };
Supermode
@brie enum for supermodes
SumoXMLTag
Numbers representing SUMO-XML - element names.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
~GNEElementSet()
destructor
long onCmdSelectElementSet(FXObject *, FXSelector, void *)
Called when the user change the set of element to search (networkElement, Additional or shape)
Type getElementSet() const
get current selected element set
GNEMatchAttribute * myMatchAttribute
modul for match attribute
Definition: GNEElementSet.h:89
Type myCurrentSet
current element set selected
Definition: GNEElementSet.h:98
MFXComboBoxIcon * mySetComboBox
Combo Box with the element sets.
Definition: GNEElementSet.h:95
GNESelectorFrame * mySelectorFrameParent
FOX need this.
Definition: GNEElementSet.h:86
Type
FOX-declaration.
Definition: GNEElementSet.h:42
GNEElementSet & operator=(const GNEElementSet &)=delete
Invalidated assignment operator.
GNESelectorFrame * getSelectorFrameParent() const
get Selector Frame Parent
void hideElementSet()
hide element set
GNEElementSet(const GNEElementSet &)=delete
Invalidated copy constructor.
GNEMatchGenericDataAttribute * myMatchGenericDataAttribute
Match generic data attribute.
Definition: GNEElementSet.h:92
void showElementSet()
show element set
GNEElementSet(GNESelectorFrame *selectorFrameParent, Supermode supermode, SumoXMLTag defaultTag, SumoXMLAttr defaultAttr, const std::string &defaultValue)
constructor
ComboBox with icon.
MFXGroupBoxModule (based on FXGroupBox)