fox16_htmllabel.hpp

Go to the documentation of this file.
00001 /***************************************************************************
00002     begin       : Tue Feb 23 2010
00003     copyright   : (C) 2010 by Martin Preuss
00004     email       : martin@libchipcard.de
00005 
00006  ***************************************************************************
00007  *          Please see toplevel file COPYING for license details           *
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