31 #ifndef _GG_DropDownList_h_
32 #define _GG_DropDownList_h_
58 typedef ListBox::iterator iterator;
59 typedef ListBox::const_iterator const_iterator;
60 typedef ListBox::reverse_iterator reverse_iterator;
61 typedef ListBox::const_reverse_iterator const_reverse_iterator;
75 iterator CurrentItem()
const;
76 std::size_t CurrentItemIndex()
const;
78 std::size_t IteratorToIndex(iterator it)
const;
79 iterator IndexToIterator(std::size_t n)
const;
82 const_iterator begin()
const;
83 const_iterator end()
const;
84 const_reverse_iterator
86 const_reverse_iterator
88 const Row& GetRow(std::size_t n)
const;
89 bool Selected(iterator it)
const;
90 bool Selected(std::size_t n)
const;
91 Clr InteriorColor()
const;
98 std::size_t NumRows()
const;
99 std::size_t NumCols()
const;
104 std::size_t SortCol()
const;
106 X ColWidth(std::size_t n)
const;
107 Alignment ColAlignment(std::size_t n)
const;
108 Alignment RowAlignment(iterator it)
const;
110 virtual Pt ClientUpperLeft()
const;
111 virtual Pt ClientLowerRight()
const;
117 virtual void Render();
119 virtual void SizeMove(
const Pt& ul,
const Pt& lr);
121 virtual void SetColor(
Clr c);
127 iterator Insert(
Row* row, iterator it);
133 iterator Insert(
Row* row);
135 Row* Erase(iterator it);
143 Row& GetRow(std::size_t n);
145 void Select(iterator it);
146 void Select(std::size_t n);
148 void SetInteriorColor(
Clr c);
149 void SetDropHeight(
Y h);
154 void SetNumCols(std::size_t n);
155 void SetSortCol(std::size_t n);
156 void SetColWidth(std::size_t n,
X w);
162 void LockColWidths();
166 void UnLockColWidths();
168 void SetColAlignment(std::size_t n, Alignment align);
169 void SetRowAlignment(iterator it, Alignment align);
179 virtual void KeyPress(
Key key, boost::uint32_t key_code_point,
Flags<ModKey> mod_keys);
185 void SelectImpl(iterator it,
bool signal);
187 iterator m_current_item;