22 #ifndef __MYGUI_TAB_CONTROL_H__
23 #define __MYGUI_TAB_CONTROL_H__
71 virtual void setPosition(
const IntPoint& _value);
73 virtual void setSize(
const IntSize& _value);
75 virtual void setCoord(
const IntCoord& _value);
78 void setPosition(
int _left,
int _top);
80 void setSize(
int _width,
int _height);
82 void setCoord(
int _left,
int _top,
int _width,
int _height);
88 size_t getItemCount()
const;
99 void removeItemAt(
size_t _index);
101 void removeItem(
TabItem* _item);
104 void removeAllItems();
108 TabItem* getItemAt(
size_t _index);
111 size_t getItemIndex(
TabItem* _item);
114 size_t findItemIndex(
TabItem* _item);
117 size_t findItemIndexWith(
const UString& _name);
122 void swapItems(
size_t _index1,
size_t _index2);
128 size_t getIndexSelected()
const;
134 void setIndexSelected(
size_t _index);
137 void setItemSelected(
TabItem* _item);
144 void setItemDataAt(
size_t _index,
Any _data);
149 void clearItemDataAt(
size_t _index);
151 void clearItemData(
TabItem* _item);
154 template <
typename ValueType>
158 return mItemsInfo[_index].data.castType<ValueType>(_throw);
161 template <
typename ValueType>
164 return getItemDataAt<ValueType>(getItemIndex(_item), _throw);
172 void setItemNameAt(
size_t _index,
const UString& _name);
178 const UString& getItemNameAt(
size_t _index);
188 void beginToItemAt(
size_t _index);
191 void beginToItem(
TabItem* _item);
193 void beginToItemFirst();
195 void beginToItemLast();
197 void beginToItemSelected();
204 void setButtonWidthAt(
size_t _index,
int _width =
DEFAULT);
209 int getButtonWidthAt(
size_t _index);
211 int getButtonWidth(
TabItem* _item);
216 void setButtonDefaultWidth(
int _value);
218 int getButtonDefaultWidth()
const;
221 void setButtonAutoWidth(
bool _value);
223 bool getButtonAutoWidth()
const;
226 void setSmoothShow(
bool _value);
228 bool getSmoothShow()
const;
241 virtual size_t _getItemCount();
243 virtual void _removeItemAt(
size_t _index);
244 virtual Widget* _getItemAt(
size_t _index);
245 virtual void _setItemNameAt(
size_t _index,
const UString& _name);
246 virtual const UString& _getItemNameAt(
size_t _index);
249 virtual void initialiseOverride();
250 virtual void shutdownOverride();
257 int _getTextWidth(
const UString& _text);
259 void _showItem(
TabItem* _sheet,
bool _show,
bool _smooth);
261 void _createItemButton();
263 void _insertItem(
size_t _index,
const UString& _name,
TabItem* _sheet,
Any _data);
266 void _notifyDeleteItem(
TabItem* _item);
268 virtual void onWidgetCreated(
Widget* _widget);
270 virtual void setPropertyOverride(
const std::string& _key,
const std::string& _value);
277 Widget* _getWidgetTemplate();
288 std::vector<Button*> mItemButton;
289 std::string mButtonSkinName;
290 std::string mEmptySkinName;
305 int mButtonDefaultWidth;
307 bool mButtonAutoWidth;
319 #endif // __MYGUI_TAB_CONTROL_H__