Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

guicontainer.h

00001 /***************************************************************************
00002                           guicontainer.h    -  description
00003     $Id: guicontainer.h 43 2006-09-12 21:29:41Z neoneurone $
00004                              -------------------
00005     begin                : lun 22 mar 2004
00006     copyright            : (C) 2004 by Duong-Khang NGUYEN
00007     email                : neoneurone @ users sourceforge net
00008  ***************************************************************************/
00009 
00010 /***************************************************************************
00011  *                                                                         *
00012  *   This program is free software; you can redistribute it and/or modify  *
00013  *   it under the terms of the GNU General Public License as published by  *
00014  *   the Free Software Foundation; either version 2 of the License, or     *
00015  *   any later version.                                                    *
00016  *                                                                         *
00017  ***************************************************************************/
00018 
00019 #if !defined(_OPENCITY_GUICONTAINER_H_)
00020 #define _OPENCITY_GUICONTAINER_H_ 1
00021 
00022 #include "main.h"
00023 
00024 #include "guimain.h"
00025 
00026 #include <vector>
00027 
00028 #define OC_GUICONTAINER_BG      "graphism/gui/toolcircle_bg.png"
00029 
00030    //========================================================================
00033 class GUIContainer : public GUIMain {
00034 public:
00035     GUIContainer();
00036     GUIContainer(
00037         const int & rciX,
00038         const int & rciY,
00039         const uint & rcuiW,
00040         const uint & rcuiH);
00041     ~GUIContainer();
00042 
00043    //========================================================================
00044     const uint
00045     Add( GUIMain* const pguimain );
00046 
00047    //========================================================================
00051     const uint
00052     GetNumber() const;
00053 
00054     void
00055     GetWinWH(
00056         int & riWinW,
00057         int & riWinH ) const;
00058 
00059     const uint
00060     GetClick() const;
00061 
00062 
00063    //========================================================================
00067     void
00068     Set(
00069         const uint & rcuiIndex,
00070         const OC_UBYTE & rcubAttribute ) const;
00071 
00072     void
00073     Set(
00074         const OC_UBYTE & rcubAttribute ) {
00075         GUIMain::Set( rcubAttribute );
00076     }
00077 
00078 
00079     void
00080     ResetAttribute( const OC_UBYTE & rcubAttr ) const;
00081 
00082    //========================================================================
00083    // Inherited methods from GUIMain
00084    //========================================================================
00085     void
00086     Display() const;
00087 
00088 
00089    //========================================================================
00090    // Inherited methods from UI
00091    //========================================================================
00092     void
00093     uiKeyboard( const SDL_KeyboardEvent & rcsSDLKeyboardEvent );
00094 
00095     void
00096     uiMouseMotion( const SDL_MouseMotionEvent & rcsSDLMouseMotionEvent );
00097 
00098     void
00099     uiMouseButton( const SDL_MouseButtonEvent & rcsSDLMouseButtonEvent );
00100 
00101     void
00102     uiExpose( const SDL_ExposeEvent & rcsSDLExposeEvent );
00103 
00104     void
00105     uiResize( const SDL_ResizeEvent & rcsSDLResizeEvent );
00106 
00107 
00108 private:
00109     uint uiWinWidth, uiWinHeight;
00110     std::vector<GUIMain*> vectorpguimain;
00111 
00112 
00113    /*=====================================================================*/
00114    /*                       STATIC       ATTRIBUTES                       */
00115    /*=====================================================================*/
00116 private:
00117     static GLuint   _uiTexture;
00118     static uint     _uiNumberContainer;
00119 };
00120 
00121 #endif
00122 
00123 
00124 
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00138 
00139 
00140 
00141 
00142 
00143 
00144 
00145 
00146 
00147 
00148 
00149 
00150 
00151 
00152 

Generated on Sat Nov 11 10:21:10 2006 for OpenCity by  doxygen 1.4.2