LCOV - code coverage report
Current view: top level - src/utils/gui/windows - GUIGlChildWindow.h (source / functions) Coverage Total Hit
Test: lcov.info Lines: 0.0 % 4 0
Test Date: 2024-12-21 15:45:41 Functions: 0.0 % 2 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    GUIGlChildWindow.h
      15              : /// @author  Daniel Krajzewicz
      16              : /// @author  Jakob Erdmann
      17              : /// @author  Michael Behrisch
      18              : /// @date    Fri, 29.04.2005
      19              : ///
      20              : //
      21              : /****************************************************************************/
      22              : #pragma once
      23              : #include <config.h>
      24              : 
      25              : #include "GUISUMOAbstractView.h"
      26              : 
      27              : 
      28              : // ===========================================================================
      29              : // class declaration
      30              : // ===========================================================================
      31              : 
      32              : class MFXCheckableButton;
      33              : class MFXMenuButtonTooltip;
      34              : 
      35              : // ===========================================================================
      36              : // class definitions
      37              : // ===========================================================================
      38              : 
      39              : class GUIGlChildWindow : public FXMDIChild {
      40            0 :     FXDECLARE(GUIGlChildWindow)
      41              : 
      42              : public:
      43              :     /// @brief constructor
      44              :     GUIGlChildWindow(FXMDIClient* p, GUIMainWindow* GUIMainWindowParent,
      45              :                      FXMDIMenu* mdimenu, const FXString& name, FXMenuBar* gripNavigationToolbar,
      46              :                      FXIcon* ic = NULL, FXuint opts = 0, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0);
      47              : 
      48              :     /// @brief destructor
      49              :     virtual ~GUIGlChildWindow();
      50              : 
      51              :     /// @brief get build GL Canvas
      52              :     virtual FXGLCanvas* getBuildGLCanvas() const;
      53              : 
      54              :     /// @brief create GUIGlChildWindow
      55              :     virtual void create();
      56              : 
      57              :     /// @brief return GUISUMOAbstractView
      58              :     GUISUMOAbstractView* getView() const;
      59              : 
      60              :     /// @brief Returns the GUIMainWindow parent
      61              :     GUIMainWindow* getGUIMainWindowParent();
      62              : 
      63              :     /// @name buttons call backs
      64              :     /// @{
      65              :     long onCmdRecenterView(FXObject*, FXSelector, void*);
      66              :     long onCmdEditViewport(FXObject*, FXSelector, void*);
      67              :     long onCmdEditViewScheme(FXObject*, FXSelector, void*);
      68              :     long onCmdShowToolTipsView(FXObject* sender, FXSelector, void*);
      69              :     long onCmdShowToolTipsMenu(FXObject* sender, FXSelector, void*);
      70              :     long onCmdZoomStyle(FXObject* sender, FXSelector, void*);
      71              :     long onCmdChangeColorScheme(FXObject*, FXSelector sel, void*);
      72              :     /// @}
      73              : 
      74              :     /// @brief return a reference to navigation toolbar
      75              :     FXToolBar* getNavigationToolBar(GUISUMOAbstractView& v);
      76              : 
      77            0 :     virtual std::vector<GUIGlID> getObjectIDs(int messageId) const {
      78              :         // FOX does not allow abstract virtual function here
      79              :         UNUSED_PARAMETER(messageId);
      80            0 :         return  std::vector<GUIGlID>();
      81              :     }
      82              : 
      83              :     /// @ brief return a pointer to locator popup
      84              :     FXPopup* getLocatorPopup();
      85              : 
      86              :     /// @brief return combobox with the current coloring schemes (standard, fastest standard, real world...)
      87              :     MFXComboBoxIcon* getColoringSchemesCombo();
      88              : 
      89              :     /// @brief get menu for tooltips menu
      90              :     MFXCheckableButton* getShowToolTipsMenu() const;
      91              : 
      92              :     /** @brief Centers the view onto the given artifact
      93              :      * @param[in] id The id of the object to center the view on
      94              :      */
      95              :     void setView(GUIGlID id);
      96              : 
      97              :     /// @brief true if the object is selected (may include extra logic besides calling gSelected)
      98              :     virtual bool isSelected(GUIGlObject* o) const;
      99              : 
     100              : protected:
     101              :     /// @brief FOX needs this
     102            0 :     FOX_CONSTRUCTOR(GUIGlChildWindow)
     103              : 
     104              :     /// @brief The parent window
     105              :     GUIMainWindow* myGUIMainWindowParent = nullptr;
     106              : 
     107              :     /// @brief The grip navigation tool bar
     108              :     FXMenuBar* myGripNavigationToolbar = nullptr;
     109              : 
     110              :     /// @brief The static navigation tool bar
     111              :     FXToolBar* myStaticNavigationToolBar = nullptr;
     112              : 
     113              :     /// @brief The view
     114              :     GUISUMOAbstractView* myView = nullptr;
     115              : 
     116              :     /// @brief Zoom but
     117              :     MFXCheckableButton* myZoomStyle = nullptr;
     118              : 
     119              :     /// The locator menu
     120              :     FXPopup* myLocatorPopup = nullptr;
     121              : 
     122              :     /// @brief The locator button
     123              :     MFXMenuButtonTooltip* myLocatorButton = nullptr;
     124              : 
     125              :     /// @brief menu for tooltips view
     126              :     MFXCheckableButton* myShowToolTipsView = nullptr;
     127              : 
     128              :     /// @brief menu for tooltips menu
     129              :     MFXCheckableButton* myShowToolTipsMenu = nullptr;
     130              : 
     131              :     /// @brief The contents frame
     132              :     FXVerticalFrame* myChildWindowContentFrame = nullptr;
     133              : 
     134              :     /// @brief The coloring schemes
     135              :     MFXComboBoxIcon* myColoringSchemes = nullptr;
     136              : 
     137              :     /// @brief build navigation toolbar
     138              :     void buildNavigationToolBar();
     139              : 
     140              :     /// @brief build coloring toolbar
     141              :     void buildColoringToolBar();
     142              : 
     143              :     /// @brief build screenshot toolbar
     144              :     void buildScreenshotToolBar();
     145              : 
     146              : private:
     147              :     /// @brief Invalidated copy constructor.
     148              :     GUIGlChildWindow(const GUIGlChildWindow&) = delete;
     149              : 
     150              :     /// @brief Invalidated assignment operator.
     151              :     GUIGlChildWindow& operator=(const GUIGlChildWindow&) = delete;
     152              : };
        

Generated by: LCOV version 2.0-1