@PanelEditor.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class PanelEditor : PropWin
  4. {
  5. class Change : Edit::_Undo::Change
  6. {
  7. EditPanel data;
  8. virtual void create(ptr user)override;
  9. virtual void apply(ptr user)override;
  10. };
  11. class GuiPanel : GuiCustom
  12. {
  13. flt clip_x;
  14. virtual GuiObj* test(C GuiPC &gpc, C Vec2 &pos, GuiObj* &mouse_wheel)override;
  15. virtual void draw(C GuiPC &gpc)override;
  16. public:
  17. GuiPanel();
  18. };
  19. UID elm_id;
  20. Elm *elm;
  21. bool changed;
  22. EditPanel edit;
  23. PanelPtr game;
  24. GuiPanel gui_panel;
  25. Button undo, redo, locate, show_lines,
  26. set_corner_size,
  27. set_top_size,
  28. set_bottom_size,
  29. set_side_size;
  30. Edit::Undo<Change> undos; void undoVis();
  31. static void PreChanged(C Property &prop);
  32. static void Changed(C Property &prop);
  33. static void ParamsCenterStretch(EditPanel &e, C Str &t);
  34. static void ParamsSideStretch (EditPanel &e, C Str &t);
  35. static void ParamsCenterColor(EditPanel &e, C Str &t);
  36. static void ParamsBorderColor(EditPanel &e, C Str &t);
  37. static void ParamsSideColor (EditPanel &e, C Str &t);
  38. static void ParamsBlurColor (EditPanel &e, C Str &t);
  39. static void ParamsShadowOpacity(EditPanel &e, C Str &t);
  40. static void ParamsShadowRadius (EditPanel &e, C Str &t);
  41. static void ParamsShadowOffset (EditPanel &e, C Str &t);
  42. static void ParamsShadowCenter (EditPanel &e, C Str &t);
  43. static void ParamsBorderSize (EditPanel &e, C Str &t);
  44. static void ParamsCenterScale (EditPanel &e, C Str &t);
  45. static void ParamsTopSize (EditPanel &e, C Str &t);
  46. static void ParamsTopOffset (EditPanel &e, C Str &t);
  47. static void ParamsBottomSize (EditPanel &e, C Str &t);
  48. static void ParamsBottomOffset (EditPanel &e, C Str &t);
  49. static void ParamsLeftRightSize (EditPanel &e, C Str &t);
  50. static void ParamsLeftRightOffset (EditPanel &e, C Str &t);
  51. static void ParamsTopCornerSize (EditPanel &e, C Str &t);
  52. static void ParamsTopCornerOffset (EditPanel &e, C Str &t);
  53. static void ParamsBottomCornerSize (EditPanel &e, C Str &t);
  54. static void ParamsBottomCornerOffset(EditPanel &e, C Str &t);
  55. static Str ParamsCenterImage (C EditPanel &e);
  56. static Str ParamsBorderImage (C EditPanel &e);
  57. static Str ParamsTopImage (C EditPanel &e);
  58. static Str ParamsBottomImage (C EditPanel &e);
  59. static Str ParamsLeftRightImage (C EditPanel &e);
  60. static Str ParamsTopCornerImage (C EditPanel &e);
  61. static Str ParamsBottomCornerImage(C EditPanel &e);
  62. static Str ParamsPanelImage (C EditPanel &e);
  63. static void ParamsCenterImage (EditPanel &e, C Str &t);
  64. static void ParamsBorderImage (EditPanel &e, C Str &t);
  65. static void ParamsTopImage (EditPanel &e, C Str &t);
  66. static void ParamsBottomImage (EditPanel &e, C Str &t);
  67. static void ParamsLeftRightImage (EditPanel &e, C Str &t);
  68. static void ParamsTopCornerImage (EditPanel &e, C Str &t);
  69. static void ParamsBottomCornerImage(EditPanel &e, C Str &t);
  70. static void ParamsPanelImage (EditPanel &e, C Str &t);
  71. static void SetCornerSize(PanelEditor &editor);
  72. static void SetTopSize(PanelEditor &editor);
  73. static void SetBottomSize(PanelEditor &editor);
  74. static void SetSideSize(PanelEditor &editor);
  75. static void Undo (PanelEditor &editor);
  76. static void Redo (PanelEditor &editor);
  77. static void Locate(PanelEditor &editor);
  78. void create();
  79. void toGame();
  80. void toGui ();
  81. virtual PanelEditor& hide ( ) override;
  82. virtual Rect sizeLimit( )C override;
  83. virtual PanelEditor& rect (C Rect &rect) override;
  84. void flush();
  85. void setChanged();
  86. void set(Elm *elm);
  87. void activate(Elm *elm);
  88. void toggle (Elm *elm);
  89. void elmChanged(C UID &elm_id);
  90. void erasing(C UID &elm_id);
  91. void drag(Memc<UID> &elms, GuiObj*obj, C Vec2&screen_pos);
  92. public:
  93. PanelEditor();
  94. };
  95. /******************************************************************************/
  96. /******************************************************************************/
  97. extern PanelEditor PanelEdit;
  98. /******************************************************************************/