23 #ifndef __MYGUI_ITEM_BOX_H__
24 #define __MYGUI_ITEM_BOX_H__
55 size_t getItemCount()
const {
return mItemsInfo.size(); }
64 void removeItemAt(
size_t _index);
67 void removeAllItems();
70 void redrawItemAt(
size_t _index);
73 void redrawAllItems();
83 void setIndexSelected(
size_t _index);
93 void setItemDataAt(
size_t _index,
Any _data);
99 template <
typename ValueType>
100 ValueType * getItemDataAt(
size_t _index,
bool _throw =
true)
103 return mItemsInfo[_index].data.castType<ValueType>(_throw);
108 void setItemBoxAlignVert(
bool _value);
113 size_t getIndexByWidget(
Widget* _widget);
123 Widget* getWidgetByIndex(
size_t _index);
129 virtual void setPosition(
const IntPoint& _value);
131 virtual void setSize(
const IntSize& _value);
133 virtual void setCoord(
const IntCoord& _value);
199 #ifndef MYGUI_DONT_USE_OBSOLETE
201 MYGUI_OBSOLETE(
"use : void Widget::setCoord(const IntCoord& _coord)")
202 void setPosition(const
IntCoord& _coord) { setCoord(_coord); }
203 MYGUI_OBSOLETE(
"use : void Widget::setCoord(int _left, int _top, int _width, int _height)")
204 void setPosition(
int _left,
int _top,
int _width,
int _height) { setCoord(_left, _top, _width, _height); }
207 size_t getItemIndexSelected() {
return getIndexSelected(); }
208 MYGUI_OBSOLETE(
"use : void ItemBox::setIndexSelected(size_t _index)")
209 void setItemSelectedAt(
size_t _index) { setIndexSelected(_index); }
211 void clearItemSelected() { clearIndexSelected(); }
213 MYGUI_OBSOLETE(
"use : void ItemBox::insertItemAt(size_t _index, Any _data)")
214 void insertItem(
size_t _index,
Any _data =
Any::Null) { insertItemAt(_index, _data); }
215 MYGUI_OBSOLETE(
"use : void ItemBox::setItemDataAt(size_t _index, Any _data)")
216 void setItemData(
size_t _index,
Any _data) { setItemDataAt(_index, _data); }
218 void deleteItem(
size_t _index) { removeItemAt(_index); }
220 void deleteAllItems() { removeAllItems(); }
222 size_t getItemSelect() {
return getIndexSelected(); }
224 void resetItemSelect() { clearIndexSelected(); }
225 MYGUI_OBSOLETE(
"use : void ItemBox::setIndexSelected(size_t _index)")
226 void setItemSelect(
size_t _index) { setIndexSelected(_index); }
229 Widget* getWidgetDrop() {
return getWidgetDrag(); }
231 void resetDrop() { resetDrag(); }
233 #endif // MYGUI_DONT_USE_OBSOLETE
249 virtual void onMouseButtonPressed(
int _left,
int _top,
MouseButton _id);
250 virtual void onMouseButtonReleased(
int _left,
int _top,
MouseButton _id);
251 virtual void onMouseDrag(
int _left,
int _top);
253 virtual void onMouseWheel(
int _rel);
254 virtual void onKeyLostFocus(
Widget* _new);
255 virtual void onKeySetFocus(
Widget* _old);
259 void notifyScrollChangePosition(
VScroll* _sender,
size_t _index);
260 void notifyMouseWheel(
Widget* _sender,
int _rel);
261 void notifyRootMouseChangeFocus(
Widget* _sender,
bool _focus);
262 void notifyMouseButtonDoubleClick(
Widget* _sender);
263 void _requestGetContainer(
Widget* _sender,
Widget*& _container,
size_t& _index);
264 void notifyMouseDrag(
Widget* _sender,
int _left,
int _top);
265 void notifyMouseButtonPressed(
Widget* _sender,
int _left,
int _top,
MouseButton _id);
266 void notifyMouseButtonReleased(
Widget* _sender,
int _left,
int _top,
MouseButton _id);
269 virtual void removeDropItems();
270 virtual void updateDropItems();
271 virtual void updateDropItemsState(
const DDWidgetState& _state);
274 void updateMetrics();
277 void _updateAllVisible(
bool _redraw);
279 void updateFromResize();
283 Widget* getItemWidget(
size_t _index);
285 void _setContainerItemInfo(
size_t _index,
bool _set,
bool _accept);
288 void resetCurrentActiveItem();
290 void findCurrentActiveItem();
293 virtual size_t _getContainerIndex(
const IntPoint& _point);
296 virtual void _resetContainer(
bool _update);
300 void shutdownWidgetSkin();
302 size_t calcIndexByWidget(
Widget* _widget);
304 void requestItemSize();
306 virtual IntSize getContentSize();
307 virtual IntPoint getContentPosition();
308 virtual IntSize getViewSize()
const;
309 virtual void eraseContent();
310 virtual size_t getHScrollPage();
311 virtual size_t getVScrollPage();
312 virtual Align getContentAlign();
313 virtual void setContentPosition(
const IntPoint& _point);
315 IntRect _getClientAbsoluteRect();
316 Widget* _getClientWidget();
317 const Widget* _getClientWidget()
const;
332 int mCountItemInLine;
337 int mFirstVisibleIndex;
340 int mFirstOffsetIndex;
362 std::string mDragLayer;
368 #endif // __MYGUI_ITEM_BOX_H__