Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ComboBox.h
Go to the documentation of this file.
1 /* Project nGenEx
2  Destroyer Studios LLC
3  Copyright © 1997-2004. All Rights Reserved.
4 
5  SUBSYSTEM: nGenEx.lib
6  FILE: ComboBox.h
7  AUTHOR: John DiCamillo
8 
9 
10  OVERVIEW
11  ========
12  ComboBox class
13 */
14 
15 #ifndef ComboBox_h
16 #define ComboBox_h
17 
18 #include "Types.h"
19 #include "ActiveWindow.h"
20 #include "Bitmap.h"
21 
22 #include "List.h"
23 #include "Text.h"
24 
25 // +--------------------------------------------------------------------+
26 
27 class ComboList;
28 
29 // +--------------------------------------------------------------------+
30 
31 class ComboBox : public ActiveWindow
32 {
33 public:
34  static const char* TYPENAME() { return "ComboBox"; }
35 
36  ComboBox(ActiveWindow* p, int ax, int ay, int aw, int ah, DWORD aid=0);
37  ComboBox(Screen* s, int ax, int ay, int aw, int ah, DWORD aid=0);
38  virtual ~ComboBox();
39 
40  // Operations:
41  virtual void Draw();
42  virtual void ShowList();
43  virtual void HideList();
44  virtual void MoveTo(const Rect& r);
45 
46  // Event Target Interface:
47  virtual int OnMouseMove(int x, int y);
48  virtual int OnLButtonDown(int x, int y);
49  virtual int OnLButtonUp(int x, int y);
50  virtual int OnClick();
51  virtual int OnMouseEnter(int x, int y);
52  virtual int OnMouseExit(int x, int y);
53 
54  virtual void OnListSelect(AWEvent* event);
55  virtual void OnListExit(AWEvent* event);
56 
57  // Property accessors:
58  virtual int NumItems();
59  virtual void ClearItems();
60  virtual void AddItem(const char* item);
61  virtual const char* GetItem(int index);
62  virtual void SetItem(int index, const char* item);
63  virtual void SetLabel(const char* label);
64 
65  virtual int GetCount();
66  virtual const char* GetSelectedItem();
67  virtual int GetSelectedIndex();
68  virtual void SetSelection(int index);
69 
70  Color GetActiveColor() const { return active_color; }
71  void SetActiveColor(Color c);
72  bool GetAnimated() const { return animated; }
73  void SetAnimated(bool bNewValue);
74  short GetBevelWidth() const { return bevel_width; }
75  void SetBevelWidth(short nNewValue);
76  bool GetBorder() const { return border; }
77  void SetBorder(bool bNewValue);
78  Color GetBorderColor() const { return border_color; }
79  void SetBorderColor(Color c);
80  short GetButtonState() const { return button_state; }
81  void SetButtonState(short nNewValue);
82 
83  bool IsListShowing() const { return list_showing; }
84 
85 protected:
87  void DrawRectSimple(Rect& rect, int stat);
88 
92  bool animated;
93  bool border;
94  int seln;
95  int captured;
98  int pre_state;
99 
102 };
103 
104 #endif ComboBox_h
105