Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef FOX16_HTMLLABEL_HPP
00012 #define FOX16_HTMLLABEL_HPP
00013
00014 #include <gwen-gui-fox16/cppgui.hpp>
00015
00016 #include <fx.h>
00017
00018
00019 class FOX16_HtmlCtx;
00020
00021
00022 class FOX16GUI_API FOX16_HtmlLabel: public FXFrame {
00023 FXDECLARE(FOX16_HtmlLabel)
00024
00025 public:
00026
00027 enum {
00031 FLAGS_NO_WORDWRAP = 0x00080000,
00035 FLAGS_USE_FULL_WIDTH = 0x00040000
00036 };
00037
00038 FOX16_HtmlLabel(FXComposite* p, const FXString& text,
00039 FXuint opts=0,
00040 FXint x=0, FXint y=0, FXint w=0, FXint h=0,
00041 FXint pl=DEFAULT_PAD, FXint pr=DEFAULT_PAD,
00042 FXint pt=DEFAULT_PAD, FXint pb=DEFAULT_PAD);
00043 ~FOX16_HtmlLabel();
00044
00046 void setText(const FXString& text);
00047
00049 FXString getText() const { return m_text; }
00050
00051 FXIcon *getIcon() const { return m_icon;};
00052 void setIcon(FXIcon *ic);
00053
00054 void addMediaPath(const char *s);
00055
00057 virtual FXint getDefaultWidth();
00058
00060 virtual FXint getDefaultHeight();
00061
00062 void create();
00063
00064 void setMinimumWidth(int i) { m_minWidth=i;};
00065 void setMaxDefaultWidth(int i) { m_maxDefaultWidth=i;};
00066
00067 long onPaint(FXObject*, FXSelector, void*);
00068
00069 void layout();
00070
00071 protected:
00072 FOX16_HtmlCtx *m_htmlCtx;
00073 FXString m_text;
00074 int m_minWidth;
00075 int m_maxDefaultWidth;
00076
00077 bool m_haveDefaultDims;
00078 FXint m_defaultWidth;
00079 FXint m_defaultHeight;
00080
00081 GWEN_STRINGLIST *m_mediaPaths;
00082
00083 FXIcon *m_icon;
00084
00085 FOX16_HtmlLabel();
00086 void updateHtml();
00087 void calcDefaultDims();
00088
00089
00090 };
00091
00092
00093
00094 #endif
00095