Main Page | Class Hierarchy | Class List | File List | Class Members

aedMenuBar.h

00001 
00002 /*
00003  * The aedMenuBar class
00004  * Initial design by Ivan Stankovic <pokemon@fly.srk.fer.hr>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Library General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Library General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Library General Public
00017  * License along with this library; if not, write to the Free
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  *
00020  */
00021 #ifndef AEDMENUBAR_H
00022 #define AEDMENUBAR_H
00023 
00024 #include "aedMenu.h"
00025 
00028 class DLLEXPORT aedMenuBar:public aedWidget
00029 {
00030   public:
00031     aedMenuBar();
00032     ~aedMenuBar();
00033 
00039     unsigned int attachMenu(std::string title, aedMenu * menu, int pos = -1);
00040 
00043     void detachMenu(unsigned int index);
00044 
00047     void detachMenu(aedMenu * menu);
00048 
00049     int wm_lbuttondown(Uint16 x, Uint16 y);
00050     int wm_mousemove(Uint16 x, Uint16 y, Uint16 dx, Uint16 dy);
00051     int wm_mouseleave();
00052     void render();
00053 
00054   private:
00055     int getIndexFromPixel(Uint16 x, Uint16 y, aedRect & rect);
00056 
00057   private:
00058     int m_Highlight, m_Active;
00059       std::vector < aedMenu * >m_Menus;
00060 };
00061 
00062 #if defined(_MSC_VER)
00063 DLLEXTERN template DLLEXPORT aedFunctor1Arg < stub, aedMenuBar >;
00064 #endif
00065 #endif /* AEDMENUBAR_H */

Generated on Mon Mar 1 19:56:18 2004 for aedGUI by doxygen 1.3.6