Go to the documentation of this file.00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "MyGUI_Precompiled.h"
00025 #include "MyGUI_Any.h"
00026
00027 namespace MyGUI
00028 {
00029 namespace demonstrate
00030 {
00031
00032
00035 class IArray
00036 {
00037
00038 public:
00039
00040
00041
00042
00043
00044 typedef void * ItemType;
00045 typedef const std::string NameType;
00046
00047
00048
00049
00051 size_t getItemCount() { return 0; }
00052
00054 ItemType insertItemAt(size_t _index, NameType _name, Any _data = Any::Null) { return nullptr; }
00056 ItemType insertItem(ItemType _to, NameType _name, Any _data = Any::Null) { return insertItemAt(getItemIndex(_to), _name, _data); }
00057
00059 ItemType replaceItemAt(size_t _index, NameType _name, Any _data = Any::Null) { return nullptr; }
00061 ItemType replaceItem(ItemType _replace, NameType _name, Any _data = Any::Null) { return replaceItemAt(getItemIndex(_replace), _name, _data); }
00062
00064 ItemType addItem(NameType _name, Any _data = Any::Null) { return insertItemAt(ITEM_NONE, _name, _data); }
00065
00067 void removeItemAt(size_t _index) { }
00068
00070 void removeItem(ItemType _item) { removeItemAt(getItemIndex(_item)); }
00071
00073 void removeAllItems() { }
00074
00076 void swapItemsAt(size_t _index1, size_t _index2) { }
00077
00079 void swapItems(ItemType _item1, ItemType _item2) { }
00080
00081
00082
00084 ItemType getItemAt(size_t _index) { return nullptr; }
00085
00087 size_t getItemIndex(ItemType _item) { return ITEM_NONE; }
00088
00090 size_t findItemIndex(ItemType _item) { return ITEM_NONE; }
00091
00093 size_t findItemIndexWith(NameType _name) { return ITEM_NONE; }
00094
00096 ItemType findItemWith(NameType _name) { return nullptr; }
00097
00098
00099
00100
00101
00103 size_t getIndexSelected() { return ITEM_NONE; }
00104
00106 ItemType getItemSelected() { return getIndexSelected() != ITEM_NONE ? getItemAt(getIndexSelected()) : nullptr; }
00107
00109 void setIndexSelected(size_t _value) { }
00110
00112 void setItemSelected(ItemType _item) { setIndexSelected(getItemIndex(_item)); }
00113
00115 void clearIndexSelected() { setIndexSelected(ITEM_NONE); }
00116
00117
00118
00119
00120
00122 void setItemDataAt(size_t _index, Any _data) { }
00123
00125 void setItemData(ItemType _item, Any _data) { setItemDataAt(getItemIndex(_item), _data); }
00126
00128 void clearItemDataAt(size_t _index) { setItemDataAt(_index, Any::Null); }
00129
00131 void clearItemData(ItemType _item) { clearItemDataAt(getItemIndex(_item)); }
00132
00134 template <typename ValueType>
00135 ValueType * getItemDataAt(size_t _index, bool _throw = true) { return nullptr; }
00136
00138 template <typename ValueType>
00139 ValueType * getItemData(ItemType _item, bool _throw = true)
00140 {
00141 return getItemData<ValueType>(getItemIndex(_item), _throw);
00142 }
00143
00144
00145
00146
00147
00149 void setItemNameAt(size_t _index, NameType _name);
00150
00152 void setItemName(ItemType _item, NameType _name) { setItemNameAt(getItemIndex(_item), _name); }
00153
00155 NameType getItemNameAt(size_t _index) { return NameType(); }
00156
00158 NameType getItemName(ItemType _item) { return getItemNameAt(getItemIndex(_item)); }
00159
00160
00161
00162
00163
00165 void beginToItemAt(size_t _index) { }
00166
00168 void beginToItem(ItemType _item) { beginToItemAt(getItemIndex(_item)); }
00169
00171 void beginToItemFirst() { if (getItemCount()) beginToItemAt(0); }
00172
00174 void beginToItemLast() { if (getItemCount()) beginToItemAt(getItemCount() - 1); }
00175
00177 void beginToItemSelected() { if (getIndexSelected() != ITEM_NONE) beginToItemAt(getIndexSelected()); }
00178
00179
00180
00181 };
00182
00183 }
00184 }