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    GUIIconSubSys.h
11 /// @author  Daniel Krajzewicz
12 /// @date    Jul 2003
13 /// @version $Id$
14 ///
15 // A class to manage icons of SUMO
16 /****************************************************************************/
17 #ifndef GUIIconSubSys_h
18 #define GUIIconSubSys_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <fx.h>
27 #include "GUIIcons.h"
28 
29 
30 // ===========================================================================
31 // class definitions
32 // ===========================================================================
33 class GUIIconSubSys {
34 public:
35     /**@brief Initiate GUIIconSubSys
36      * @param[in] a FOX Toolkit APP
37      */
38     static void initIcons(FXApp* a);
39 
40     /**@brief returns a icon previously defined in the enum GUIIcon
41      * @param[in] which GUIIcon enum
42      */
43     static FXIcon* getIcon(GUIIcon which);
44 
45     /// @brief close GUIIconSubSys
46     static void close();
47 
48 private:
49     /// @brief constructor is private because is called by the static function init(FXApp* a)
50     GUIIconSubSys(FXApp* a);
51 
52     /// @brief destructor
53     ~GUIIconSubSys();
54 
55     /// @brief instance of GUIIconSubSys
56     static GUIIconSubSys* myInstance;
57 
58     /// @brief vector with the icons
59     FXIcon* myIcons[ICON_MAX];
60 };
61 
62 
63 #endif
64 
65 /****************************************************************************/
66 
67