00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef PG_LAYOUT_H
00030 #define PG_LAYOUT_H
00031
00032 #include "pgwidget.h"
00033 #include "pgapplication.h"
00034 #include "pglabel.h"
00035 #include "pgscrollbar.h"
00036
00050 class PG_XMLTag {
00051 public:
00052
00053 PG_XMLTag(const char* n, const char** a);
00054 ~PG_XMLTag();
00055
00056 const char* name;
00057 const char**atts;
00058 };
00059
00060 namespace PG_Layout {
00061
00072 DECLSPEC bool Load(PG_Widget* parent, const std::string& filename, void (* WorkCallback)(int now, int max), void *UserSpace);
00073
00074 DECLSPEC int GetParamInt(const char **Source, const char *What);
00075 DECLSPEC PG_ScrollBar::ScrollDirection GetParamScrollDirection(const char **Source, const char *What);
00076 DECLSPEC char* GetParamStr(const char **Source, const char *What);
00077 DECLSPEC void GetParamRect(const char **Source, const char *What, PG_Rect& Rect, PG_Widget* parent = NULL);
00078 DECLSPEC PG_Label::TextAlign GetParamAlign(const char **Source, const char *What);
00079 DECLSPEC PG_Draw::BkMode GetParamIMode(const char **Source, const char *What);
00080 DECLSPEC int GetParamGrad(const char **Source, const char *What, PG_Gradient *grad);
00081
00082 };
00083
00084 #ifndef DOXYGEN_SKIP
00085 extern void (* PG_LayoutWidgetParams)(PG_Widget *Widget, const char **atts);
00086 extern void (* PG_LayoutProcessingInstruction)(const char *target, const char *data, const std::string& FileName, void *UserSpace);
00087 #endif // DOXYGEN_SKIP
00088
00089 #endif