00001 #ifndef __GCOMBO_H
00002 #define __GCOMBO_H
00003
00004
00005 class LgiClass GCombo :
00006 #if defined BEOS
00007 public BMenuField,
00008 #endif
00009 public ResObject,
00010 public GControl,
00011 public List<char>
00012 {
00013 #if defined WIN32
00014 static GWin32Class WndClass;
00015 char *Class() { return LGI_COMBO; }
00016 uint32 GetStyle() { return WS_VISIBLE | WS_VSCROLL | CBS_DISABLENOSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_CHILD | WS_TABSTOP | ((SortItems) ? CBS_SORT : 0) | GView::GetStyle(); }
00017 int SysOnNotify(int Code);
00018 #elif defined BEOS
00019 BMenuItem *CurItem;
00020 void AttachedToWindow() { OnCreate(); }
00021 void MessageReceived(BMessage *message) { OnEvent(message); }
00022 #endif
00023
00024 int InitIndex;
00025 bool SortItems;
00026
00027 public:
00028 GCombo(int id, int x, int y, int cx, int cy, char *name);
00029 ~GCombo();
00030
00031 bool Sort() { return SortItems; }
00032 void Sort(bool s) { SortItems = s; }
00033 void Value(int64 i);
00034 int64 Value();
00035 void Index(int i);
00036 int Index();
00037 #if defined BEOS
00038 char *Name();
00039 bool Name(const char *n);
00040 #endif
00041
00042 int OnEvent(GMessage *Msg);
00043 bool Delete();
00044 bool Delete(int i);
00045 bool Delete(char *p);
00046 bool Insert(char *p, int Index = -1);
00047 #if defined BEOS
00048 void OnCreate();
00049 #endif
00050 };
00051
00052 #endif