View Javadoc
1   package nl.tudelft.simulation.dsol.web.animation.D2;
2   
3   import nl.tudelft.simulation.dsol.animation.Locatable;
4   
5   /**
6    * ToggleButtonInfo.java. <br>
7    * <br>
8    * Copyright (c) 2003-2018 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See
9    * for project information <a href="https://www.simulation.tudelft.nl/" target="_blank">www.simulation.tudelft.nl</a>. The
10   * source code and binary code of this software is proprietary information of Delft University of Technology.
11   * @author <a href="https://www.tudelft.nl/averbraeck" target="_blank">Alexander Verbraeck</a>
12   */
13  public class ToggleButtonInfo
14  {
15      /** the name of the button. */
16      private final String name;
17  
18      /** whether the class is shown or not. */
19      private boolean visible;
20  
21      /**
22       * @param name String; the name of the button
23       * @param visible boolean; whether the class is initially shown or not
24       */
25      protected ToggleButtonInfo(String name, boolean visible)
26      {
27          super();
28          this.name = name;
29          this.visible = visible;
30      }
31  
32      /**
33       * @return visible
34       */
35      public final boolean isVisible()
36      {
37          return this.visible;
38      }
39  
40      /**
41       * @param visible set visible
42       */
43      public final void setVisible(boolean visible)
44      {
45          this.visible = visible;
46      }
47  
48      /**
49       * @return name
50       */
51      public final String getName()
52      {
53          return this.name;
54      }
55  
56      /**
57       * ToggleButtonInfo.LocatableClass. <br>
58       * <br>
59       * Copyright (c) 2003-2018 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved.
60       * See for project information <a href="https://www.simulation.tudelft.nl/" target="_blank">www.simulation.tudelft.nl</a>.
61       * The source code and binary code of this software is proprietary information of Delft University of Technology.
62       * @author <a href="https://www.tudelft.nl/averbraeck" target="_blank">Alexander Verbraeck</a>
63       */
64      public static class LocatableClass extends ToggleButtonInfo
65      {
66          /** the class for which the button holds (e.g., GTU.class). */
67          private final Class<? extends Locatable> locatableClass;
68  
69          /** the tool tip text to show when hovering over the button. */
70          private final String toolTipText;
71  
72          /**
73           * @param name String; the name of the button
74           * @param locatableClass Class&lt;? extends Locatable&gt;; the class for which the button holds (e.g., GTU.class)
75           * @param toolTipText String; the tool tip text to show when hovering over the button
76           * @param visible boolean; whether the class is initially shown or not
77           */
78          public LocatableClass(String name, Class<? extends Locatable> locatableClass, String toolTipText, boolean visible)
79          {
80              super(name, visible);
81              this.locatableClass = locatableClass;
82              this.toolTipText = toolTipText;
83          }
84  
85          /**
86           * @return locatableClass
87           */
88          public final Class<? extends Locatable> getLocatableClass()
89          {
90              return this.locatableClass;
91          }
92  
93          /**
94           * @return toolTipText
95           */
96          public final String getToolTipText()
97          {
98              return this.toolTipText;
99          }
100     }
101 
102     /**
103      * ToggleButtonInfo.Text. <br>
104      * <br>
105      * Copyright (c) 2003-2018 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved.
106      * See for project information <a href="https://www.simulation.tudelft.nl/" target="_blank">www.simulation.tudelft.nl</a>.
107      * The source code and binary code of this software is proprietary information of Delft University of Technology.
108      * @author <a href="https://www.tudelft.nl/averbraeck" target="_blank">Alexander Verbraeck</a>
109      */
110     public static class Text extends ToggleButtonInfo
111     {
112         /**
113          * @param name String; the name of the button
114          * @param visible boolean; whether the class is initially shown or not
115          */
116         public Text(String name, boolean visible)
117         {
118             super(name, visible);
119         }
120     }
121 
122     /**
123      * ToggleButtonInfo.Gis. <br>
124      * <br>
125      * Copyright (c) 2003-2018 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved.
126      * See for project information <a href="https://www.simulation.tudelft.nl/" target="_blank">www.simulation.tudelft.nl</a>.
127      * The source code and binary code of this software is proprietary information of Delft University of Technology.
128      * @author <a href="https://www.tudelft.nl/averbraeck" target="_blank">Alexander Verbraeck</a>
129      */
130     public static class Gis extends ToggleButtonInfo
131     {
132         /** the GIS layer name. */
133         private final String layerName;
134 
135         /** the tool tip text to show when hovering over the button. */
136         private final String toolTipText;
137 
138         /**
139          * @param name String; the name of the button
140          * @param layerName String; the GIS layer name
141          * @param toolTipText String; the tool tip text to show when hovering over the button
142          * @param visible boolean; whether the class is initially shown or not
143          */
144         public Gis(String name, String layerName, String toolTipText, boolean visible)
145         {
146             super(name, visible);
147             this.layerName = layerName;
148             this.toolTipText = toolTipText;
149         }
150 
151         /**
152          * @return layerName
153          */
154         public final String getLayerName()
155         {
156             return this.layerName;
157         }
158 
159         /**
160          * @return toolTipText
161          */
162         public final String getToolTipText()
163         {
164             return this.toolTipText;
165         }
166     }
167 
168 }