combopane.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef _combopane_h_
  2. #define _combopane_h_
  3. //////////////////////////////////////////////////////////////////////////////
  4. //
  5. //
  6. //
  7. //////////////////////////////////////////////////////////////////////////////
  8. class ComboFacePane : public Pane {
  9. public:
  10. virtual void SetString(const ZString& str) = 0;
  11. virtual void SetInside(bool bInside) = 0;
  12. virtual void SetColor(const Color& color) = 0;
  13. };
  14. //////////////////////////////////////////////////////////////////////////////
  15. //
  16. //
  17. //
  18. //////////////////////////////////////////////////////////////////////////////
  19. class ComboPane : public Pane {
  20. public:
  21. virtual TRef<IMenuItem> AddItem(const ZString& str, int id) = 0;
  22. virtual TRef<IMenuItem> AddItem(const ZString& str, int id, const Color& color) = 0;
  23. virtual void ClearContents() = 0;
  24. virtual int GetSelection() = 0;
  25. virtual const ZString * GetSelectionString() = 0;
  26. virtual void SetSelection(int id) = 0;
  27. virtual IIntegerEventSource* GetEventSource() = 0;
  28. virtual void SetEnabled(bool bEnabled) = 0;
  29. virtual IEventSource* GetMouseEnterWhileEnabledEventSource() = 0;
  30. virtual IEventSource* GetMenuSelectEventSource() = 0;
  31. };
  32. //////////////////////////////////////////////////////////////////////////////
  33. //
  34. // Constructors
  35. //
  36. //////////////////////////////////////////////////////////////////////////////
  37. TRef<ComboFacePane> CreateImageComboFacePane(Image* pimage);
  38. TRef<ComboFacePane> CreateStringComboFacePane(
  39. const WinPoint& size,
  40. IEngineFont* pfont,
  41. const Color& color,
  42. bool bBackgroundColor
  43. );
  44. TRef<ComboPane> CreateComboPane(
  45. Modeler* pmodeler,
  46. IPopupContainer* ppopupContainer,
  47. IEngineFont* pfont,
  48. const WinPoint& size,
  49. ComboFacePane* pface
  50. );
  51. #endif