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 /****************************************************************************/ 10 /// @file GNERerouterDialog.h 11 /// @author Pablo Alvarez Lopez 12 /// @date April 2016 13 /// @version $Id$ 14 /// 15 // Dialog for edit rerouters 16 /****************************************************************************/ 17 #ifndef GNERerouterDialog_h 18 #define GNERerouterDialog_h 19 20 // =========================================================================== 21 // included modules 22 // =========================================================================== 23 24 #include <config.h> 25 26 #include "GNEAdditionalDialog.h" 27 28 29 // =========================================================================== 30 // class declarations 31 // =========================================================================== 32 33 class GNERerouter; 34 class GNERerouterInterval; 35 class GNERerouterIntervalDialog; 36 37 // =========================================================================== 38 // class definitions 39 // =========================================================================== 40 41 /** 42 * @class GNERerouterDialog 43 * @brief Dialog for edit rerouters 44 */ 45 class GNERerouterDialog : public GNEAdditionalDialog { 46 /// @brief FOX-declaration 47 FXDECLARE(GNERerouterDialog) 48 49 public: 50 /// @brief Constructor 51 GNERerouterDialog(GNERerouter* rerouterParent); 52 53 /// @brief destructor 54 ~GNERerouterDialog(); 55 56 /// @name FOX-callbacks 57 /// @{ 58 /// @brief event after press accept button 59 long onCmdAccept(FXObject*, FXSelector, void*); 60 61 /// @brief event after press cancel button 62 long onCmdCancel(FXObject*, FXSelector, void*); 63 64 /// @brief event after press reset button 65 long onCmdReset(FXObject*, FXSelector, void*); 66 67 /// @brief add new interval 68 long onCmdAddInterval(FXObject*, FXSelector, void*); 69 70 /// @brief sort current intervals 71 long onCmdSortIntervals(FXObject*, FXSelector, void*); 72 73 /// @brief remove or edit interval 74 long onCmdClickedInterval(FXObject*, FXSelector, void*); 75 /// @} 76 77 protected: 78 /// @brief FOX needs this GNERerouterDialog()79 GNERerouterDialog() {} 80 81 /// @brief button for add new interval 82 FXButton* myAddInterval; 83 84 /// @brief button for sort interval 85 FXButton* mySortIntervals; 86 87 /// @brief list with intervals 88 FXTable* myIntervalTable; 89 90 private: 91 /// @brief update data table 92 void updateIntervalTable(); 93 94 /// @brief Invalidated copy constructor. 95 GNERerouterDialog(const GNERerouterDialog&) = delete; 96 97 /// @brief Invalidated assignment operator. 98 GNERerouterDialog& operator=(const GNERerouterDialog&) = delete; 99 }; 100 101 #endif 102