X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6ce3896800e92c0c51ebb72d86191f526af66971..d7ade1df1e1d8e0259378d783a38ae49e3271fd6:/lib/gui/ewidget.h diff --git a/lib/gui/ewidget.h b/lib/gui/ewidget.h index 4175eae7..a028006c 100644 --- a/lib/gui/ewidget.h +++ b/lib/gui/ewidget.h @@ -13,7 +13,8 @@ class eWidget friend class eWidgetDesktop; public: eWidget(eWidget *parent); - + virtual ~eWidget(); + void move(ePoint pos); void resize(eSize size); @@ -33,7 +34,7 @@ public: void destruct(); - int getStyle(ePtr &style) { if (!m_style) return 1; style = m_style; return 0; } + SWIG_VOID(int) getStyle(ePtr &SWIG_NAMED_OUTPUT(style)) { if (!m_style) return 1; style = m_style; return 0; } void setStyle(eWindowStyle *style) { m_style = style; } void setBackgroundColor(const gRGB &col); @@ -82,9 +83,8 @@ private: eWidget *m_current_focus, *m_focus_owner; int m_z_position; - + int m_notify_child_on_position_change; protected: - virtual ~eWidget(); void mayKillFocus(); public: @@ -99,8 +99,9 @@ public: evtChangedPosition, evtChangedSize, - evtWillShow, - evtWillHide, + evtParentChangedPosition, + + evtParentVisibilityChanged, evtWillChangePosition, /* new size is eRect *data */ evtWillChangeSize, @@ -113,6 +114,11 @@ public: }; virtual int event(int event, void *data = 0, void *data2 = 0); void setFocus(eWidget *focus); + + /* enable this if you need the absolute position of the widget */ + void setPositionNotifyChild(int n) { m_notify_child_on_position_change = 1; } + + void notifyShowHide(); }; extern eWidgetDesktop *getDesktop(int which);