2003-05-19 22:58:01 +00:00
|
|
|
/*******************************************************************************
|
|
|
|
This file is Part of the Gewi GUI Library for ZEngine.
|
|
|
|
Gewi and ZEngine Copyright (C) 2002, 2003 James Turk
|
|
|
|
|
|
|
|
Licensed under a BSD-style license. (see licensing.txt)
|
|
|
|
|
|
|
|
The maintainer of this library is James Turk (james@conceptofzero.net)
|
|
|
|
this library is found at the home of ZEngine http://zengine.sourceforge.net
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
|
|
/*!
|
2003-05-19 23:53:53 +00:00
|
|
|
\file GewiWidgetList.h
|
|
|
|
\brief Definition file for WidgetList.
|
2003-05-19 22:58:01 +00:00
|
|
|
|
2003-05-19 23:53:53 +00:00
|
|
|
Definition file for WidgetList, a list of widgets used by GewiEngine and GContainers.
|
|
|
|
<br>$id$<br>
|
2003-05-19 22:58:01 +00:00
|
|
|
\author James Turk
|
|
|
|
**/
|
|
|
|
|
|
|
|
#ifndef __gewiwidgetlist_h__
|
|
|
|
#define __gewiwidgetlist_h__
|
|
|
|
|
|
|
|
#include "GewiIncludes.h"
|
|
|
|
|
|
|
|
namespace Gewi
|
|
|
|
{
|
|
|
|
|
|
|
|
class GWidget;
|
|
|
|
|
|
|
|
class WidgetNode
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
WidgetNode();
|
|
|
|
GWidget *widget;
|
|
|
|
WidgetNode *prev;
|
|
|
|
WidgetNode *next;
|
|
|
|
};
|
|
|
|
|
|
|
|
class WidgetList
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
WidgetNode *mWidgetList;
|
|
|
|
WidgetNode *mClick;
|
|
|
|
|
|
|
|
void DeleteWidgetMem(WidgetNode *node);
|
|
|
|
public:
|
|
|
|
WidgetList();
|
|
|
|
|
|
|
|
void AddWidget(WidgetNode *node);
|
|
|
|
void DeleteWidget(GWidget *widget);
|
|
|
|
void DeleteWidgets();
|
|
|
|
|
|
|
|
void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
|
|
|
void FitParent();
|
|
|
|
void ShowWidgets();
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //__gewiwidgetlist_h__
|