00001 // This may look like C code, but it's really -*- C++ -*- 00002 /* 00003 * Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium. 00004 * 00005 * See the LICENSE file for terms of use. 00006 */ 00007 #ifndef OPTION_H_ 00008 #define OPTION_H_ 00009 00010 #include <WContainerWidget> 00011 00012 namespace Wt { 00013 class WText; 00014 } 00015 00016 using namespace Wt; 00017 00018 class OptionList; 00019 00024 00034 class Option : public WContainerWidget 00035 { 00036 public: 00039 Option(const WString& text, WContainerWidget *parent = 0); 00040 00043 void setText(const WString& text); 00044 00045 virtual void setHidden(bool); 00046 00047 private: 00049 WText *option_; 00050 00052 WText *sep_; 00053 00055 OptionList *list_; 00056 00057 friend class OptionList; 00058 00059 void setOptionList(OptionList *l); 00060 00062 void addSeparator(); 00063 00065 void showSeparator(); 00066 00068 void hideSeparator(); 00069 }; 00070 00073 #endif // OPTION_H_