Eclipse SUMO - Simulation of Urban MObility
GUIIconSubSys.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2022 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 /****************************************************************************/
20 // Helper for icons loading and usage
21 /****************************************************************************/
22 #include <config.h>
23 
25 
26 #include "GUIIcons.h"
27 #include "GUIIconSubSys.h"
28 
29 #include "sumo_icon64.xpm"
30 #include "sumo_icon16.xpm"
31 #include "sumo_logo.xpm"
32 
33 #include "empty.xpm"
34 #include "filesave.xpm"
35 #include "fileopen.xpm"
36 #include "netopen.xpm"
37 #include "newnet.xpm"
38 #include "shapeopen.xpm"
39 #include "play.xpm"
40 #include "stop.xpm"
41 #include "step.xpm"
42 #include "new_window.xpm"
43 #include "new_window_3d.xpm"
44 
45 #include "app_tracker.xpm"
46 #include "app_finder.xpm"
47 #include "app_breakpoints.xpm"
48 #include "app_tlstracker.xpm"
49 #include "app_table.xpm"
50 #include "app_selector.xpm"
51 
52 #include "locate.xpm"
53 #include "locate_junction.xpm"
54 #include "locate_edge.xpm"
55 #include "locate_vehicle.xpm"
56 #include "locate_route.xpm"
57 #include "locate_stop.xpm"
58 #include "locate_person.xpm"
59 #include "locate_container.xpm"
60 #include "locate_tls.xpm"
61 #include "locate_add.xpm"
62 #include "locate_poi.xpm"
63 #include "locate_poly.xpm"
64 
65 #include "tool_netdiff.xpm"
66 
67 #include "green_container.xpm"
68 #include "yellow_container.xpm"
69 #include "green_edge.xpm"
70 #include "yellow_edge.xpm"
71 #include "green_vehicle.xpm"
72 #include "yellow_vehicle.xpm"
73 #include "green_person.xpm"
74 #include "yellow_person.xpm"
75 
76 #include "colorwheel.xpm"
77 #include "savedb.xpm"
78 #include "removedb.xpm"
79 #include "recenter_view.xpm"
80 #include "allow_rotation.xpm"
81 #include "show_tooltips.xpm"
82 #include "magnify.xpm"
83 #include "zoomstyle.xpm"
84 #include "yes.xpm"
85 #include "no.xpm"
86 
87 #include "extract_streets.xpm"
88 #include "dilate.xpm"
89 #include "erode.xpm"
90 #include "opening.xpm"
91 #include "closing.xpm"
92 #include "erase_stains.xpm"
93 #include "close_gaps.xpm"
94 #include "skeletonize.xpm"
95 #include "rarify.xpm"
96 #include "create_graph.xpm"
97 #include "open_bmp_dialog.xpm"
98 #include "eyedrop.xpm"
99 #include "rubber1x.xpm"
100 #include "rubber2x.xpm"
101 #include "rubber3x.xpm"
102 #include "rubber4x.xpm"
103 #include "rubber5x.xpm"
104 #include "paintbrush1x.xpm"
105 #include "paintbrush2x.xpm"
106 #include "paintbrush3x.xpm"
107 #include "paintbrush4x.xpm"
108 #include "paintbrush5x.xpm"
109 #include "edit_graph.xpm"
110 #include "full_screen.xpm"
111 
112 #include "flag.cpp"
113 #include "flag_plus.cpp"
114 #include "flag_minus.cpp"
115 #include "windows_cascade.xpm"
116 #include "windows_tile_vertically.xpm"
117 #include "windows_tile_horizontally.xpm"
118 #include "reload.xpm"
119 #include "manip.cpp"
120 #include "camera.xpm"
121 
122 #include "undo.xpm"
123 #include "redo.xpm"
124 #include "undolist.xpm"
125 #include "netedit_icon64.xpm"
126 #include "netedit_icon16.xpm"
127 #include "lock.xpm"
128 #include "unlock.xpm"
129 #include "lock_selected.xpm"
130 #include "unlock_selected.xpm"
131 #include "add.xpm"
132 #include "remove.xpm"
133 #include "collapse.xpm"
134 #include "uncollapse.xpm"
135 
136 #include "arrowup.xpm"
137 #include "arrowdown.xpm"
138 #include "arrowleft.xpm"
139 #include "arrowright.xpm"
140 
141 #include "bigarrowleft.xpm"
142 #include "bigarrowright.xpm"
143 
144 #include "frontelement.xpm"
145 #include "computepathmanager.xpm"
146 
147 #include "checkbox_applytoallphases.xpm"
148 #include "checkbox_askformerge.xpm"
149 #include "checkbox_autoselectjunctions.xpm"
150 #include "checkbox_bubbles.xpm"
151 #include "checkbox_chain.xpm"
152 #include "checkbox_elevation.xpm"
153 #include "checkbox_grid.xpm"
154 #include "checkbox_hideconnections.xpm"
155 #include "checkbox_showsubadditionals.xpm"
156 #include "checkbox_hidenoninspecteddemandelements.xpm"
157 #include "checkbox_hideshapes.xpm"
158 #include "checkbox_lockcontainer.xpm"
159 #include "checkbox_lockperson.xpm"
160 #include "checkbox_selectededges.xpm"
161 #include "checkbox_showadditionals.xpm"
162 #include "checkbox_showconnections.xpm"
163 #include "checkbox_showcontainerplans.xpm"
164 #include "checkbox_showdemandelements.xpm"
165 #include "checkbox_showoverlappedroutes.xpm"
166 #include "checkbox_showpersonplans.xpm"
167 #include "checkbox_showshapes.xpm"
168 #include "checkbox_showtrips.xpm"
169 #include "checkbox_spreadvehicle.xpm"
170 #include "checkbox_tazdrawfill.xpm"
171 #include "checkbox_tazreldrawing.xpm"
172 #include "checkbox_tazrelonlyfrom.xpm"
173 #include "checkbox_tazrelonlyto.xpm"
174 #include "checkbox_twoway.xpm"
175 
176 #include "lanebike.xpm"
177 #include "lanebus.xpm"
178 #include "lanepedestrian.xpm"
179 #include "lanegreenverge.xpm"
180 
181 #include "cut.xpm"
182 #include "copy.xpm"
183 #include "paste.xpm"
184 
185 #include "select.xpm"
186 #include "unselect.xpm"
187 
188 #include "ext.xpm"
189 #include "tracker.xpm"
190 #include "hall_of_fame.xpm"
191 #include "clear_message_window.xpm"
192 
193 #include "saveallelements.xpm"
194 #include "savenetworkelements.xpm"
195 #include "saveaditionalelements.xpm"
196 #include "savedemandelements.xpm"
197 #include "savedataelements.xpm"
198 
199 #include "supermodenetwork.xpm"
200 #include "supermodedemand.xpm"
201 #include "supermodedata.xpm"
202 
203 #include "modeadditional.xpm"
204 #include "modeconnection.xpm"
205 #include "modecreateedge.xpm"
206 #include "modecrossing.xpm"
207 #include "modetaz.xpm"
208 #include "modedelete.xpm"
209 #include "modeinspect.xpm"
210 #include "modemove.xpm"
211 #include "modeselect.xpm"
212 #include "modetrafficlight.xpm"
213 #include "modepolygon.xpm"
214 #include "modeprohibition.xpm"
215 
216 #include "modecontainer.xpm"
217 #include "modecontainerplan.xpm"
218 #include "modeperson.xpm"
219 #include "modepersonplan.xpm"
220 #include "moderoute.xpm"
221 #include "modestop.xpm"
222 #include "modevehicle.xpm"
223 #include "modetype.xpm"
224 
225 #include "modeedgedata.xpm"
226 #include "modeedgereldata.xpm"
227 #include "modetazreldata.xpm"
228 
229 #include "computejunctions.xpm"
230 #include "cleanjunctions.xpm"
231 #include "joinjunctions.xpm"
232 #include "computedemand.xpm"
233 #include "cleanroutes.xpm"
234 #include "joinroutes.xpm"
235 #include "adjustpersonplans.xpm"
236 #include "options.xpm"
237 
238 #include "junction.xpm"
239 #include "edgetype.xpm"
240 #include "lanetype.xpm"
241 #include "edge.xpm"
242 #include "lane.xpm"
243 #include "connection.xpm"
244 #include "prohibition.xpm"
245 #include "crossing.xpm"
246 
247 #include "busstop.xpm"
248 #include "trainstop.xpm"
249 #include "access.xpm"
250 #include "chargingstation.xpm"
251 #include "containerstop.xpm"
252 #include "parkingarea.xpm"
253 #include "parkingspace.xpm"
254 #include "e1.xpm"
255 #include "e1instant.xpm"
256 #include "e2.xpm"
257 #include "e3.xpm"
258 #include "e3entry.xpm"
259 #include "e3exit.xpm"
260 #include "rerouter.xpm"
261 #include "routeprobe.xpm"
262 #include "vaporizer.xpm"
263 #include "variablespeedsign.xpm"
264 #include "calibrator.xpm"
265 #include "rerouterinterval.xpm"
266 #include "vssstep.xpm"
267 #include "closingreroute.xpm"
268 #include "closinglanereroute.xpm"
269 #include "destprobreroute.xpm"
270 #include "parkingzonereroute.xpm"
271 #include "routeprobreroute.xpm"
272 #include "poly.xpm"
273 #include "poi.xpm"
274 #include "poilane.xpm"
275 #include "poigeo.xpm"
276 #include "taz.xpm"
277 #include "tazedge.xpm"
278 
279 #include "route.xpm"
280 #include "vtype.xpm"
281 #include "vtypedistribution.xpm"
282 #include "vehicle.xpm"
283 #include "trip.xpm"
284 #include "tripjunctions.xpm"
285 #include "flow.xpm"
286 #include "flowjunctions.xpm"
287 #include "routeflow.xpm"
288 #include "stopelement.xpm"
289 #include "person.xpm"
290 #include "personflow.xpm"
291 #include "persontripfromto.xpm"
292 #include "persontripbusstop.xpm"
293 #include "persontripjunctions.xpm"
294 #include "walkedges.xpm"
295 #include "walkfromto.xpm"
296 #include "walkbusstop.xpm"
297 #include "walkroute.xpm"
298 #include "walkjunctions.xpm"
299 #include "ridefromto.xpm"
300 #include "ridebusstop.xpm"
301 #include "container.xpm"
302 #include "containerflow.xpm"
303 #include "transhipcontainerstop.xpm"
304 #include "transhipedges.xpm"
305 #include "transhipfromto.xpm"
306 #include "transportcontainerstop.xpm"
307 #include "transportfromto.xpm"
308 
309 
310 #include "dataset.xpm"
311 #include "datainterval.xpm"
312 #include "edgedata.xpm"
313 #include "edgereldata.xpm"
314 #include "tazreldata.xpm"
315 
316 #include "vclass_ignoring.xpm"
317 #include "vclass_private.xpm"
318 #include "vclass_emergency.xpm"
319 #include "vclass_authority.xpm"
320 #include "vclass_army.xpm"
321 #include "vclass_vip.xpm"
322 #include "vclass_passenger.xpm"
323 #include "vclass_hov.xpm"
324 #include "vclass_taxi.xpm"
325 #include "vclass_bus.xpm"
326 #include "vclass_coach.xpm"
327 #include "vclass_delivery.xpm"
328 #include "vclass_truck.xpm"
329 #include "vclass_trailer.xpm"
330 #include "vclass_tram.xpm"
331 #include "vclass_rail_urban.xpm"
332 #include "vclass_rail.xpm"
333 #include "vclass_rail_electric.xpm"
334 #include "vclass_motorcycle.xpm"
335 #include "vclass_moped.xpm"
336 #include "vclass_bicycle.xpm"
337 #include "vclass_pedestrian.xpm"
338 #include "vclass_evehicle.xpm"
339 #include "vclass_ship.xpm"
340 #include "vclass_custom1.xpm"
341 #include "vclass_custom2.xpm"
342 
343 #include "vshape_pedestrian.xpm"
344 #include "vshape_bicycle.xpm"
345 #include "vshape_moped.xpm"
346 #include "vshape_motorcycle.xpm"
347 #include "vshape_passenger.xpm"
348 #include "vshape_passenger_sedan.xpm"
349 #include "vshape_passenger_hatchback.xpm"
350 #include "vshape_passenger_wagon.xpm"
351 #include "vshape_passenger_van.xpm"
352 #include "vshape_delivery.xpm"
353 #include "vshape_truck.xpm"
354 #include "vshape_truck_semitrailer.xpm"
355 #include "vshape_truck_1trailer.xpm"
356 #include "vshape_bus.xpm"
357 #include "vshape_bus_coach.xpm"
358 #include "vshape_bus_flexible.xpm"
359 #include "vshape_bus_trolley.xpm"
360 #include "vshape_rail.xpm"
361 #include "vshape_rail_car.xpm"
362 #include "vshape_rail_cargo.xpm"
363 #include "vshape_e_vehicle.xpm"
364 #include "vshape_ant.xpm"
365 #include "vshape_ship.xpm"
366 #include "vshape_emergency.xpm"
367 #include "vshape_firebrigade.xpm"
368 #include "vshape_police.xpm"
369 #include "vshape_rickshaw.xpm"
370 #include "vshape_scooter.xpm"
371 #include "vshape_unknown.xpm"
372 
373 #include "accept.xpm"
374 #include "cancel.xpm"
375 #include "correct.xpm"
376 #include "incorrect.xpm"
377 #include "reset.xpm"
378 #include "warning.xpm"
379 
380 #include "grid.xpm"
381 #include "grid1.xpm"
382 #include "grid2.xpm"
383 #include "grid3.xpm"
384 
385 
386 // ===========================================================================
387 // static member variable definitions
388 // ===========================================================================
389 
391 
392 // ===========================================================================
393 // member definitions
394 // ===========================================================================
395 
397  // build icons
398  myIcons[GUIIcon::SUMO] = new FXXPMIcon(a, sumo_icon64_xpm);
399  myIcons[GUIIcon::SUMO_MINI] = new FXXPMIcon(a, sumo_icon16_xpm);
400  myIcons[GUIIcon::SUMO_LOGO] = new FXXPMIcon(a, sumo_logo_xpm);
401  myIcons[GUIIcon::EMPTY] = new FXXPMIcon(a, empty_xpm);
402  myIcons[GUIIcon::OPEN_CONFIG] = new FXXPMIcon(a, fileopen_xpm);
403  myIcons[GUIIcon::OPEN_NET] = new FXXPMIcon(a, netopen_xpm);
404  myIcons[GUIIcon::OPEN_SHAPES] = new FXXPMIcon(a, shapeopen_xpm);
405  myIcons[GUIIcon::OPEN_ADDITIONALS] = new FXXPMIcon(a, shapeopen_xpm);
406  myIcons[GUIIcon::OPEN_TLSPROGRAMS] = new FXXPMIcon(a, shapeopen_xpm);
407  myIcons[GUIIcon::NEW_NET] = new FXXPMIcon(a, newnet_xpm);
408  myIcons[GUIIcon::RELOAD] = new FXXPMIcon(a, reload_xpm);
409  myIcons[GUIIcon::SAVE] = new FXXPMIcon(a, filesave_xpm);
410  myIcons[GUIIcon::CLOSE] = new FXXPMIcon(a, empty_xpm);
411  myIcons[GUIIcon::HELP] = new FXXPMIcon(a, empty_xpm);
412  myIcons[GUIIcon::START] = new FXXPMIcon(a, play_xpm);
413  myIcons[GUIIcon::STOP] = new FXXPMIcon(a, stop_xpm);
414  myIcons[GUIIcon::STEP] = new FXXPMIcon(a, step_xpm);
415  myIcons[GUIIcon::MICROVIEW] = new FXXPMIcon(a, new_window_xpm);
416  myIcons[GUIIcon::OSGVIEW] = new FXXPMIcon(a, new_window_3d_xpm);
417  myIcons[GUIIcon::RECENTERVIEW] = new FXXPMIcon(a, recenter_view_xpm);
418  myIcons[GUIIcon::ALLOWROTATION] = new FXXPMIcon(a, allow_rotation_xpm);
419  myIcons[GUIIcon::EDITVIEWPORT] = new FXXPMIcon(a, magnify_xpm);
420  myIcons[GUIIcon::ZOOMSTYLE] = new FXXPMIcon(a, zoomstyle_xpm);
421  myIcons[GUIIcon::FULL_SCREEN] = new FXXPMIcon(a, full_screen_xpm);
422  myIcons[GUIIcon::HALL_OF_FAME] = new FXXPMIcon(a, hall_of_fame_xpm);
423  myIcons[GUIIcon::CLEARMESSAGEWINDOW] = new FXXPMIcon(a, clear_message_window_xpm);
424 
425  myIcons[GUIIcon::CUT] = new FXXPMIcon(a, cut_xpm);
426  myIcons[GUIIcon::COPY] = new FXXPMIcon(a, copy_xpm);
427  myIcons[GUIIcon::PASTE] = new FXXPMIcon(a, paste_xpm);
428 
429  myIcons[GUIIcon::SELECT] = new FXXPMIcon(a, select_xpm);
430  myIcons[GUIIcon::UNSELECT] = new FXXPMIcon(a, unselect_xpm);
431 
432  myIcons[GUIIcon::APP_TRACKER] = new FXXPMIcon(a, app_tracker_xpm);
433  myIcons[GUIIcon::APP_FINDER] = new FXXPMIcon(a, app_finder_xpm);
434  myIcons[GUIIcon::APP_BREAKPOINTS] = new FXXPMIcon(a, app_breakpoints_xpm);
435  myIcons[GUIIcon::APP_TLSTRACKER] = new FXXPMIcon(a, app_tlstracker_xpm);
436  myIcons[GUIIcon::APP_TABLE] = new FXXPMIcon(a, app_table_xpm);
437  myIcons[GUIIcon::APP_SELECTOR] = new FXXPMIcon(a, app_selector_xpm);
438 
439  myIcons[GUIIcon::LOCATE] = new FXXPMIcon(a, locate_xpm);
440  myIcons[GUIIcon::LOCATEJUNCTION] = new FXXPMIcon(a, locate_junction_xpm);
441  myIcons[GUIIcon::LOCATEEDGE] = new FXXPMIcon(a, locate_edge_xpm);
442  myIcons[GUIIcon::LOCATEVEHICLE] = new FXXPMIcon(a, locate_vehicle_xpm);
443  myIcons[GUIIcon::LOCATEROUTE] = new FXXPMIcon(a, locate_route_xpm);
444  myIcons[GUIIcon::LOCATESTOP] = new FXXPMIcon(a, locate_stop_xpm);
445  myIcons[GUIIcon::LOCATEPERSON] = new FXXPMIcon(a, locate_person_xpm);
446  myIcons[GUIIcon::LOCATECONTAINER] = new FXXPMIcon(a, locate_container_xpm);
447  myIcons[GUIIcon::LOCATETLS] = new FXXPMIcon(a, locate_tls_xpm);
448  myIcons[GUIIcon::LOCATEADD] = new FXXPMIcon(a, locate_add_xpm);
449  myIcons[GUIIcon::LOCATEPOI] = new FXXPMIcon(a, locate_poi_xpm);
450  myIcons[GUIIcon::LOCATEPOLY] = new FXXPMIcon(a, locate_poly_xpm);
451 
452  myIcons[GUIIcon::TOOL_NETDIFF] = new FXXPMIcon(a, tool_netdiff_xpm);
453 
454  myIcons[GUIIcon::GREENCONTAINER] = new FXXPMIcon(a, green_container_xpm);
455  myIcons[GUIIcon::GREENEDGE] = new FXXPMIcon(a, green_edge_xpm);
456  myIcons[GUIIcon::GREENVEHICLE] = new FXXPMIcon(a, green_vehicle_xpm);
457  myIcons[GUIIcon::GREENPERSON] = new FXXPMIcon(a, green_person_xpm);
458  myIcons[GUIIcon::YELLOWCONTAINER] = new FXXPMIcon(a, yellow_container_xpm);
459  myIcons[GUIIcon::YELLOWEDGE] = new FXXPMIcon(a, yellow_edge_xpm);
460  myIcons[GUIIcon::YELLOWVEHICLE] = new FXXPMIcon(a, yellow_vehicle_xpm);
461  myIcons[GUIIcon::YELLOWPERSON] = new FXXPMIcon(a, yellow_person_xpm);
462 
463  myIcons[GUIIcon::COLORWHEEL] = new FXXPMIcon(a, colorwheel_xpm);
464  myIcons[GUIIcon::SAVEDB] = new FXXPMIcon(a, savedb_xpm);
465  myIcons[GUIIcon::REMOVEDB] = new FXXPMIcon(a, removedb_xpm);
466  myIcons[GUIIcon::SHOWTOOLTIPS] = new FXXPMIcon(a, show_tooltips_xpm);
467  myIcons[GUIIcon::YES] = new FXXPMIcon(a, yes_xpm);
468  myIcons[GUIIcon::NO] = new FXXPMIcon(a, no_xpm);
469  myIcons[GUIIcon::FLAG] = new FXGIFIcon(a, flag);
470  myIcons[GUIIcon::FLAG_PLUS] = new FXGIFIcon(a, flag_plus);
471  myIcons[GUIIcon::FLAG_MINUS] = new FXGIFIcon(a, flag_minus);
472  // window arrangements
473  myIcons[GUIIcon::WINDOWS_CASCADE] = new FXXPMIcon(a, windows_cascade_xpm);
474  myIcons[GUIIcon::WINDOWS_TILE_VERT] = new FXXPMIcon(a, windows_tile_vertically_xpm);
475  myIcons[GUIIcon::WINDOWS_TILE_HORI] = new FXXPMIcon(a, windows_tile_horizontally_xpm);
476  // manipulate
477  myIcons[GUIIcon::MANIP] = new FXGIFIcon(a, manip);
478  myIcons[GUIIcon::CAMERA] = new FXXPMIcon(a, camera_xpm);
479  myIcons[GUIIcon::EXTRACT] = new FXXPMIcon(a, extract_streets_xpm);
480  myIcons[GUIIcon::DILATE] = new FXXPMIcon(a, dilate_xpm);
481  myIcons[GUIIcon::ERODE] = new FXXPMIcon(a, erode_xpm);
482  myIcons[GUIIcon::OPENING] = new FXXPMIcon(a, opening_xpm);
483  myIcons[GUIIcon::CLOSING] = new FXXPMIcon(a, closing_xpm);
484  myIcons[GUIIcon::ERASE_STAINS] = new FXXPMIcon(a, erase_stains_xpm);
485  myIcons[GUIIcon::CLOSE_GAPS] = new FXXPMIcon(a, close_gaps_xpm);
486  myIcons[GUIIcon::SKELETONIZE] = new FXXPMIcon(a, skeletonize_xpm);
487  myIcons[GUIIcon::RARIFY] = new FXXPMIcon(a, rarify_xpm);
488  myIcons[GUIIcon::CREATE_GRAPH] = new FXXPMIcon(a, create_graph_xpm);
489  myIcons[GUIIcon::OPEN_BMP_DIALOG] = new FXXPMIcon(a, open_bmp_dialog_xpm);
490  myIcons[GUIIcon::EYEDROP] = new FXXPMIcon(a, eyedrop_xpm);
491  myIcons[GUIIcon::PAINTBRUSH1X] = new FXXPMIcon(a, paintbrush1x_xpm);
492  myIcons[GUIIcon::PAINTBRUSH2X] = new FXXPMIcon(a, paintbrush2x_xpm);
493  myIcons[GUIIcon::PAINTBRUSH3X] = new FXXPMIcon(a, paintbrush3x_xpm);
494  myIcons[GUIIcon::PAINTBRUSH4X] = new FXXPMIcon(a, paintbrush4x_xpm);
495  myIcons[GUIIcon::PAINTBRUSH5X] = new FXXPMIcon(a, paintbrush5x_xpm);
496  myIcons[GUIIcon::RUBBER1X] = new FXXPMIcon(a, rubber1x_xpm);
497  myIcons[GUIIcon::RUBBER2X] = new FXXPMIcon(a, rubber2x_xpm);
498  myIcons[GUIIcon::RUBBER3X] = new FXXPMIcon(a, rubber3x_xpm);
499  myIcons[GUIIcon::RUBBER4X] = new FXXPMIcon(a, rubber4x_xpm);
500  myIcons[GUIIcon::RUBBER5X] = new FXXPMIcon(a, rubber5x_xpm);
501  myIcons[GUIIcon::EDITGRAPH] = new FXXPMIcon(a, edit_graph_xpm);
502 
503  myIcons[GUIIcon::UNDO] = new FXXPMIcon(a, undo_xpm);
504  myIcons[GUIIcon::REDO] = new FXXPMIcon(a, redo_xpm);
505  myIcons[GUIIcon::UNDOLIST] = new FXXPMIcon(a, undolist_xpm);
506  myIcons[GUIIcon::NETEDIT] = new FXXPMIcon(a, netedit_icon64_xpm);
507  myIcons[GUIIcon::NETEDIT_MINI] = new FXXPMIcon(a, netedit_icon16_xpm);
508  myIcons[GUIIcon::LOCK] = new FXXPMIcon(a, lock_xpm);
509  myIcons[GUIIcon::UNLOCK] = new FXXPMIcon(a, unlock_xpm);
510  myIcons[GUIIcon::LOCK_SELECTED] = new FXXPMIcon(a, lockselected_xpm);
511  myIcons[GUIIcon::UNLOCK_SELECTED] = new FXXPMIcon(a, unlockselected_xpm);
512  myIcons[GUIIcon::ADD] = new FXXPMIcon(a, add_xpm);
513  myIcons[GUIIcon::REMOVE] = new FXXPMIcon(a, remove_xpm);
514  myIcons[GUIIcon::BIGARROWLEFT] = new FXXPMIcon(a, bigarrowleft_xpm);
515  myIcons[GUIIcon::BIGARROWRIGHT] = new FXXPMIcon(a, bigarrowright_xpm);
516  myIcons[GUIIcon::FRONTELEMENT] = new FXXPMIcon(a, frontelement_xpm);
517  myIcons[GUIIcon::COMPUTEPATHMANAGER] = new FXXPMIcon(a, computepathmanager_xpm);
518  myIcons[GUIIcon::COLLAPSE] = new FXXPMIcon(a, collapse_xpm);
519  myIcons[GUIIcon::UNCOLLAPSE] = new FXXPMIcon(a, uncollapse_xpm);
520 
521  myIcons[GUIIcon::COMMONMODE_CHECKBOX_TOGGLEGRID] = new FXXPMIcon(a, checkbox_grid_xpm);
522  myIcons[GUIIcon::COMMONMODE_CHECKBOX_SPREADVEHICLE] = new FXXPMIcon(a, checkbox_spreadvehicle_xpm);
523  myIcons[GUIIcon::COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS] = new FXXPMIcon(a, checkbox_showdemandelements_xpm);
524 
525  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_SELECTEDGES] = new FXXPMIcon(a, checkbox_selectededges_xpm);
526  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_SHOWCONNECTIONS] = new FXXPMIcon(a, checkbox_showconnections_xpm);
527  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_AUTOSELECTJUNCTIONS] = new FXXPMIcon(a, checkbox_autoselectjunctions_xpm);
528  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_ASKFORMERGE] = new FXXPMIcon(a, checkbox_askformerge_xpm);
529  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_BUBBLES] = new FXXPMIcon(a, checkbox_bubbles_xpm);
530  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_ELEVATION] = new FXXPMIcon(a, checkbox_elevation_xpm);
531  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_CHAIN] = new FXXPMIcon(a, checkbox_chain_xpm);
532  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_TWOWAY] = new FXXPMIcon(a, checkbox_twoway_xpm);
533  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_HIDECONNECTIONS] = new FXXPMIcon(a, checkbox_hideconnections_xpm);
534  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_SHOWSUBADDITIONALS] = new FXXPMIcon(a, checkbox_showsubadditionals_xpm);
535  myIcons[GUIIcon::NETWORKMODE_CHECKBOX_APPLYTOALLPHASES] = new FXXPMIcon(a, checkbox_applytoallphases_xpm);
536 
537  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_HIDESHAPES] = new FXXPMIcon(a, checkbox_hideshapes_xpm);
538  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_SHOWTRIPS] = new FXXPMIcon(a, checkbox_showtrips_xpm);
539  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_HIDENONINSPECTEDDEMANDELEMENTS] = new FXXPMIcon(a, checkbox_hidenoninspecteddemandelements_xpm);
540  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_SHOWPERSONPLANS] = new FXXPMIcon(a, checkbox_showpersonplans_xpm);
541  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_LOCKPERSON] = new FXXPMIcon(a, checkbox_lockperson_xpm);
542  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS] = new FXXPMIcon(a, checkbox_showcontainerplans_xpm);
543  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_LOCKCONTAINER] = new FXXPMIcon(a, checkbox_lockcontainer_xpm);
544  myIcons[GUIIcon::DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES] = new FXXPMIcon(a, checkbox_showoverlappedroutes_xpm);
545 
546  myIcons[GUIIcon::DATAMODE_CHECKBOX_SHOWADDITIONALS] = new FXXPMIcon(a, checkbox_showadditionals_xpm);
547  myIcons[GUIIcon::DATAMODE_CHECKBOX_SHOWSHAPES] = new FXXPMIcon(a, checkbox_showshapes_xpm);
548  myIcons[GUIIcon::DATAMODE_CHECKBOX_TAZRELDRAWING] = new FXXPMIcon(a, checkbox_tazreldrawing_xpm);
549  myIcons[GUIIcon::DATAMODE_CHECKBOX_TAZDRAWFILL] = new FXXPMIcon(a, checkbox_tazdrawfill_xpm);
550  myIcons[GUIIcon::DATAMODE_CHECKBOX_TAZRELONLYFROM] = new FXXPMIcon(a, checkbox_tazrelonlyfrom_xpm);
551  myIcons[GUIIcon::DATAMODE_CHECKBOX_TAZRELONLYTO] = new FXXPMIcon(a, checkbox_tazrelonlyto_xpm);
552 
553  myIcons[GUIIcon::ARROW_UP] = new FXXPMIcon(a, arrowup_xpm);
554  myIcons[GUIIcon::ARROW_DOWN] = new FXXPMIcon(a, arrowdown_xpm);
555  myIcons[GUIIcon::ARROW_LEFT] = new FXXPMIcon(a, arrowleft_xpm);
556  myIcons[GUIIcon::ARROW_RIGHT] = new FXXPMIcon(a, arrowright_xpm);
557 
558  myIcons[GUIIcon::LANE_PEDESTRIAN] = new FXXPMIcon(a, lanepedestrian);
559  myIcons[GUIIcon::LANE_BUS] = new FXXPMIcon(a, lanebus);
560  myIcons[GUIIcon::LANE_BIKE] = new FXXPMIcon(a, lanebike);
561  myIcons[GUIIcon::LANEGREENVERGE] = new FXXPMIcon(a, lanegreenverge);
562 
563  myIcons[GUIIcon::EXT] = new FXXPMIcon(a, ext_xpm);
564  myIcons[GUIIcon::CUT_SWELL] = new FXXPMIcon(a, cut_xpm);
565  myIcons[GUIIcon::TRACKER] = new FXXPMIcon(a, tracker_xpm);
566 
567  myIcons[GUIIcon::SAVEALLELEMENTS] = new FXXPMIcon(a, saveallelements_xpm);
568  myIcons[GUIIcon::SAVENETWORKELEMENTS] = new FXXPMIcon(a, savenetworkelements_xpm);
569  myIcons[GUIIcon::SAVEADDITIONALELEMENTS] = new FXXPMIcon(a, saveadditionalelements_xpm);
570  myIcons[GUIIcon::SAVEDEMANDELEMENTS] = new FXXPMIcon(a, savedemandelements_xpm);
571  myIcons[GUIIcon::SAVEDATAELEMENTS] = new FXXPMIcon(a, savedataelements_xpm);
572 
573  myIcons[GUIIcon::SUPERMODENETWORK] = new FXXPMIcon(a, supermodenetwork_xpm);
574  myIcons[GUIIcon::SUPERMODEDEMAND] = new FXXPMIcon(a, supermodedemand_xpm);
575  myIcons[GUIIcon::SUPERMODEDATA] = new FXXPMIcon(a, supermodedata_xpm);
576 
577  myIcons[GUIIcon::MODEADDITIONAL] = new FXXPMIcon(a, modeadditional_xpm);
578  myIcons[GUIIcon::MODECONNECTION] = new FXXPMIcon(a, modeconnection_xpm);
579  myIcons[GUIIcon::MODECREATEEDGE] = new FXXPMIcon(a, modecreateedge_xpm);
580  myIcons[GUIIcon::MODECROSSING] = new FXXPMIcon(a, modecrossing_xpm);
581  myIcons[GUIIcon::MODETAZ] = new FXXPMIcon(a, modetaz_xpm);
582  myIcons[GUIIcon::MODEDELETE] = new FXXPMIcon(a, modedelete_xpm);
583  myIcons[GUIIcon::MODEINSPECT] = new FXXPMIcon(a, modeinspect_xpm);
584  myIcons[GUIIcon::MODEMOVE] = new FXXPMIcon(a, modemove_xpm);
585  myIcons[GUIIcon::MODESELECT] = new FXXPMIcon(a, modeselect_xpm);
586  myIcons[GUIIcon::MODETLS] = new FXXPMIcon(a, modetrafficlight_xpm);
587  myIcons[GUIIcon::MODEPOLYGON] = new FXXPMIcon(a, modepolygon_xpm);
588  myIcons[GUIIcon::MODEPROHIBITION] = new FXXPMIcon(a, modeprohibition_xpm);
589 
590  myIcons[GUIIcon::MODEROUTE] = new FXXPMIcon(a, moderoute_xpm);
591  myIcons[GUIIcon::MODEVEHICLE] = new FXXPMIcon(a, modevehicle_xpm);
592  myIcons[GUIIcon::MODETYPE] = new FXXPMIcon(a, modetype_xpm);
593  myIcons[GUIIcon::MODESTOP] = new FXXPMIcon(a, modestop_xpm);
594  myIcons[GUIIcon::MODEPERSON] = new FXXPMIcon(a, modeperson_xpm);
595  myIcons[GUIIcon::MODEPERSONPLAN] = new FXXPMIcon(a, modepersonplan_xpm);
596  myIcons[GUIIcon::MODECONTAINER] = new FXXPMIcon(a, modecontainer_xpm);
597  myIcons[GUIIcon::MODECONTAINERPLAN] = new FXXPMIcon(a, modecontainerplan_xpm);
598 
599  myIcons[GUIIcon::MODEEDGEDATA] = new FXXPMIcon(a, modeedgedata_xpm);
600  myIcons[GUIIcon::MODEEDGERELDATA] = new FXXPMIcon(a, modeedgereldata_xpm);
601  myIcons[GUIIcon::MODETAZRELDATA] = new FXXPMIcon(a, modetazreldata_xpm);
602 
603  myIcons[GUIIcon::COMPUTEJUNCTIONS] = new FXXPMIcon(a, computejunctions_xpm);
604  myIcons[GUIIcon::CLEANJUNCTIONS] = new FXXPMIcon(a, cleanjunctions_xpm);
605  myIcons[GUIIcon::JOINJUNCTIONS] = new FXXPMIcon(a, joinjunctions_xpm);
606  myIcons[GUIIcon::COMPUTEDEMAND] = new FXXPMIcon(a, computedemand_xpm);
607  myIcons[GUIIcon::CLEANROUTES] = new FXXPMIcon(a, cleanroutes_xpm);
608  myIcons[GUIIcon::JOINROUTES] = new FXXPMIcon(a, joinroutes_xpm);
609  myIcons[GUIIcon::ADJUSTPERSONPLANS] = new FXXPMIcon(a, adjustpersonplans_xpm);
610 
611  myIcons[GUIIcon::OPTIONS] = new FXXPMIcon(a, options_xpm);
612 
613  myIcons[GUIIcon::JUNCTION] = new FXXPMIcon(a, junction_xpm);
614  myIcons[GUIIcon::EDGETYPE] = new FXXPMIcon(a, edgetype_xpm);
615  myIcons[GUIIcon::LANETYPE] = new FXXPMIcon(a, lanetype_xpm);
616  myIcons[GUIIcon::EDGE] = new FXXPMIcon(a, edge_xpm);
617  myIcons[GUIIcon::LANE] = new FXXPMIcon(a, lane_xpm);
618  myIcons[GUIIcon::CONNECTION] = new FXXPMIcon(a, connection_xpm);
619  myIcons[GUIIcon::PROHIBITION] = new FXXPMIcon(a, prohibition_xpm);
620  myIcons[GUIIcon::CROSSING] = new FXXPMIcon(a, crossing_xpm);
621 
622  myIcons[GUIIcon::BUSSTOP] = new FXXPMIcon(a, busstop_xpm);
623  myIcons[GUIIcon::TRAINSTOP] = new FXXPMIcon(a, trainstop_xpm);
624  myIcons[GUIIcon::ACCESS] = new FXXPMIcon(a, access_xpm);
625  myIcons[GUIIcon::CONTAINERSTOP] = new FXXPMIcon(a, containerstop_xpm);
626  myIcons[GUIIcon::CHARGINGSTATION] = new FXXPMIcon(a, chargingstation_xpm);
627  myIcons[GUIIcon::PARKINGAREA] = new FXXPMIcon(a, parkingarea_xpm);
628  myIcons[GUIIcon::PARKINGSPACE] = new FXXPMIcon(a, parkingspace_xpm);
629  myIcons[GUIIcon::E1] = new FXXPMIcon(a, e1_xpm);
630  myIcons[GUIIcon::E2] = new FXXPMIcon(a, e2_xpm);
631  myIcons[GUIIcon::E3] = new FXXPMIcon(a, e3_xpm);
632  myIcons[GUIIcon::E3ENTRY] = new FXXPMIcon(a, e3entry_xpm);
633  myIcons[GUIIcon::E3EXIT] = new FXXPMIcon(a, e3exit_xpm);
634  myIcons[GUIIcon::E1INSTANT] = new FXXPMIcon(a, e1instant_xpm);
635  myIcons[GUIIcon::REROUTER] = new FXXPMIcon(a, rerouter_xpm);
636  myIcons[GUIIcon::ROUTEPROBE] = new FXXPMIcon(a, routeprobe_xpm);
637  myIcons[GUIIcon::VAPORIZER] = new FXXPMIcon(a, vaporizer_xpm);
638  myIcons[GUIIcon::VARIABLESPEEDSIGN] = new FXXPMIcon(a, variablespeedsign_xpm);
639  myIcons[GUIIcon::CALIBRATOR] = new FXXPMIcon(a, calibrator_xpm);
640  myIcons[GUIIcon::REROUTERINTERVAL] = new FXXPMIcon(a, rerouterinterval_xpm);
641  myIcons[GUIIcon::VSSSTEP] = new FXXPMIcon(a, vssstep_xpm);
642  myIcons[GUIIcon::CLOSINGREROUTE] = new FXXPMIcon(a, closingreroute_xpm);
643  myIcons[GUIIcon::CLOSINGLANEREROUTE] = new FXXPMIcon(a, closinglanereroute_xpm);
644  myIcons[GUIIcon::DESTPROBREROUTE] = new FXXPMIcon(a, destprobreroute_xpm);
645  myIcons[GUIIcon::PARKINGZONEREROUTE] = new FXXPMIcon(a, parkingzonereroute_xpm);
646  myIcons[GUIIcon::ROUTEPROBREROUTE] = new FXXPMIcon(a, routeprobreroute_xpm);
647  myIcons[GUIIcon::POLY] = new FXXPMIcon(a, poly_xpm);
648  myIcons[GUIIcon::POI] = new FXXPMIcon(a, poi_xpm);
649  myIcons[GUIIcon::POILANE] = new FXXPMIcon(a, poilane_xpm);
650  myIcons[GUIIcon::POIGEO] = new FXXPMIcon(a, poigeo_xpm);
651  myIcons[GUIIcon::TAZ] = new FXXPMIcon(a, taz_xpm);
652  myIcons[GUIIcon::TAZEDGE] = new FXXPMIcon(a, tazedge_xpm);
653 
654  myIcons[GUIIcon::ROUTE] = new FXXPMIcon(a, route_xpm);
655  myIcons[GUIIcon::VTYPE] = new FXXPMIcon(a, vtype_xpm);
656  myIcons[GUIIcon::VTYPEDISTRIBUTION] = new FXXPMIcon(a, vtypedistribution_xpm);
657  myIcons[GUIIcon::VEHICLE] = new FXXPMIcon(a, vehicle_xpm);
658  myIcons[GUIIcon::TRIP] = new FXXPMIcon(a, trip_xpm);
659  myIcons[GUIIcon::TRIP_JUNCTIONS] = new FXXPMIcon(a, tripjunctions_xpm);
660  myIcons[GUIIcon::FLOW] = new FXXPMIcon(a, flow_xpm);
661  myIcons[GUIIcon::FLOW_JUNCTIONS] = new FXXPMIcon(a, flowjunctions_xpm);
662  myIcons[GUIIcon::ROUTEFLOW] = new FXXPMIcon(a, routeflow_xpm);
663  myIcons[GUIIcon::STOPELEMENT] = new FXXPMIcon(a, stopelement_xpm);
664  myIcons[GUIIcon::PERSON] = new FXXPMIcon(a, person_xpm);
665  myIcons[GUIIcon::PERSONFLOW] = new FXXPMIcon(a, personflow_xpm);
666  myIcons[GUIIcon::PERSONTRIP_FROMTO] = new FXXPMIcon(a, persontripfromto_xpm);
667  myIcons[GUIIcon::PERSONTRIP_BUSSTOP] = new FXXPMIcon(a, persontripbusstop_xpm);
668  myIcons[GUIIcon::PERSONTRIP_JUNCTIONS] = new FXXPMIcon(a, persontripjunctions_xpm);
669  myIcons[GUIIcon::WALK_EDGES] = new FXXPMIcon(a, walkedges_xpm);
670  myIcons[GUIIcon::WALK_FROMTO] = new FXXPMIcon(a, walkfromto_xpm);
671  myIcons[GUIIcon::WALK_BUSSTOP] = new FXXPMIcon(a, walkbusstop_xpm);
672  myIcons[GUIIcon::WALK_ROUTE] = new FXXPMIcon(a, walkroute_xpm);
673  myIcons[GUIIcon::WALK_JUNCTIONS] = new FXXPMIcon(a, walkjunctions_xpm);
674  myIcons[GUIIcon::RIDE_FROMTO] = new FXXPMIcon(a, ridefromto_xpm);
675  myIcons[GUIIcon::RIDE_BUSSTOP] = new FXXPMIcon(a, ridebusstop_xpm);
676 
677  myIcons[GUIIcon::CONTAINER] = new FXXPMIcon(a, container_xpm);
678  myIcons[GUIIcon::CONTAINERFLOW] = new FXXPMIcon(a, containerflow_xpm);
679  myIcons[GUIIcon::TRANSPORT_FROMTO] = new FXXPMIcon(a, transportfromto_xpm);
680  myIcons[GUIIcon::TRANSPORT_CONTAINERSTOP] = new FXXPMIcon(a, transportcontainerstop_xpm);
681  myIcons[GUIIcon::TRANSHIP_EDGES] = new FXXPMIcon(a, transhipedges_xpm);
682  myIcons[GUIIcon::TRANSHIP_FROMTO] = new FXXPMIcon(a, transhipfromto_xpm);
683  myIcons[GUIIcon::TRANSHIP_CONTAINERSTOP] = new FXXPMIcon(a, transhipcontainerstop_xpm);
684 
685  myIcons[GUIIcon::DATASET] = new FXXPMIcon(a, dataset_xpm);
686  myIcons[GUIIcon::DATAINTERVAL] = new FXXPMIcon(a, datainterval_xpm);
687  myIcons[GUIIcon::EDGEDATA] = new FXXPMIcon(a, edgedata_xpm);
688  myIcons[GUIIcon::EDGERELDATA] = new FXXPMIcon(a, edgereldata_xpm);
689  myIcons[GUIIcon::TAZRELDATA] = new FXXPMIcon(a, tazreldata_xpm);
690 
691  myIcons[GUIIcon::VCLASS_IGNORING] = new FXXPMIcon(a, vclass_ignoring_xpm);
692  myIcons[GUIIcon::VCLASS_PRIVATE] = new FXXPMIcon(a, vclass_private_xpm);
693  myIcons[GUIIcon::VCLASS_EMERGENCY] = new FXXPMIcon(a, vclass_emergency_xpm);
694  myIcons[GUIIcon::VCLASS_AUTHORITY] = new FXXPMIcon(a, vclass_authority_xpm);
695  myIcons[GUIIcon::VCLASS_ARMY] = new FXXPMIcon(a, vclass_army_xpm);
696  myIcons[GUIIcon::VCLASS_VIP] = new FXXPMIcon(a, vclass_vip_xpm);
697  myIcons[GUIIcon::VCLASS_PASSENGER] = new FXXPMIcon(a, vclass_passenger_xpm);
698  myIcons[GUIIcon::VCLASS_HOV] = new FXXPMIcon(a, vclass_hov_xpm);
699  myIcons[GUIIcon::VCLASS_TAXI] = new FXXPMIcon(a, vclass_taxi_xpm);
700  myIcons[GUIIcon::VCLASS_BUS] = new FXXPMIcon(a, vclass_bus_xpm);
701  myIcons[GUIIcon::VCLASS_COACH] = new FXXPMIcon(a, vclass_coach_xpm);
702  myIcons[GUIIcon::VCLASS_DELIVERY] = new FXXPMIcon(a, vclass_delivery_xpm);
703  myIcons[GUIIcon::VCLASS_TRUCK] = new FXXPMIcon(a, vclass_truck_xpm);
704  myIcons[GUIIcon::VCLASS_TRAILER] = new FXXPMIcon(a, vclass_trailer_xpm);
705  myIcons[GUIIcon::VCLASS_TRAM] = new FXXPMIcon(a, vclass_tram_xpm);
706  myIcons[GUIIcon::VCLASS_RAIL_URBAN] = new FXXPMIcon(a, vclass_rail_urban_xpm);
707  myIcons[GUIIcon::VCLASS_RAIL] = new FXXPMIcon(a, vclass_rail_xpm);
708  myIcons[GUIIcon::VCLASS_RAIL_ELECTRIC] = new FXXPMIcon(a, vclass_rail_electric_xpm);
709  myIcons[GUIIcon::VCLASS_MOTORCYCLE] = new FXXPMIcon(a, vclass_motorcycle_xpm);
710  myIcons[GUIIcon::VCLASS_MOPED] = new FXXPMIcon(a, vclass_moped_xpm);
711  myIcons[GUIIcon::VCLASS_BICYCLE] = new FXXPMIcon(a, vclass_bicycle_xpm);
712  myIcons[GUIIcon::VCLASS_PEDESTRIAN] = new FXXPMIcon(a, vclass_pedestrian_xpm);
713  myIcons[GUIIcon::VCLASS_EVEHICLE] = new FXXPMIcon(a, vclass_evehicle_xpm);
714  myIcons[GUIIcon::VCLASS_SHIP] = new FXXPMIcon(a, vclass_ship_xpm);
715  myIcons[GUIIcon::VCLASS_CUSTOM1] = new FXXPMIcon(a, vclass_custom1_xpm);
716  myIcons[GUIIcon::VCLASS_CUSTOM2] = new FXXPMIcon(a, vclass_custom2_xpm);
717 
718  myIcons[GUIIcon::VSHAPE_PEDESTRIAN] = new FXXPMIcon(a, vshape_pedestrian_xpm);
719  myIcons[GUIIcon::VSHAPE_BICYCLE] = new FXXPMIcon(a, vshape_bicycle_xpm);
720  myIcons[GUIIcon::VSHAPE_MOPED] = new FXXPMIcon(a, vshape_moped_xpm);
721  myIcons[GUIIcon::VSHAPE_MOTORCYCLE] = new FXXPMIcon(a, vshape_motorcycle_xpm);
722  myIcons[GUIIcon::VSHAPE_PASSENGER] = new FXXPMIcon(a, vshape_passenger_xpm);
723  myIcons[GUIIcon::VSHAPE_PASSENGER_SEDAN] = new FXXPMIcon(a, vshape_passenger_sedan_xpm);
724  myIcons[GUIIcon::VSHAPE_PASSENGER_HATCHBACK] = new FXXPMIcon(a, vshape_passenger_hatchback_xpm);
725  myIcons[GUIIcon::VSHAPE_PASSENGER_WAGON] = new FXXPMIcon(a, vshape_passenger_wagon_xpm);
726  myIcons[GUIIcon::VSHAPE_PASSENGER_VAN] = new FXXPMIcon(a, vshape_passenger_van_xpm);
727  myIcons[GUIIcon::VSHAPE_DELIVERY] = new FXXPMIcon(a, vshape_delivery_xpm);
728  myIcons[GUIIcon::VSHAPE_TRUCK] = new FXXPMIcon(a, vshape_truck_xpm);
729  myIcons[GUIIcon::VSHAPE_TRUCK_SEMITRAILER] = new FXXPMIcon(a, vshape_truck_semitrailer_xpm);
730  myIcons[GUIIcon::VSHAPE_TRUCK_1TRAILER] = new FXXPMIcon(a, vshape_truck_1trailer_xpm);
731  myIcons[GUIIcon::VSHAPE_BUS] = new FXXPMIcon(a, vshape_bus_xpm);
732  myIcons[GUIIcon::VSHAPE_BUS_COACH] = new FXXPMIcon(a, vshape_bus_coach_xpm);
733  myIcons[GUIIcon::VSHAPE_BUS_FLEXIBLE] = new FXXPMIcon(a, vshape_bus_flexible_xpm);
734  myIcons[GUIIcon::VSHAPE_BUS_TROLLEY] = new FXXPMIcon(a, vshape_bus_trolley_xpm);
735  myIcons[GUIIcon::VSHAPE_RAIL] = new FXXPMIcon(a, vshape_rail_xpm);
736  myIcons[GUIIcon::VSHAPE_RAIL_CAR] = new FXXPMIcon(a, vshape_rail_car_xpm);
737  myIcons[GUIIcon::VSHAPE_RAIL_CARGO] = new FXXPMIcon(a, vshape_rail_cargo_xpm);
738  myIcons[GUIIcon::VSHAPE_E_VEHICLE] = new FXXPMIcon(a, vshape_e_vehicle_xpm);
739  myIcons[GUIIcon::VSHAPE_ANT] = new FXXPMIcon(a, vshape_ant_xpm);
740  myIcons[GUIIcon::VSHAPE_SHIP] = new FXXPMIcon(a, vshape_ship_xpm);
741  myIcons[GUIIcon::VSHAPE_EMERGENCY] = new FXXPMIcon(a, vshape_emergency_xpm);
742  myIcons[GUIIcon::VSHAPE_FIREBRIGADE] = new FXXPMIcon(a, vshape_firebrigade_xpm);
743  myIcons[GUIIcon::VSHAPE_POLICE] = new FXXPMIcon(a, vshape_police_xpm);
744  myIcons[GUIIcon::VSHAPE_RICKSHAW] = new FXXPMIcon(a, vshape_rickshaw_xpm);
745  myIcons[GUIIcon::VSHAPE_SCOOTER] = new FXXPMIcon(a, vshape_scooter_xpm);
746  myIcons[GUIIcon::VSHAPE_UNKNOWN] = new FXXPMIcon(a, vshape_unknown_xpm);
747 
748  myIcons[GUIIcon::OK] = new FXXPMIcon(a, accept_xpm);
749  myIcons[GUIIcon::ACCEPT] = new FXXPMIcon(a, accept_xpm);
750  myIcons[GUIIcon::CANCEL] = new FXXPMIcon(a, cancel_xpm);
751  myIcons[GUIIcon::CORRECT] = new FXXPMIcon(a, correct_xpm);
752  myIcons[GUIIcon::INCORRECT] = new FXXPMIcon(a, incorrect_xpm);
753  myIcons[GUIIcon::RESET] = new FXXPMIcon(a, reset_xpm);
754  myIcons[GUIIcon::WARNING] = new FXXPMIcon(a, warning_xpm);
755 
756  myIcons[GUIIcon::GRID] = new FXXPMIcon(a, grid_xpm);
757  myIcons[GUIIcon::GRID1] = new FXXPMIcon(a, grid1_xpm);
758  myIcons[GUIIcon::GRID2] = new FXXPMIcon(a, grid2_xpm);
759  myIcons[GUIIcon::GRID3] = new FXXPMIcon(a, grid3_xpm);
760 
761  // ... and create them
762  for (const auto& icon : myIcons) {
763  icon.second->create();
764  }
765 }
766 
767 
769  // remove all icons
770  for (const auto& icon : myIcons) {
771  delete icon.second;
772  }
773 }
774 
775 
776 void
778  if (myInstance) {
779  throw ProcessError("Instance was previously created");
780  } else {
781  myInstance = new GUIIconSubSys(a);
782  }
783 }
784 
785 
786 FXIcon*
788  return myInstance->myIcons.at(which);
789 }
790 
791 
792 void
794  // delete instance and set null
795  delete myInstance;
796  myInstance = nullptr;
797 }
798 
799 
800 /****************************************************************************/
GUIIcon
An enumeration of icons used by the gui applications.
Definition: GUIIcons.h:33
@ VCLASS_TRAILER
@ CLEANJUNCTIONS
@ PARKINGSPACE
@ DATAMODE_CHECKBOX_SHOWADDITIONALS
@ SAVEALLELEMENTS
@ PERSONTRIP_JUNCTIONS
@ VCLASS_PASSENGER
@ UNLOCK_SELECTED
@ NETWORKMODE_CHECKBOX_BUBBLES
@ DATAMODE_CHECKBOX_TAZRELONLYFROM
@ VSHAPE_PEDESTRIAN
@ VSHAPE_PASSENGER
@ VCLASS_BICYCLE
@ VSHAPE_UNKNOWN
@ MODEPERSONPLAN
@ COMPUTEPATHMANAGER
@ VSHAPE_FIREBRIGADE
@ VSHAPE_EMERGENCY
@ TRANSPORT_FROMTO
@ MODECROSSING
@ VSHAPE_PASSENGER_VAN
@ MODEADDITIONAL
@ VSHAPE_PASSENGER_WAGON
@ BIGARROWLEFT
@ MODEEDGERELDATA
@ EDITVIEWPORT
@ SUPERMODEDEMAND
@ CLEARMESSAGEWINDOW
@ MODEPROHIBITION
@ VSHAPE_MOPED
@ VCLASS_CUSTOM2
@ DEMANDMODE_CHECKBOX_HIDENONINSPECTEDDEMANDELEMENTS
@ NETWORKMODE_CHECKBOX_HIDECONNECTIONS
@ VSHAPE_RAIL_CAR
@ DEMANDMODE_CHECKBOX_SHOWTRIPS
@ OPEN_ADDITIONALS
@ CONTAINERFLOW
@ PERSONTRIP_BUSSTOP
@ NETEDIT_MINI
@ CUT
basic operations
@ GREENVEHICLE
@ DATAMODE_CHECKBOX_SHOWSHAPES
@ NETWORKMODE_CHECKBOX_SELECTEDGES
@ COMMONMODE_CHECKBOX_SHOWDEMANDELEMENTS
@ COMPUTEJUNCTIONS
@ DEMANDMODE_CHECKBOX_LOCKPERSON
@ LOCATEVEHICLE
@ LANE_PEDESTRIAN
@ VCLASS_MOTORCYCLE
@ CLOSINGREROUTE
@ FRONTELEMENT
@ NETWORKMODE_CHECKBOX_APPLYTOALLPHASES
@ TRANSHIP_FROMTO
@ MODECREATEEDGE
@ VCLASS_COACH
@ VCLASS_AUTHORITY
@ DATAMODE_CHECKBOX_TAZRELONLYTO
@ NETWORKMODE_CHECKBOX_AUTOSELECTJUNCTIONS
@ YELLOWCONTAINER
@ LOCATEPERSON
@ VCLASS_TRUCK
@ CONTAINERSTOP
@ DATAMODE_CHECKBOX_TAZRELDRAWING
@ ERASE_STAINS
@ TRANSPORT_CONTAINERSTOP
@ VCLASS_MOPED
@ VSHAPE_E_VEHICLE
@ NETWORKMODE_CHECKBOX_SHOWCONNECTIONS
@ VCLASS_PEDESTRIAN
@ LOCK_SELECTED
@ VCLASS_PRIVATE
@ TRANSHIP_EDGES
@ WALK_JUNCTIONS
@ DEMANDMODE_CHECKBOX_SHOWPERSONPLANS
@ TRIP_JUNCTIONS
@ HALL_OF_FAME
@ VSHAPE_PASSENGER_HATCHBACK
@ PAINTBRUSH3X
@ DATAINTERVAL
@ WINDOWS_TILE_VERT
@ FLOW_JUNCTIONS
@ MODECONTAINER
@ VSHAPE_TRUCK_1TRAILER
@ DEMANDMODE_CHECKBOX_HIDESHAPES
@ GREENCONTAINER
@ APP_TLSTRACKER
@ WINDOWS_CASCADE
@ SAVEDATAELEMENTS
@ ROUTEPROBREROUTE
@ VSHAPE_POLICE
@ VSHAPE_RAIL_CARGO
@ PAINTBRUSH2X
@ DATAMODE_CHECKBOX_TAZDRAWFILL
@ SAVENETWORKELEMENTS
@ CHARGINGSTATION
@ OPEN_BMP_DIALOG
@ WALK_BUSSTOP
@ APP_SELECTOR
@ MODEEDGEDATA
@ TRANSHIP_CONTAINERSTOP
@ VSHAPE_BICYCLE
@ PARKINGZONEREROUTE
@ NETWORKMODE_CHECKBOX_ELEVATION
@ CLOSINGLANEREROUTE
@ TOOL_NETDIFF
@ RIDE_BUSSTOP
@ VCLASS_CUSTOM1
@ SUPERMODENETWORK
@ PAINTBRUSH4X
@ VSHAPE_BUS_TROLLEY
@ COMMONMODE_CHECKBOX_SPREADVEHICLE
@ SHOWTOOLTIPS
@ VSHAPE_DELIVERY
@ ADJUSTPERSONPLANS
@ DEMANDMODE_CHECKBOX_LOCKCONTAINER
@ VSHAPE_PASSENGER_SEDAN
@ VSHAPE_BUS_FLEXIBLE
@ VCLASS_DELIVERY
@ VSHAPE_RICKSHAW
@ ALLOWROTATION
@ NETWORKMODE_CHECKBOX_SHOWSUBADDITIONALS
@ VSHAPE_MOTORCYCLE
@ SAVEDEMANDELEMENTS
@ DESTPROBREROUTE
@ VCLASS_RAIL_ELECTRIC
@ VCLASS_IGNORING
@ LOCATECONTAINER
@ VSHAPE_TRUCK
@ SUPERMODEDATA
@ PERSONTRIP_FROMTO
@ SAVEADDITIONALELEMENTS
@ REROUTERINTERVAL
@ MODECONNECTION
@ PAINTBRUSH5X
@ VTYPEDISTRIBUTION
@ LOCATEJUNCTION
@ RECENTERVIEW
@ MODECONTAINERPLAN
@ LANEGREENVERGE
@ VCLASS_EMERGENCY
@ NETWORKMODE_CHECKBOX_CHAIN
@ VARIABLESPEEDSIGN
@ COMPUTEDEMAND
@ VSHAPE_BUS_COACH
@ BIGARROWRIGHT
@ VCLASS_RAIL_URBAN
@ PAINTBRUSH1X
@ APP_BREAKPOINTS
@ DEMANDMODE_CHECKBOX_SHOWOVERLAPPEDROUTES
@ VSHAPE_TRUCK_SEMITRAILER
@ NETWORKMODE_CHECKBOX_ASKFORMERGE
@ YELLOWPERSON
@ COMMONMODE_CHECKBOX_TOGGLEGRID
@ OPEN_TLSPROGRAMS
@ JOINJUNCTIONS
@ WINDOWS_TILE_HORI
@ YELLOWVEHICLE
@ CREATE_GRAPH
@ MODETAZRELDATA
@ VCLASS_EVEHICLE
@ VSHAPE_SCOOTER
@ DEMANDMODE_CHECKBOX_SHOWCONTAINERPLANS
@ NETWORKMODE_CHECKBOX_TWOWAY
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
static GUIIconSubSys * myInstance
instance of GUIIconSubSys
Definition: GUIIconSubSys.h:55
~GUIIconSubSys()
destructor
static void initIcons(FXApp *a)
Initiate GUIIconSubSys.
static void close()
close GUIIconSubSys
std::map< GUIIcon, FXIcon * > myIcons
vector with the icons
Definition: GUIIconSubSys.h:58
GUIIconSubSys(FXApp *a)
constructor is private because is called by the static function init(FXApp* a)
const unsigned char flag[]
Definition: flag.cpp:24
const unsigned char flag_minus[]
Definition: flag_minus.cpp:23
const unsigned char flag_plus[]
Definition: flag_plus.cpp:24
const unsigned char manip[]
Definition: manip.cpp:24