Wt examples  4.10.4
Option.C
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008 Emweb bv, Herent, Belgium.
3  *
4  * See the LICENSE file for terms of use.
5  */
6 
7 #include <Wt/WText.h>
8 
9 #include "Option.h"
10 #include "OptionList.h"
11 
12 Option::Option(const WString& text)
13  : WContainerWidget(),
14  sep_(0),
15  list_(0)
16 {
17  setInline(true);
18 
19  option_ = this->addWidget(std::make_unique<WText>(text));
20  option_->setStyleClass("option");
21 }
22 
23 void Option::setText(const WString& text)
24 {
25  option_->setText(text);
26 }
27 
29 {
30  list_ = l;
31 }
32 
34 {
35  sep_ = this->addWidget(std::make_unique<WText>("|"));
36  sep_->setStyleClass("sep");
37 }
38 
40 {
41  sep_->hide();
42 }
43 
45 {
46  sep_->show();
47 }
48 
49 void Option::setHidden(bool hidden, const WAnimation& animation)
50 {
51  WContainerWidget::setHidden(hidden, animation);
52 
53  if (list_)
54  list_->optionVisibilityChanged(this, hidden);
55 }
A list of options, separated by '|'.
Definition: OptionList.h:41
void optionVisibilityChanged(Option *opt, bool hidden)
An option changed visibility: possibly update the separators inbetween.
Definition: OptionList.C:39
WText * option_
The option command text.
Definition: Option.h:51
void setText(const WString &text)
Change the text.
Definition: Option.C:23
void setOptionList(OptionList *l)
Definition: Option.C:28
WText * sep_
The separator '|'.
Definition: Option.h:54
Option(const WString &text)
Create an Option with the given text.
Definition: Option.C:12
virtual void setHidden(bool hidden, const WAnimation &animation=WAnimation())
Definition: Option.C:49
OptionList * list_
The list in which this option is managed, if managed.
Definition: Option.h:57
void showSeparator()
Show the separator.
Definition: Option.C:44
void addSeparator()
Create and show the separator.
Definition: Option.C:33
void hideSeparator()
Hide the separator.
Definition: Option.C:39
virtual void addWidget(std::unique_ptr< WWidget > widget)
bool setText(const WString &text)
virtual void setStyleClass(const WString &styleClass) override
virtual void setInline(bool isInline) override