00001 00017 #ifndef INC_MI32_XMENUITEMARRAY_H 00018 #define INC_MI32_XMENUITEMARRAY_H 00019 00020 #ifndef INC_MI32_XDEFNS_H 00021 #include <mi32/xdefns.h> 00022 #endif 00023 00024 #ifndef INC_MI32_SIMPLEAR_H 00025 #include <mi32/simplear.h> 00026 #endif 00027 00028 //------------------------------------------------------------------------------ 00029 00031 class MENUITEMARRAY : public SIMPLE_ARRAY<MENUITEM> { 00032 public: 00033 00035 ERRVALUE Append ( 00036 const MENUITEM& item 00037 ) { Unterminate(); SIMPLE_ARRAY<MENUITEM>::Append(&item,1); Terminate(); return (0); } 00038 00040 ERRVALUE Append ( 00041 const MENUITEM *items 00042 ) { Unterminate(); return (SIMPLE_ARRAY<MENUITEM>::Append(items,MxMenuGetNumItems(items)));} 00043 00045 bool IsTerminated ( 00046 ) const { return (GetNumItems() > 0 && GetItem(GetNumItems()-1).label == 0); } 00047 00049 ERRVALUE Terminate ( 00050 ) { if (!IsTerminated()) return (Resize(GetNumItems()+1,true,true)); else return (0); } 00051 00053 void Unterminate ( 00054 ) { if (IsTerminated()) Resize(GetNumItems()-1); } 00055 }; 00056 00057 //------------------------------------------------------------------------------ 00058 00059 #endif // INC_MI32_XMENUITEMARRAY_H
1.6.1