19#ifndef ZXWIDGET_COMBOBOX
20#define ZXWIDGET_COMBOBOX
48 const LabelList & l,
const std::string & inittext =
"",
49 CharDist maxwidths = 0,
bool editable =
false,
50 bool showing =
true,
bool deploybutton =
true,
51 const std::string & tooltiptext =
"",
77 const std::string &
text(
void)
const noexcept {
return(pwedit_->
text()); }
80 const LabelList & list(
void)
const {
return(*pllist_); }
82 size_t lastSelected(
void)
const noexcept {
return(lastselected_); }
103 {
return((cbps.whoprocessed !=
nullptr) &&
104 (cbps.whoprocessed->isDescendantOf(*pwedit_))); }
115 const char *
className(
void)
const noexcept {
return(
"ComboBoxWidget"); }
131 static const uint8_t kUDGs[1*8];
132 static const ID kIDsSubs[NUMSUBWIDGETS];
133 static const ID kIDListInWin;
135 const bool editable_;
137 const std::unique_ptr<LabelList> pllist_;
138 const size_t maxlenlist_;
140 LineInputWidget * pwedit_;
141 ButtonWidget * pwdeploy_;
142 size_t lastselected_;
143 std::string prevtext_;
146 int processEvent(
const EventData & evdata, Widget * who)
override;
147 CharRect calcPosList(
const LabelList & llist,
149 WinPlacement placement,
153 WinPlacement placement,
154 LabelList::Iterator & it,
155 std::unique_ptr<Window> & pwinlist);
A list of labels to be displayed vertically, with possible marks on them.
MngResult
Possible results of calling the manage() method.
Area< CharDistT, CharDistT > CharArea
Shortcut for this kind of area.
Rect< CharDistT, CharDistT > CharRect
Shortcut for this kind of rectangle.
uint16_t CharDist
A distance meadured in screen chars.
The main namespace of the library, that spans across all the zx modules.