23 #ifndef __MYGUI_TAB_H__
24 #define __MYGUI_TAB_H__
68 virtual void setPosition(
const IntPoint& _value);
70 virtual void setSize(
const IntSize& _value);
72 virtual void setCoord(
const IntCoord& _value);
92 return insertItemAt(getItemIndex(_to), _name, _data);
98 return insertItemAt(
ITEM_NONE, _name, _data);
102 void removeItemAt(
size_t _index);
107 void removeAllItems();
111 TabItem* getItemAt(
size_t _index);
114 size_t getItemIndex(
TabItem* _item);
117 size_t findItemIndex(
TabItem* _item);
120 size_t findItemIndexWith(
const UString& _name);
136 void setIndexSelected(
size_t _index);
146 void setItemDataAt(
size_t _index,
Any _data);
156 template <
typename ValueType>
157 ValueType * getItemDataAt(
size_t _index,
bool _throw =
true)
160 return mItemsInfo[_index].data.castType<ValueType>(_throw);
163 template <
typename ValueType>
164 ValueType * getItemData(
TabItem* _item,
bool _throw =
true)
166 return getItemDataAt<ValueType>(getItemIndex(_item), _throw);
174 void setItemNameAt(
size_t _index,
const UString& _name);
180 const UString& getItemNameAt(
size_t _index);
190 void beginToItemAt(
size_t _index);
209 void setButtonWidthAt(
size_t _index,
int _width =
DEFAULT);
214 int getButtonWidthAt(
size_t _index);
221 void setButtonDefaultWidth(
int _value);
226 void setButtonAutoWidth(
bool _value);
236 virtual void setProperty(
const std::string& _key,
const std::string& _value);
250 #ifndef MYGUI_DONT_USE_OBSOLETE
252 MYGUI_OBSOLETE(
"use : void Widget::setCoord(const IntCoord& _coord)")
253 void setPosition(const
IntCoord& _coord) { setCoord(_coord); }
254 MYGUI_OBSOLETE(
"use : void Widget::setCoord(int _left, int _top, int _width, int _height)")
255 void setPosition(
int _left,
int _top,
int _width,
int _height) { setCoord(_left, _top, _width, _height); }
258 int getSheetButtonWidthIndex(
size_t _index) {
return getButtonWidthAt(_index); }
260 int getSheetButtonWidth(
TabItem* _sheet) {
return getButtonWidth(_sheet); }
261 MYGUI_OBSOLETE(
"use : void Tab::setButtonWidthAt(size_t _index, int _width)")
262 void setSheetButtonWidthIndex(
size_t _index,
int _width =
DEFAULT) { setButtonWidthAt(_index, _width); }
263 MYGUI_OBSOLETE(
"use : void Tab::setButtonWidth(TabItem* _item, int _width)")
264 void setSheetButtonWidth(
TabItem* _sheet,
int _width =
DEFAULT) { setButtonWidth(_sheet, _width); }
266 void showBarButton(
size_t _index) { beginToItemAt(_index); }
268 void showBarSelectButton() { beginToItemSelected(); }
270 size_t getSheetCount() {
return getItemCount(); }
271 MYGUI_OBSOLETE(
"use : const UString& Tab::getItemName(TabItem* _item)")
273 MYGUI_OBSOLETE(
"use : const UString& Tab::getItemNameAt(size_t _index)")
274 const
UString& getSheetNameIndex(
size_t _index) {
return getItemNameAt(_index); }
276 TabItem* getSheet(
size_t _index) {
return getItemAt(_index); }
277 MYGUI_OBSOLETE(
"use : void Tab::setItemNameAt(size_t _index, const UString& _name)")
278 void setSheetNameIndex(
size_t _index, const
UString& _name,
int _width =
DEFAULT) { setItemNameAt(_index, _name); }
279 MYGUI_OBSOLETE(
"use : void Tab::setItemName(TabItem* _item, const UString& _name)")
281 MYGUI_OBSOLETE(
"use : TabItem* Tab::addItem(const UString& _name, Any _data)")
283 MYGUI_OBSOLETE(
"use : TabItem* Tab::insertItemAt(size_t _index, const UString& _name, Any _data)")
284 TabItem* insertSheet(
size_t _index, const
UString& _name,
int _width =
DEFAULT) {
return insertItemAt(_index, _name); }
286 void removeSheetIndex(
size_t _index) { removeItemAt(_index); }
288 void removeSheet(
TabItem* _sheet) { removeItem(_sheet); }
290 void selectSheetIndex(
size_t _index,
bool _smooth = true) { setIndexSelected(_index); }
292 void selectSheet(
TabItem* _sheet,
bool _smooth = true) { setItemSelected(_sheet); }
294 size_t getSelectSheetIndex() {
return getIndexSelected(); }
297 size_t getItemIndexSelected() {
return getIndexSelected(); }
298 MYGUI_OBSOLETE(
"use : void Widget::setIndexSelected(size_t _index)")
299 void setItemSelectedAt(
size_t _index) { setIndexSelected(_index); }
301 #endif // MYGUI_DONT_USE_OBSOLETE
309 virtual Widget* baseCreateWidget(
WidgetStyle _style,
const std::string& _type,
const std::string& _skin,
const IntCoord& _coord,
Align _align,
const std::string& _layer,
const std::string& _name);
316 int _getTextWidth(
const UString& _text);
318 void _showItem(
TabItem* _sheet,
bool _show,
bool _smooth);
320 void _createItemButton();
322 void _insertItem(
size_t _index,
const UString& _name,
TabItem* _sheet,
Any _data);
325 void _notifyDeleteItem(
TabItem* _item);
329 void shutdownWidgetSkin();
334 Widget* _getWidgetTemplate();
342 std::string mButtonSkinName, mEmptySkinName;
354 VectorTabItemInfo mItemsInfo;
358 int mButtonDefaultWidth;
360 bool mButtonAutoWidth;
369 #endif // __MYGUI_TAB_H__