/* ParaGUI - crossplatform widgetset Copyright (C) 2000,2001,2002 Alexander Pipelka This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Alexander Pipelka pipelka@teleweb.at Last Update: $Author: braindead $ Update Date: $Date: 2002/11/01 15:00:59 $ Source File: $Source: /cvsroot/paragui/paragui/include/pglayout.h,v $ CVS/RCS Revision: $Revision: 1.3.6.5 $ Status: $State: Exp $ */ #ifndef PG_LAYOUT_H #define PG_LAYOUT_H #ifdef SWIG %include "swigcommon.h" %module pglayout %{ #include "pglayout.h" %} #endif #include "pgwidget.h" #include "pgapplication.h" /** @author Ales Teska @short XML layout loading functions. This namespace contains various functions responsible for loading XML widget layouts. */ class PG_XMLTag { public: PG_XMLTag(const char* n, const char** a); ~PG_XMLTag(); const char* name; const char**atts; }; namespace PG_Layout { /** Load a XML layout. @param parent Pointer to the widget which will be the parent for newly created widgets (from the XML layout). If NULL all new widgets will be created as toplevel widgets @param filename name of the XML layoutfile @return true on success */ DECLSPEC bool Load(PG_Widget* parent, const char *filename, void (* WorkCallback)(int now, int max), void *UserSpace); DECLSPEC int GetParamInt(const char **Source, char *What); DECLSPEC char* GetParamStr(const char **Source, char *What); DECLSPEC void GetParamRect(const char **Source, char *What, PG_Rect& Rect, PG_Widget* parent = NULL); DECLSPEC int GetParamAlign(const char **Source, char *What); DECLSPEC int GetParamIMode(const char **Source, char *What); DECLSPEC int GetParamGrad(const char **Source, char *What, PG_Gradient *grad); }; #ifndef DOXYGEN_SKIP extern void (* PG_LayoutWidgetParams)(PG_Widget *Widget, const char **atts); extern void (* PG_LayoutProcessingInstruction)(const char *target, const char *data, const char *FileName, void *UserSpace); #endif // DOXYGEN_SKIP #endif