SUMO - Simulation of Urban MObility
GUIGlChildWindow.h
Go to the documentation of this file.
00001 /****************************************************************************/
00009 //
00010 /****************************************************************************/
00011 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
00012 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
00013 /****************************************************************************/
00014 //
00015 //   This file is part of SUMO.
00016 //   SUMO is free software: you can redistribute it and/or modify
00017 //   it under the terms of the GNU General Public License as published by
00018 //   the Free Software Foundation, either version 3 of the License, or
00019 //   (at your option) any later version.
00020 //
00021 /****************************************************************************/
00022 #ifndef GUIGlChildWindow_h
00023 #define GUIGlChildWindow_h
00024 
00025 
00026 
00027 // ===========================================================================
00028 // included modules
00029 // ===========================================================================
00030 
00031 #ifdef _MSC_VER
00032 #include <windows_config.h>
00033 #else
00034 #include <config.h>
00035 #endif
00036 
00037 #include <fx.h>
00038 #include <fx3d.h>
00039 
00040 #include "GUISUMOAbstractView.h"
00041 
00042 
00043 // ===========================================================================
00044 // class definitions
00045 // ===========================================================================
00049 class GUIGlChildWindow : public FXMDIChild {
00050     FXDECLARE(GUIGlChildWindow)
00051 public:
00052     GUIGlChildWindow(FXMDIClient* p, GUIMainWindow* parentWindow,
00053                      FXMDIMenu* mdimenu, const FXString& name,
00054                      FXIcon* ic = NULL, FXuint opts = 0, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0);
00055 
00056     virtual ~GUIGlChildWindow();
00057 
00058     virtual FXGLCanvas* getBuildGLCanvas() const;
00059     virtual void create();
00060 
00061     GUISUMOAbstractView* getView() const {
00062         return myView;
00063     }
00064 
00065     long onCmdRecenterView(FXObject*, FXSelector, void*);
00066     long onCmdEditViewport(FXObject*, FXSelector, void*);
00067     long onCmdEditViewScheme(FXObject*, FXSelector, void*);
00068     long onCmdShowToolTips(FXObject* sender, FXSelector, void*);
00069     long onCmdZoomStyle(FXObject* sender, FXSelector, void*);
00070     long onCmdChangeColorScheme(FXObject*, FXSelector sel, void*);
00071 
00072     virtual void buildNavigationToolBar();
00073     virtual void buildColoringToolBar();
00074     virtual void buildScreenshotToolBar();
00075 
00076 
00077     FXToolBar& getNavigationToolBar(GUISUMOAbstractView& v);
00078     FXPopup* getLocatorPopup();
00079     FXComboBox& getColoringSchemesCombo();
00080 
00084     void setView(GUIGlID id);
00085 
00086 
00090     GUIMainWindow* getParent() {
00091         return myParent;
00092     }
00093 
00094 
00096     virtual bool isSelected(GUIGlObject* o) const;
00097 
00098 
00099 protected:
00101     GUISUMOAbstractView* myView;
00102 
00104     FXToolBar* myNavigationToolBar;
00105 
00107     FXPopup* myLocatorPopup;
00108     FXMenuButton* myLocatorButton;
00109 
00110     FXVerticalFrame* myContentFrame;
00111 
00112     FXComboBox* myColoringSchemes;
00113 
00115     GUIMainWindow* myParent;
00116 
00117 
00118 protected:
00119     GUIGlChildWindow() { }
00120 
00121 };
00122 
00123 
00124 #endif
00125 
00126 /****************************************************************************/
00127 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines