Eclipse SUMO - Simulation of Urban MObility
GNEAdditionalDialog.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
14 // A abstract class for editing additional elements
15 /****************************************************************************/
16 #ifndef GNEAdditionalDialog_h
17 #define GNEAdditionalDialog_h
18 
19 // ===========================================================================
20 // included modules
21 // ===========================================================================
22 
23 #include <config.h>
24 
25 #include <fx.h>
26 #include <vector>
28 
29 // ===========================================================================
30 // class declarations
31 // ===========================================================================
32 
33 class GNEAdditional;
34 class GNEUndoList;
35 
36 // ===========================================================================
37 // class definitions
38 // ===========================================================================
39 
44 class GNEAdditionalDialog : protected FXTopWindow {
46  FXDECLARE_ABSTRACT(GNEAdditionalDialog)
47 
48 public:
50  GNEAdditionalDialog(GNEAdditional* parent, bool updatingElement, int width, int height);
51 
54 
57 
61  virtual long onCmdAccept(FXObject* sender, FXSelector sel, void* ptr) = 0;
62 
64  virtual long onCmdCancel(FXObject* sender, FXSelector sel, void* ptr) = 0;
65 
67  virtual long onCmdReset(FXObject*, FXSelector, void*) = 0;
68 
70  long onKeyPress(FXObject* sender, FXSelector sel, void* ptr);
71 
73  long onKeyRelease(FXObject* sender, FXSelector sel, void* ptr);
74 
76 
77 protected:
79 
80 
82 
85 
87  FXVerticalFrame* myContentFrame;
88 
90  FXint openAsModalDialog(FXuint placement = PLACEMENT_CURSOR);
91 
93  void changeAdditionalDialogHeader(const std::string& newHeader);
94 
96  void initChanges();
97 
99  void acceptChanges();
100 
102  void cancelChanges();
103 
105  void resetChanges();
106 
107 private:
109  FXButton* myAcceptButton;
110 
112  FXButton* myCancelButton;
113 
115  FXButton* myResetButton;
116 
118  std::string myChangesDescription;
119 
122 
125 
127  GNEAdditionalDialog& operator=(const GNEAdditionalDialog&) = delete;
128 };
129 
130 #endif
GNEAdditional
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:48
GNEAdditionalDialog::onCmdAccept
virtual long onCmdAccept(FXObject *sender, FXSelector sel, void *ptr)=0
GNEAdditionalDialog::onKeyPress
long onKeyPress(FXObject *sender, FXSelector sel, void *ptr)
event after press a key
Definition: GNEAdditionalDialog.cpp:96
GNEAdditionalDialog
Dialog to edit sequences, parameters, etc.. of Additionals.
Definition: GNEAdditionalDialog.h:44
GNEAdditionalDialog::myResetButton
FXButton * myResetButton
cancel button
Definition: GNEAdditionalDialog.h:115
GNEAdditionalDialog::cancelChanges
void cancelChanges()
Cancel changes did in this dialog.
Definition: GNEAdditionalDialog.cpp:135
GNEAdditionalDialog::onCmdCancel
virtual long onCmdCancel(FXObject *sender, FXSelector sel, void *ptr)=0
event after press cancel button
GNEAdditionalDialog::getEditedAdditional
GNEAdditional * getEditedAdditional() const
get edited Additional
Definition: GNEAdditionalDialog.cpp:90
GNEAdditionalDialog::onKeyRelease
long onKeyRelease(FXObject *sender, FXSelector sel, void *ptr)
event after release a key
Definition: GNEAdditionalDialog.cpp:102
GNEAdditionalDialog::changeAdditionalDialogHeader
void changeAdditionalDialogHeader(const std::string &newHeader)
change additional dialog header
Definition: GNEAdditionalDialog.cpp:108
FOX_CONSTRUCTOR
#define FOX_CONSTRUCTOR(classname)
Definition: config.h:13
GNEAdditionalDialog::myUpdatingElement
bool myUpdatingElement
flag to indicate if additional are being created or modified (cannot be changed after open dialog)
Definition: GNEAdditionalDialog.h:84
GNEAdditionalDialog::myCancelButton
FXButton * myCancelButton
cancel button
Definition: GNEAdditionalDialog.h:112
GNEAdditionalDialog::onCmdReset
virtual long onCmdReset(FXObject *, FXSelector, void *)=0
event after press cancel button
GNEAdditionalDialog::~GNEAdditionalDialog
~GNEAdditionalDialog()
destructor
Definition: GNEAdditionalDialog.cpp:70
GNEAdditionalDialog::myContentFrame
FXVerticalFrame * myContentFrame
frame for contents
Definition: GNEAdditionalDialog.h:87
GNEAdditionalDialog::myEditedAdditional
GNEAdditional * myEditedAdditional
pointer to edited aditional
Definition: GNEAdditionalDialog.h:81
GNEAdditionalDialog::initChanges
void initChanges()
init a new group of changes that will be do it in dialog
Definition: GNEAdditionalDialog.cpp:115
GNEAdditionalDialog::GNEAdditionalDialog
GNEAdditionalDialog(GNEAdditional *parent, bool updatingElement, int width, int height)
FOX-declaration abstract.
Definition: GNEAdditionalDialog.cpp:50
GNEAdditionalDialog::acceptChanges
void acceptChanges()
Accept changes did in this dialog.
Definition: GNEAdditionalDialog.cpp:124
GNEAdditionalDialog::myNumberOfChanges
int myNumberOfChanges
number of GNEChanges_... in dialog
Definition: GNEAdditionalDialog.h:121
GNEAdditionalDialog::openAsModalDialog
FXint openAsModalDialog(FXuint placement=PLACEMENT_CURSOR)
execute dialog as modal
Definition: GNEAdditionalDialog.cpp:77
GNEAdditionalDialog::myChangesDescription
std::string myChangesDescription
description of changes did in this additional dialog
Definition: GNEAdditionalDialog.h:118
config.h
GNEAdditionalDialog::myAcceptButton
FXButton * myAcceptButton
accept button
Definition: GNEAdditionalDialog.h:109
GNEUndoList
Definition: GNEUndoList.h:48
SUMOXMLDefinitions.h
GNEAdditionalDialog::resetChanges
void resetChanges()
reset changes did in this dialog.
Definition: GNEAdditionalDialog.cpp:141