Main Page Class Hierarchy Compound List File List Compound Members File Members Related Pages Examples

# sdlwidgetlist.h

Go to the documentation of this file.

    00001 /*
    00002     ParaGUI - crossplatform widgetset
    00003     Copyright (C) 2000  Alexander Pipelka
    00004
    00005     This library is free software; you can redistribute it and/or
    00006     modify it under the terms of the GNU Library General Public
    00007     License as published by the Free Software Foundation; either
    00008     version 2 of the License, or (at your option) any later version.
    00009
    00010     This library is distributed in the hope that it will be useful,
    00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013     Library General Public License for more details.
    00014
    00015     You should have received a copy of the GNU Library General Public
    00016     License along with this library; if not, write to the Free
    00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    00018
    00019     Alexander Pipelka
    00020     pipelka@teleweb.at
    00021
    00022     Last Update:      $Author: pipelka $
    00023     Update Date:      $Date: 2001/01/31 17:23:17 $
    00024     Source File:      $Source: /usr/local/CVSROOT/linux/paragui/doc/html/sdlwidgetlist_h-source.html,v $
    00025     CVS/RCS Revision: $Revision: 1.34 $
    00026     Status:           $State: Exp $
    00027 */
    00028
    00029 #ifndef SDLWIDGETLIST_H
    00030 #define SDLWIDGETLIST_H
    00031
    00032 #ifdef SWIG
    00033 %include "swigcommon.h"
    00034 %module sdlwidgetlist
    00035 %{
    00036 #include "sdlwidgetlist.h"
    00037 %}
    00038 #endif
    00039
    00040 #include "sdlgradientwidget.h"
    00041 #include "sdlscrollbar.h"
    00042
    00043 #include <vector>
    00044
    00054 class DECLSPEC SDLWidgetList : public SDLGradientWidget  {
    00055 public:
    00056
    00060     SDLWidgetList(SDLWidget* parent, SDL_Rect& r);
    00061
    00065     ~SDLWidgetList();
    00066
    00072     void AddWidget(SDLWidget* w);
    00073
    00079     bool RemoveWidget(SDLWidget* w);
    00080
    00087     SDLWidget* FindWidget(int index);
    00088
    00092     void RemoveAll();
    00093
    00097     void DeleteAll();
    00098
    00102     int GetWidgetCount();
    00103
    00104 protected:
    00105
    00107     void eventShow();
    00108
    00110     void eventSizeWindow(int w, int h);
    00111
    00113     bool eventScrollPos(int id, SDLWidget* widget, unsigned long data);
    00114
    00116     bool eventScrollTrack(int id, SDLWidget* widget, unsigned long data);
    00117
    00119     void ScrollToY(Sint32 position);
    00120
    00127     SDLWidget* GetWidgetFromPos(Sint32 y);
    00128
    00129     SDLScrollBar* my_objScrollbar;
    00130
    00131     SDL_Rect my_rectScrollbar;
    00132     SDL_Rect my_rectList;
    00133
    00134     int my_widthScrollbar;
    00135
    00137 #ifndef SWIG
    00138     std::vector < SDLWidget* > my_widgetList; // Hmmm, I know about this: vector :))
    00139 #endif
    00140
    00141     int my_widgetCount;
    00142     int my_firstWidget;
    00143     Uint32 my_height;
    00144
    00145 private:
    00146
    00147     SDLWidgetList(const SDLWidgetList&);
    00148     SDLWidgetList& operator=(const SDLWidgetList&);
    00149
    00150 };
    00151
    00152 #endif // SDLWIDGETLIST_H