LCOV - code coverage report
Current view: top level - src/utils/gui/windows - GUIDialog_ViewSettings.h (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 8 0.0 %
Date: 2024-05-03 15:29:52 Functions: 0 4 0.0 %

          Line data    Source code
       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             : /****************************************************************************/
      14             : /// @file    GUIDialog_ViewSettings.h
      15             : /// @author  Daniel Krajzewicz
      16             : /// @author  Jakob Erdmann
      17             : /// @author  Michael Behrisch
      18             : /// @date    Wed, 21. Dec 2005
      19             : ///
      20             : // The dialog to change the view (gui) settings.
      21             : /****************************************************************************/
      22             : #pragma once
      23             : #include <config.h>
      24             : 
      25             : #include <utils/foxtools/fxheader.h>
      26             : #include <utils/gui/windows/GUISUMOAbstractView.h>
      27             : #include <utils/gui/div/GUIPersistentWindowPos.h>
      28             : #include <utils/foxtools/MFXDecalsTable.h>
      29             : 
      30             : 
      31             : // ===========================================================================
      32             : // class declarations
      33             : // ===========================================================================
      34             : 
      35             : class MFXComboBoxIcon;
      36             : 
      37             : // ===========================================================================
      38             : // class definitions
      39             : // ===========================================================================
      40             : /**
      41             :  * @class GUIDialog_ViewSettings
      42             :  * @brief The dialog to change the view (gui) settings.
      43             :  *
      44             :  * @todo Check whether saving/loading settings should be done via XML
      45             :  */
      46             : class GUIDialog_ViewSettings : public FXDialogBox, public GUIPersistentWindowPos {
      47             :     /// @brief FOX Declaration
      48           0 :     FXDECLARE(GUIDialog_ViewSettings)
      49             : 
      50             : public:
      51             :     /// @brief NamePanel
      52             :     class NamePanel {
      53             : 
      54             :     public:
      55             :         /// @brief constructor
      56             :         NamePanel(FXMatrix* parent, GUIDialog_ViewSettings* target,
      57             :                   const std::string& title,
      58             :                   const GUIVisualizationTextSettings& settings);
      59             : 
      60             :         /// @brief get settings
      61             :         GUIVisualizationTextSettings getSettings();
      62             : 
      63             :         /// @brief update
      64             :         void update(const GUIVisualizationTextSettings& settings);
      65             : 
      66             :         /// @brief check button
      67             :         FXCheckButton* myCheck = nullptr;
      68             : 
      69             :         /// @brief size dial
      70             :         FXRealSpinner* mySizeDial = nullptr;
      71             : 
      72             :         /// @brief color well
      73             :         FXColorWell* myColorWell = nullptr;
      74             : 
      75             :         /// @brief BGColor well
      76             :         FXColorWell* myBGColorWell = nullptr;
      77             : 
      78             :         /// @brief draw only for selected?
      79             :         FXCheckButton* mySelectedCheck = nullptr;
      80             : 
      81             :         /// @brief const size check
      82             :         FXCheckButton* myConstSizeCheck = nullptr;
      83             : 
      84             :         /// @brief Matrix
      85             :         FXMatrix* myMatrix0 = nullptr;
      86             :     };
      87             : 
      88             :     /// @brief SizePanel
      89             :     class SizePanel : public FXObject {
      90             :         /// @brief FOX Declaration
      91           0 :         FXDECLARE(SizePanel)
      92             : 
      93             :     public:
      94             :         /// @brief constructor
      95             :         SizePanel(FXMatrix* parent, GUIDialog_ViewSettings* target,
      96             :                   const GUIVisualizationSizeSettings& settings, GUIGlObjectType type);
      97             : 
      98             :         /// @brief get settings
      99             :         GUIVisualizationSizeSettings getSettings();
     100             : 
     101             :         /// @brief update
     102             :         void update(const GUIVisualizationSizeSettings& settings);
     103             : 
     104             :         /// @name FOX-callbacks
     105             :         /// @{
     106             :         /// @brief Called if something (color, width, etc.) has been changed
     107             :         long onCmdSizeChange(FXObject* obj, FXSelector sel, void* ptr);
     108             : 
     109             :         /// @}
     110             : 
     111             :         /// @brief min size dial
     112             :         FXRealSpinner* myMinSizeDial = nullptr;
     113             : 
     114             :         /// @brief exaggerate dial
     115             :         FXRealSpinner* myExaggerateDial = nullptr;
     116             : 
     117             :         /// @brief check button
     118             :         FXCheckButton* myCheck = nullptr;
     119             : 
     120             :         /// @brief check selected button
     121             :         FXCheckButton* myCheckSelected = nullptr;
     122             : 
     123             :     protected:
     124             :         /// @brief FOX needs this
     125           0 :         FOX_CONSTRUCTOR(SizePanel)
     126             : 
     127             :     private:
     128             :         /// @brief pointer to dialog viewSettings
     129             :         GUIDialog_ViewSettings* myDialogViewSettings = nullptr;
     130             : 
     131             :         /// @brief GLObject type associated with this size
     132             :         GUIGlObjectType myType = GLO_NETWORK;
     133             :     };
     134             : 
     135             :     /** @brief Constructor
     136             :      * @param[in] parent The view to report changed settings to
     137             :      * @param[in, out] settings The current settings that can be changed
     138             :      */
     139             :     GUIDialog_ViewSettings(GUISUMOAbstractView* parent, GUIVisualizationSettings* settings);
     140             : 
     141             :     /// @brief FOX need this
     142           0 :     GUIDialog_ViewSettings() : myBackup("DUMMY") {}
     143             : 
     144             :     /// @brief Destructor
     145             :     ~GUIDialog_ViewSettings();
     146             : 
     147             :     /// @brief show view settings dialog
     148             :     void show();
     149             : 
     150             :     /// @brief get GUISUMOAbstractView parent
     151             :     GUISUMOAbstractView* getSUMOAbstractView();
     152             : 
     153             :     /** @brief Sets current settings (called if reopened)
     154             :      * @param[in, out] settings The current settings that can be changed
     155             :      */
     156             :     void setCurrent(GUIVisualizationSettings* settings);
     157             : 
     158             :     /// @name FOX-callbacks
     159             :     /// @{
     160             : 
     161             :     /// @brief Called if the OK-button was pressed
     162             :     long onCmdOk(FXObject*, FXSelector, void*);
     163             : 
     164             :     /// @brief Called if the Cancel-button was pressed
     165             :     long onCmdCancel(FXObject*, FXSelector, void*);
     166             : 
     167             :     /// @brief Called if something (color, width, etc.) has been changed
     168             :     long onCmdColorChange(FXObject*, FXSelector, void*);
     169             : 
     170             :     /// @brief Called if the name of the scheme was changed
     171             :     long onCmdNameChange(FXObject*, FXSelector, void*);
     172             : 
     173             :     /// @brief Called if the settings shall be saved into the registry
     174             :     long onCmdSaveSetting(FXObject*, FXSelector, void* data);
     175             : 
     176             :     /// @brief Called when updating the button that allows to save the settings into the registry
     177             :     long onUpdSaveSetting(FXObject*, FXSelector, void* data);
     178             : 
     179             :     /// @brief Called if the settings shall be deleted
     180             :     long onCmdDeleteSetting(FXObject*, FXSelector, void* data);
     181             : 
     182             :     /// @brief Called when updating the button that allows to delete settings
     183             :     long onUpdDeleteSetting(FXObject*, FXSelector, void* data);
     184             : 
     185             :     /// @brief Called if the settings shall be exported into a file
     186             :     long onCmdExportSetting(FXObject*, FXSelector, void* data);
     187             : 
     188             :     /// @brief Called when updating the button that allows to export settings into a file
     189             :     long onUpdExportSetting(FXObject*, FXSelector, void* data);
     190             : 
     191             :     /// @brief Called if the settings shall be read from a file
     192             :     long onCmdImportSetting(FXObject*, FXSelector, void* data);
     193             : 
     194             :     /// @brief Called when updating the button that allows to read settings from a file
     195             :     long onUpdImportSetting(FXObject*, FXSelector, void* data);
     196             : 
     197             :     /// @brief Called if the decal shall be loaded from a file
     198             :     long onCmdLoadDecal(FXObject*, FXSelector, void* data);
     199             : 
     200             :     /// @brief Called if the decals shall be loaded from a file
     201             :     long onCmdLoadXMLDecals(FXObject*, FXSelector, void* data);
     202             : 
     203             :     /// @brief Called if the decals shall be saved to a file
     204             :     long onCmdSaveXMLDecals(FXObject*, FXSelector, void* data);
     205             : 
     206             :     /// @brief Called if the decals shall be cleared
     207             :     long onCmdClearDecals(FXObject*, FXSelector, void* data);
     208             :     /// @}
     209             : 
     210             :     /** @brief Returns the name of the currently chosen scheme
     211             :      * @return The name of the edited (chosen) scheme)
     212             :      */
     213             :     std::string getCurrentScheme() const;
     214             : 
     215             :     /** @brief Sets the named scheme as the current
     216             :      * @param[in] The name of the scheme that shall be set as current
     217             :      */
     218             :     void setCurrentScheme(const std::string&);
     219             : 
     220           0 :     void hide() {
     221           0 :         saveWindowPos();
     222           0 :         FXTopWindow::hide();
     223           0 :     }
     224             : 
     225             : protected:
     226             :     /// @brief The parent view (which settings are changed)
     227             :     GUISUMOAbstractView* myParent = nullptr;
     228             : 
     229             :     /// @brief The current settings
     230             :     GUIVisualizationSettings* mySettings = nullptr;
     231             : 
     232             :     /// @brief A backup of the settings (used if the "Cancel" button is pressed)
     233             :     GUIVisualizationSettings myBackup;
     234             : 
     235             :     /// @name Dialog elements
     236             :     /// @{
     237             : 
     238             :     MFXComboBoxIcon* mySchemeName = nullptr;
     239             :     FXCheckButton* myShowGrid = nullptr;
     240             :     FXRealSpinner* myGridXSizeDialer = nullptr;
     241             :     FXRealSpinner* myGridYSizeDialer = nullptr;
     242             : 
     243             :     FXColorWell* myBackgroundColor = nullptr;
     244             :     MFXDecalsTable* myDecalsTable = nullptr;
     245             : 
     246             :     /// @brief selection colors
     247             :     FXColorWell* mySelectionColor = nullptr;
     248             :     FXColorWell* mySelectedEdgeColor = nullptr;
     249             :     FXColorWell* mySelectedLaneColor = nullptr;
     250             :     FXColorWell* mySelectedConnectionColor = nullptr;
     251             :     FXColorWell* mySelectedProhibitionColor = nullptr;
     252             :     FXColorWell* mySelectedCrossingColor = nullptr;
     253             :     FXColorWell* mySelectedAdditionalColor = nullptr;
     254             :     FXColorWell* mySelectedRouteColor = nullptr;
     255             :     FXColorWell* mySelectedVehicleColor = nullptr;
     256             :     FXColorWell* mySelectedPersonColor = nullptr;
     257             :     FXColorWell* mySelectedPersonPlanColor = nullptr;
     258             :     FXColorWell* mySelectedEdgeDataColor = nullptr;
     259             : 
     260             :     /// @brief additional colors
     261             :     FXColorWell* myBusStopColor = nullptr;
     262             :     FXColorWell* myBusStopColorSign = nullptr;
     263             :     FXColorWell* myTrainStopColor = nullptr;
     264             :     FXColorWell* myTrainStopColorSign = nullptr;
     265             :     FXColorWell* myContainerStopColor = nullptr;
     266             :     FXColorWell* myContainerStopColorSign = nullptr;
     267             :     FXColorWell* myChargingStationColor = nullptr;
     268             :     FXColorWell* myChargingStationColorSign = nullptr;
     269             :     FXColorWell* myStopColor = nullptr;
     270             :     FXColorWell* myWaypointColor = nullptr;
     271             :     FXColorWell* myVehicleTripsColor = nullptr;
     272             :     FXColorWell* myStopPersonsColor = nullptr;
     273             :     FXColorWell* myPersonTripColor = nullptr;
     274             :     FXColorWell* myWalkColor = nullptr;
     275             :     FXColorWell* myRideColor = nullptr;
     276             :     FXColorWell* myStopContainersColor = nullptr;
     277             :     FXColorWell* myTransportColor = nullptr;
     278             :     FXColorWell* myTranshipColor = nullptr;
     279             : 
     280             :     /// @brief demand widths
     281             : 
     282             :     FXRealSpinner* myTripWidth = nullptr;
     283             :     FXRealSpinner* myPersonTripWidth = nullptr;
     284             :     FXRealSpinner* myWalkWidth = nullptr;
     285             :     FXRealSpinner* myRideWidth = nullptr;
     286             :     FXRealSpinner* myTransportWidth = nullptr;
     287             :     FXRealSpinner* myTranshipWidth = nullptr;
     288             : 
     289             :     /// @brief ... lane colorer
     290             :     MFXComboBoxIcon* myLaneEdgeColorMode = nullptr;
     291             :     FXVerticalFrame* myLaneColorSettingFrame = nullptr;
     292             :     std::vector<FXColorWell*> myLaneColors;
     293             :     std::vector<FXRealSpinner*> myLaneThresholds;
     294             :     std::vector<FXButton*> myLaneButtons;
     295             :     FXCheckButton* myLaneColorInterpolation = nullptr;
     296             :     FXButton* myLaneColorRainbow = nullptr;
     297             :     FXCheckButton* myLaneColorRainbowCheck = nullptr;
     298             :     FXRealSpinner* myLaneColorRainbowThreshold = nullptr;
     299             :     FXCheckButton* myLaneColorRainbowCheck2 = nullptr;
     300             :     FXRealSpinner* myLaneColorRainbowThreshold2 = nullptr;
     301             :     FXButton* myJunctionColorRainbow = nullptr;
     302             :     FXComboBox* myParamKey = nullptr;
     303             :     FXComboBox* myScalingParamKey = nullptr;
     304             :     MFXComboBoxIcon* myMeanDataID = nullptr;
     305             : 
     306             :     /// @brief ... lane scaler
     307             :     MFXComboBoxIcon* myLaneEdgeScaleMode = nullptr;
     308             :     FXVerticalFrame* myLaneScaleSettingFrame = nullptr;
     309             :     std::vector<FXRealSpinner*> myLaneScales;
     310             :     std::vector<FXRealSpinner*> myLaneScaleThresholds;
     311             :     std::vector<FXButton*> myLaneScaleButtons;
     312             :     FXCheckButton* myLaneScaleInterpolation = nullptr;
     313             : 
     314             :     FXCheckButton* myShowLaneBorders = nullptr;
     315             :     FXCheckButton* myShowBikeMarkings = nullptr;
     316             :     FXCheckButton* myShowLaneDecals = nullptr;
     317             :     FXCheckButton* myRealisticLinkRules = nullptr;
     318             :     FXCheckButton* myShowLinkRules = nullptr;
     319             :     FXCheckButton* myShowRails = nullptr;
     320             :     FXCheckButton* mySecondaryShape = nullptr;
     321             :     FXCheckButton* myHideMacroConnectors = nullptr;
     322             :     FXCheckButton* myShowLaneDirection = nullptr;
     323             :     FXCheckButton* myShowSublanes = nullptr;
     324             :     FXCheckButton* mySpreadSuperposed = nullptr;
     325             :     FXCheckButton* myDisableHideByZoom = nullptr;
     326             :     FXRealSpinner* myLaneWidthUpscaleDialer = nullptr;
     327             :     FXRealSpinner* myLaneMinWidthDialer = nullptr;
     328             : 
     329             :     /// @brief Vehicles
     330             :     MFXComboBoxIcon* myVehicleColorMode, *myVehicleShapeDetail = nullptr;
     331             :     FXVerticalFrame* myVehicleColorSettingFrame = nullptr;
     332             :     std::vector<FXColorWell*> myVehicleColors;
     333             :     std::vector<FXRealSpinner*> myVehicleThresholds;
     334             :     std::vector<FXButton*> myVehicleButtons;
     335             :     FXCheckButton* myVehicleColorInterpolation = nullptr;
     336             : 
     337             :     /// @brief vehicle scaler
     338             :     MFXComboBoxIcon* myVehicleScaleMode = nullptr;
     339             :     FXVerticalFrame* myVehicleScaleSettingFrame = nullptr;
     340             :     std::vector<FXRealSpinner*> myVehicleScales;
     341             :     std::vector<FXRealSpinner*> myVehicleScaleThresholds;
     342             :     std::vector<FXButton*> myVehicleScaleButtons;
     343             :     FXCheckButton* myVehicleScaleInterpolation = nullptr;
     344             : 
     345             :     FXCheckButton* myShowBlinker = nullptr;
     346             :     FXCheckButton* myShowMinGap = nullptr;
     347             :     FXCheckButton* myShowBrakeGap = nullptr;
     348             :     FXCheckButton* myShowBTRange = nullptr;
     349             :     FXCheckButton* myShowRouteIndex = nullptr;
     350             :     FXCheckButton* myScaleLength = nullptr;
     351             :     FXCheckButton* myDrawReversed = nullptr;
     352             :     FXCheckButton* myShowParkingInfo = nullptr;
     353             :     /*FXCheckButton* myShowLaneChangePreference = nullptr;*/
     354             : 
     355             :     FXComboBox* myVehicleParamKey = nullptr;
     356             :     FXComboBox* myVehicleScalingParamKey = nullptr;
     357             :     FXComboBox* myVehicleTextParamKey = nullptr;
     358             : 
     359             :     /// @brief Persons
     360             :     MFXComboBoxIcon* myPersonColorMode, *myPersonShapeDetail = nullptr;
     361             :     FXVerticalFrame* myPersonColorSettingFrame = nullptr;
     362             :     std::vector<FXColorWell*> myPersonColors;
     363             :     std::vector<FXRealSpinner*> myPersonThresholds;
     364             :     std::vector<FXButton*> myPersonButtons;
     365             :     FXCheckButton* myPersonColorInterpolation = nullptr;
     366             :     FXCheckButton* myShowPedestrianNetwork = nullptr;
     367             :     FXColorWell* myPedestrianNetworkColor = nullptr;
     368             : 
     369             :     /// @brief Containers
     370             :     MFXComboBoxIcon* myContainerColorMode, *myContainerShapeDetail = nullptr;
     371             :     FXVerticalFrame* myContainerColorSettingFrame = nullptr;
     372             :     std::vector<FXColorWell*> myContainerColors;
     373             :     std::vector<FXRealSpinner*> myContainerThresholds;
     374             :     std::vector<FXButton*> myContainerButtons;
     375             :     FXCheckButton* myContainerColorInterpolation = nullptr;
     376             :     FXRealSpinner* myContainerMinSizeDialer, *myContainerUpscaleDialer = nullptr;
     377             : 
     378             :     /// @brief junctions
     379             :     MFXComboBoxIcon* myJunctionColorMode = nullptr;
     380             :     FXVerticalFrame* myJunctionColorSettingFrame = nullptr;
     381             :     std::vector<FXColorWell*> myJunctionColors;
     382             :     std::vector<FXRealSpinner*> myJunctionThresholds;
     383             :     std::vector<FXButton*> myJunctionButtons;
     384             :     FXCheckButton* myJunctionColorInterpolation = nullptr;
     385             : 
     386             :     /// @brief POIs
     387             :     MFXComboBoxIcon* myPOIColorMode, *myPOIShapeDetail = nullptr;
     388             :     FXVerticalFrame* myPOIColorSettingFrame = nullptr;
     389             :     std::vector<FXColorWell*> myPOIColors;
     390             :     std::vector<FXRealSpinner*> myPOIThresholds;
     391             :     std::vector<FXButton*> myPOIButtons;
     392             :     FXCheckButton* myPOIColorInterpolation = nullptr;
     393             :     FXComboBox* myPOITextParamKey = nullptr;
     394             :     FXSpinner* myPoiDetail = nullptr;
     395             : 
     396             :     /// @brief Polygons
     397             :     MFXComboBoxIcon* myPolyColorMode, *myPolyShapeDetail = nullptr;
     398             :     FXVerticalFrame* myPolyColorSettingFrame = nullptr;
     399             :     std::vector<FXColorWell*> myPolyColors;
     400             :     std::vector<FXRealSpinner*> myPolyThresholds;
     401             :     std::vector<FXButton*> myPolyButtons;
     402             :     FXCheckButton* myPolyColorInterpolation = nullptr;
     403             : 
     404             :     /// @brief Data
     405             :     MFXComboBoxIcon* myDataColorMode = nullptr;
     406             :     FXVerticalFrame* myDataColorSettingFrame = nullptr;
     407             :     std::vector<FXColorWell*> myDataColors;
     408             :     std::vector<FXRealSpinner*> myDataThresholds;
     409             :     std::vector<FXButton*> myDataButtons;
     410             :     FXCheckButton* myDataColorInterpolation = nullptr;
     411             :     FXComboBox* myDataParamKey = nullptr;
     412             :     FXRealSpinner* myEdgeRelationUpscaleDialer = nullptr;
     413             :     FXRealSpinner* myTazRelationUpscaleDialer = nullptr;
     414             :     FXButton* myDataColorRainbow = nullptr;
     415             :     FXCheckButton* myDataColorRainbowCheck = nullptr;
     416             :     FXRealSpinner* myDataColorRainbowThreshold = nullptr;
     417             : 
     418             :     /// @brief buttons
     419             :     FXCheckButton* myShowLane2Lane = nullptr;
     420             :     FXCheckButton* myDrawJunctionShape = nullptr;
     421             :     FXCheckButton* myDrawCrossingsAndWalkingAreas = nullptr;
     422             :     FXCheckButton* myShowSizeLegend = nullptr;
     423             :     FXCheckButton* myShowColorLegend = nullptr;
     424             :     FXCheckButton* myShowVehicleColorLegend = nullptr;
     425             : 
     426             :     /// @brief 3D
     427             :     FXCheckButton* myShow3DTLSLinkMarkers = nullptr;
     428             :     FXCheckButton* myShow3DTLSDomes = nullptr;
     429             :     FXCheckButton* myShow3DHeadUpDisplay = nullptr;
     430             :     FXCheckButton* myGenerate3DTLSModels = nullptr;
     431             :     FXSpinner* myLight3DFactor = nullptr;
     432             :     //FXColorWell* myAmbient3DLight = nullptr;
     433             :     //FXColorWell* myDiffuse3DLight = nullptr;
     434             :     FXColorWell* mySkyColor = nullptr;
     435             : 
     436             :     /// @brief openGL
     437             :     FXCheckButton* myDither = nullptr;
     438             :     FXCheckButton* myFPS = nullptr;
     439             :     FXCheckButton* myDrawBoundaries = nullptr;
     440             :     FXCheckButton* myForceDrawForRectangleSelection = nullptr;
     441             :     FXCheckButton* myDisableDottedContours = nullptr;
     442             :     FXButton* myRecalculateBoundaries = nullptr;
     443             :     FXRealSpinner* myComboRows = nullptr;
     444             : 
     445             :     /// @brief name panels
     446             :     NamePanel* myEdgeNamePanel = nullptr;
     447             :     NamePanel* myInternalEdgeNamePanel = nullptr;
     448             :     NamePanel* myCwaEdgeNamePanel = nullptr;
     449             :     NamePanel* myStreetNamePanel = nullptr;
     450             :     NamePanel* myEdgeValuePanel = nullptr;
     451             :     NamePanel* myEdgeScaleValuePanel = nullptr;
     452             :     NamePanel* myJunctionIndexPanel = nullptr;
     453             :     NamePanel* myTLIndexPanel = nullptr;
     454             :     NamePanel* myJunctionIDPanel = nullptr;
     455             :     NamePanel* myJunctionNamePanel = nullptr;
     456             :     NamePanel* myInternalJunctionNamePanel = nullptr;
     457             :     NamePanel* myTLSPhaseIndexPanel = nullptr;
     458             :     NamePanel* myTLSPhaseNamePanel = nullptr;
     459             :     NamePanel* myVehicleNamePanel = nullptr;
     460             :     NamePanel* myVehicleValuePanel = nullptr;
     461             :     NamePanel* myVehicleScaleValuePanel = nullptr;
     462             :     NamePanel* myVehicleTextPanel = nullptr;
     463             :     NamePanel* myPersonNamePanel = nullptr;
     464             :     NamePanel* myPersonValuePanel = nullptr;
     465             :     NamePanel* myContainerNamePanel = nullptr;
     466             :     NamePanel* myAddNamePanel = nullptr;
     467             :     NamePanel* myAddFullNamePanel = nullptr;
     468             :     NamePanel* myPOINamePanel = nullptr;
     469             :     NamePanel* myPOITypePanel = nullptr;
     470             :     NamePanel* myPOITextPanel = nullptr;
     471             :     NamePanel* myPolyNamePanel = nullptr;
     472             :     NamePanel* myPolyTypePanel = nullptr;
     473             :     NamePanel* myDataValuePanel = nullptr;
     474             :     NamePanel* myGeometryIndicesPanel = nullptr;
     475             : 
     476             :     /// @brief size panels
     477             :     SizePanel* myVehicleSizePanel = nullptr;
     478             :     SizePanel* myPersonSizePanel = nullptr;
     479             :     SizePanel* myContainerSizePanel = nullptr;
     480             :     SizePanel* myPOISizePanel = nullptr;
     481             :     SizePanel* myPolySizePanel = nullptr;
     482             :     SizePanel* myAddSizePanel = nullptr;
     483             :     SizePanel* myJunctionSizePanel = nullptr;
     484             : 
     485             :     /// @brief load/save-menu
     486             :     FXCheckButton* mySaveViewPort = nullptr;
     487             :     FXCheckButton* mySaveDelay = nullptr;
     488             :     FXCheckButton* mySaveDecals = nullptr;
     489             :     FXCheckButton* mySaveBreakpoints = nullptr;
     490             : 
     491             :     /// @}
     492             : 
     493             :     /// @brief Frame3D
     494             :     FXTabItem* myFrame3D = nullptr;
     495             : 
     496             :     /// @brief update color ranges
     497             :     bool updateColorRanges(FXObject* sender, std::vector<FXColorWell*>::const_iterator colIt,
     498             :                            std::vector<FXColorWell*>::const_iterator colEnd,
     499             :                            std::vector<FXRealSpinner*>::const_iterator threshIt,
     500             :                            std::vector<FXRealSpinner*>::const_iterator threshEnd,
     501             :                            std::vector<FXButton*>::const_iterator buttonIt,
     502             :                            GUIColorScheme& scheme);
     503             : 
     504             :     /// @brief update scale ranges
     505             :     bool updateScaleRanges(FXObject* sender, std::vector<FXRealSpinner*>::const_iterator colIt,
     506             :                            std::vector<FXRealSpinner*>::const_iterator colEnd,
     507             :                            std::vector<FXRealSpinner*>::const_iterator threshIt,
     508             :                            std::vector<FXRealSpinner*>::const_iterator threshEnd,
     509             :                            std::vector<FXButton*>::const_iterator buttonIt,
     510             :                            GUIScaleScheme& scheme);
     511             : 
     512             :     /// @brief Rebuilds manipulators for the current coloring scheme
     513             :     FXMatrix* rebuildColorMatrix(FXVerticalFrame* frame,
     514             :                                  std::vector<FXColorWell*>& colors,
     515             :                                  std::vector<FXRealSpinner*>& thresholds,
     516             :                                  std::vector<FXButton*>& buttons,
     517             :                                  FXCheckButton* interpolation,
     518             :                                  GUIColorScheme& scheme);
     519             : 
     520             :     /// @brief Rebuilds manipulators for the current scaling scheme
     521             :     FXMatrix* rebuildScaleMatrix(FXVerticalFrame* frame,
     522             :                                  std::vector<FXRealSpinner*>& scales,
     523             :                                  std::vector<FXRealSpinner*>& thresholds,
     524             :                                  std::vector<FXButton*>& buttons,
     525             :                                  FXCheckButton* interpolation,
     526             :                                  GUIScaleScheme& scheme);
     527             : 
     528             :     /** @brief Rebuilds color changing dialogs after choosing another coloring scheme
     529             :      * @param[in] doCreate Whether "create" shall be called (only if built the first time)
     530             :      */
     531             :     void rebuildColorMatrices(bool doCreate = false);
     532             : 
     533             :     /** @brief Loads a scheme from a file
     534             :      * @param[in] file The name of the file to read the settings from
     535             :      */
     536             :     void loadSettings(const std::string& file);
     537             : 
     538             :     /** @brief Writes the currently used decals into a file
     539             :      * @param[in] file The name of the file to write the decals into
     540             :      */
     541             :     void saveDecals(OutputDevice& dev) const;
     542             : 
     543             :     /** @brief Loads decals from a file
     544             :      * @param[in] file The name of the file to read the decals from
     545             :      */
     546             :     void loadDecals(const std::string& file);
     547             : 
     548             :     /// @brief reload known vehicle parameters
     549             :     void updateVehicleParams();
     550             : 
     551             :     /// @brief reload known POI parameters
     552             :     void updatePOIParams();
     553             : 
     554             :     /// @brief build header
     555             :     void buildHeader(FXVerticalFrame* contentFrame);
     556             : 
     557             :     /// @brief build frames
     558             :     /// @{
     559             : 
     560             :     void buildBackgroundFrame(FXTabBook* tabbook);
     561             :     void buildStreetsFrame(FXTabBook* tabbook);
     562             :     void buildVehiclesFrame(FXTabBook* tabbook);
     563             :     void buildPersonsFrame(FXTabBook* tabbook);
     564             :     void buildContainersFrame(FXTabBook* tabbook);
     565             :     void buildJunctionsFrame(FXTabBook* tabbook);
     566             :     void buildAdditionalsFrame(FXTabBook* tabbook);
     567             :     void buildDemandFrame(FXTabBook* tabbook);
     568             :     void buildPOIsFrame(FXTabBook* tabbook);
     569             :     void buildPolygonsFrame(FXTabBook* tabbook);
     570             :     void buildSelectionFrame(FXTabBook* tabbook);
     571             :     void buildDataFrame(FXTabBook* tabbook);
     572             :     void buildLegendFrame(FXTabBook* tabbook);
     573             :     void buildOpenGLFrame(FXTabBook* tabbook);
     574             :     void build3DFrame(FXTabBook* tabbook);
     575             : 
     576             :     ///@}
     577             : 
     578             :     /// @brief build buttons
     579             :     void buildButtons(FXVerticalFrame* contentFrame);
     580             : 
     581             : private:
     582             :     /// @brief invalidated copy constructor
     583             :     GUIDialog_ViewSettings(const GUIDialog_ViewSettings& s) = delete;
     584             : 
     585             :     /// @brief invalidated assignment operator
     586             :     GUIDialog_ViewSettings& operator=(const GUIDialog_ViewSettings& s) = delete;
     587             : };

Generated by: LCOV version 1.14