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 /****************************************************************************/
15 // A abstract class for editing additional elements
16 /****************************************************************************/
17 #ifndef GNEAdditionalDialog_h
18 #define GNEAdditionalDialog_h
19 
20 // ===========================================================================
21 // included modules
22 // ===========================================================================
23 
24 #include <config.h>
25 
26 #include <fx.h>
27 #include <vector>
29 
30 // ===========================================================================
31 // class declarations
32 // ===========================================================================
33 
34 class GNEAdditional;
35 class GNEUndoList;
36 
37 // ===========================================================================
38 // class definitions
39 // ===========================================================================
40 
45 class GNEAdditionalDialog : protected FXTopWindow {
47  FXDECLARE_ABSTRACT(GNEAdditionalDialog)
48 
49 public:
51  GNEAdditionalDialog(GNEAdditional* parent, bool updatingElement, int width, int height);
52 
55 
58 
62  virtual long onCmdAccept(FXObject* sender, FXSelector sel, void* ptr) = 0;
63 
65  virtual long onCmdCancel(FXObject* sender, FXSelector sel, void* ptr) = 0;
66 
68  virtual long onCmdReset(FXObject*, FXSelector, void*) = 0;
69 
71  long onKeyPress(FXObject* sender, FXSelector sel, void* ptr);
72 
74  long onKeyRelease(FXObject* sender, FXSelector sel, void* ptr);
75 
77 
78 protected:
81 
84 
87 
89  FXVerticalFrame* myContentFrame;
90 
92  FXint openAsModalDialog(FXuint placement = PLACEMENT_CURSOR);
93 
95  void changeAdditionalDialogHeader(const std::string& newHeader);
96 
98  void initChanges();
99 
101  void acceptChanges();
102 
104  void cancelChanges();
105 
107  void resetChanges();
108 
109 private:
111  FXButton* myAcceptButton;
112 
114  FXButton* myCancelButton;
115 
117  FXButton* myResetButton;
118 
120  std::string myChangesDescription;
121 
124 
126  GNEAdditionalDialog(const GNEAdditionalDialog&) = delete;
127 
130 };
131 
132 #endif
GNEAdditional
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:47
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:97
GNEAdditionalDialog::operator=
GNEAdditionalDialog & operator=(const GNEAdditionalDialog &)=delete
Invalidated assignment operator.
GNEAdditionalDialog
Dialog to edit sequences, parameters, etc.. of Additionals.
Definition: GNEAdditionalDialog.h:45
GNEAdditionalDialog::myResetButton
FXButton * myResetButton
cancel button
Definition: GNEAdditionalDialog.h:117
GNEAdditionalDialog::cancelChanges
void cancelChanges()
Cancel changes did in this dialog.
Definition: GNEAdditionalDialog.cpp:136
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:91
GNEAdditionalDialog::onKeyRelease
long onKeyRelease(FXObject *sender, FXSelector sel, void *ptr)
event after release a key
Definition: GNEAdditionalDialog.cpp:103
GNEAdditionalDialog::changeAdditionalDialogHeader
void changeAdditionalDialogHeader(const std::string &newHeader)
change additional dialog header
Definition: GNEAdditionalDialog.cpp:109
GNEAdditionalDialog::myUpdatingElement
bool myUpdatingElement
flag to indicate if additional are being created or modified (cannot be changed after open dialog)
Definition: GNEAdditionalDialog.h:86
GNEAdditionalDialog::myCancelButton
FXButton * myCancelButton
cancel button
Definition: GNEAdditionalDialog.h:114
GNEAdditionalDialog::onCmdReset
virtual long onCmdReset(FXObject *, FXSelector, void *)=0
event after press cancel button
GNEAdditionalDialog::~GNEAdditionalDialog
~GNEAdditionalDialog()
destructor
Definition: GNEAdditionalDialog.cpp:71
GNEAdditionalDialog::myContentFrame
FXVerticalFrame * myContentFrame
frame for contents
Definition: GNEAdditionalDialog.h:89
GNEAdditionalDialog::GNEAdditionalDialog
GNEAdditionalDialog()
FOX needs this.
Definition: GNEAdditionalDialog.h:80
GNEAdditionalDialog::myEditedAdditional
GNEAdditional * myEditedAdditional
pointer to edited aditional
Definition: GNEAdditionalDialog.h:83
GNEAdditionalDialog::initChanges
void initChanges()
init a new group of changes that will be do it in dialog
Definition: GNEAdditionalDialog.cpp:116
GNEAdditionalDialog::acceptChanges
void acceptChanges()
Accept changes did in this dialog.
Definition: GNEAdditionalDialog.cpp:125
GNEAdditionalDialog::myNumberOfChanges
int myNumberOfChanges
number of GNEChanges_... in dialog
Definition: GNEAdditionalDialog.h:123
GNEAdditionalDialog::openAsModalDialog
FXint openAsModalDialog(FXuint placement=PLACEMENT_CURSOR)
execute dialog as modal
Definition: GNEAdditionalDialog.cpp:78
GNEAdditionalDialog::myChangesDescription
std::string myChangesDescription
description of changes did in this additional dialog
Definition: GNEAdditionalDialog.h:120
config.h
GNEAdditionalDialog::myAcceptButton
FXButton * myAcceptButton
accept button
Definition: GNEAdditionalDialog.h:111
GNEUndoList
Definition: GNEUndoList.h:49
SUMOXMLDefinitions.h
GNEAdditionalDialog::resetChanges
void resetChanges()
reset changes did in this dialog.
Definition: GNEAdditionalDialog.cpp:142