wxUpdateUI events generation added

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1998-07-23 16:08:49 +00:00
parent 9406d962cc
commit aed8df383f
2 changed files with 408 additions and 404 deletions

View File

@@ -58,21 +58,18 @@ extern const wxPoint wxDefaultPosition;
class wxWindow: public wxEvtHandler class wxWindow: public wxEvtHandler
{ {
DECLARE_DYNAMIC_CLASS(wxWindow)
public: public:
wxWindow();
wxWindow(void);
wxWindow( wxWindow *parent, wxWindowID id, wxWindow( wxWindow *parent, wxWindowID id,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxPanelNameStr ); long style = 0, const wxString &name = wxPanelNameStr );
bool Create( wxWindow *parent, wxWindowID id, bool Create( wxWindow *parent, wxWindowID id,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxPanelNameStr ); long style = 0, const wxString &name = wxPanelNameStr );
virtual ~wxWindow(void); virtual ~wxWindow();
bool Close( bool force = FALSE ); bool Close( bool force = FALSE );
virtual bool Destroy(void); virtual bool Destroy();
virtual bool DestroyChildren(void); virtual bool DestroyChildren();
virtual void PrepareDC( wxDC &dc ); virtual void PrepareDC( wxDC &dc );
@@ -85,75 +82,76 @@ class wxWindow: public wxEvtHandler
virtual void GetClientSize( int *width, int *height ) const; virtual void GetClientSize( int *width, int *height ) const;
virtual void GetPosition( int *x, int *y ) const; virtual void GetPosition( int *x, int *y ) const;
virtual void Centre( int direction = wxHORIZONTAL ); virtual void Centre( int direction = wxHORIZONTAL );
virtual void Fit(void); virtual void Fit();
void OnSize( wxSizeEvent &event ); void OnSize( wxSizeEvent &event );
void OnIdle( wxIdleEvent& event );
virtual bool Show( bool show ); virtual bool Show( bool show );
virtual void Enable( bool enable ); virtual void Enable( bool enable );
virtual void MakeModal( bool modal ); virtual void MakeModal( bool modal );
virtual bool IsEnabled(void) const { return m_isEnabled; }; virtual bool IsEnabled() const { return m_isEnabled; };
virtual void SetFocus(void); virtual void SetFocus();
virtual bool OnClose(void); virtual bool OnClose();
virtual void AddChild( wxWindow *child ); virtual void AddChild( wxWindow *child );
wxList *GetChildren(void); wxList *GetChildren();
virtual void RemoveChild( wxWindow *child ); virtual void RemoveChild( wxWindow *child );
void SetReturnCode( int retCode ); void SetReturnCode( int retCode );
int GetReturnCode(void); int GetReturnCode();
wxWindow *GetParent(void); wxWindow *GetParent();
wxEvtHandler *GetEventHandler(void); wxEvtHandler *GetEventHandler();
void SetEventhandler( wxEvtHandler *handler ); void SetEventhandler( wxEvtHandler *handler );
virtual wxValidator *GetValidator(void); virtual wxValidator *GetValidator();
virtual void SetValidator( wxValidator *validator ); virtual void SetValidator( wxValidator *validator );
bool IsBeingDeleted(void); bool IsBeingDeleted();
void SetId( wxWindowID id ); void SetId( wxWindowID id );
wxWindowID GetId(void); wxWindowID GetId();
void SetCursor( const wxCursor &cursor ); void SetCursor( const wxCursor &cursor );
virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = NULL ); virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = NULL );
virtual void Clear(void); virtual void Clear();
virtual bool IsExposed( long x, long y ); virtual bool IsExposed( long x, long y );
virtual bool IsExposed( long x, long y, long width, long height ); virtual bool IsExposed( long x, long y, long width, long height );
virtual wxColour GetBackgroundColour(void) const; virtual wxColour GetBackgroundColour() const;
virtual void SetBackgroundColour( const wxColour &colour ); virtual void SetBackgroundColour( const wxColour &colour );
virtual void SetDefaultBackgroundColour( const wxColour& col ) virtual void SetDefaultBackgroundColour( const wxColour& col )
{ m_defaultBackgroundColour = col; }; { m_defaultBackgroundColour = col; };
virtual wxColour GetDefaultBackgroundColour(void) const virtual wxColour GetDefaultBackgroundColour() const
{ return m_defaultBackgroundColour; }; { return m_defaultBackgroundColour; };
virtual void SetDefaultForegroundColour( const wxColour& col ) virtual void SetDefaultForegroundColour( const wxColour& col )
{ m_defaultForegroundColour = col; }; { m_defaultForegroundColour = col; };
virtual wxColour GetDefaultForegroundColour(void) const virtual wxColour GetDefaultForegroundColour() const
{ return m_defaultForegroundColour; }; { return m_defaultForegroundColour; };
virtual void SetFont( const wxFont &font ); virtual void SetFont( const wxFont &font );
virtual wxFont *GetFont(void); virtual wxFont *GetFont();
// For backward compatibility // For backward compatibility
inline virtual void SetButtonFont(const wxFont& font) { SetFont(font); } inline virtual void SetButtonFont(const wxFont& font) { SetFont(font); }
inline virtual void SetLabelFont(const wxFont& font) { SetFont(font); } inline virtual void SetLabelFont(const wxFont& font) { SetFont(font); }
inline virtual wxFont *GetLabelFont(void) { return GetFont(); }; inline virtual wxFont *GetLabelFont() { return GetFont(); };
inline virtual wxFont *GetButtonFont(void) { return GetFont(); }; inline virtual wxFont *GetButtonFont() { return GetFont(); };
virtual void SetWindowStyleFlag( long flag ); virtual void SetWindowStyleFlag( long flag );
virtual long GetWindowStyleFlag(void) const; virtual long GetWindowStyleFlag() const;
virtual void CaptureMouse(void); virtual void CaptureMouse();
virtual void ReleaseMouse(void); virtual void ReleaseMouse();
virtual void SetTitle( const wxString &title ); virtual void SetTitle( const wxString &title );
virtual wxString GetTitle(void) const; virtual wxString GetTitle() const;
virtual void SetName( const wxString &name ); virtual void SetName( const wxString &name );
virtual wxString GetName(void) const; virtual wxString GetName() const;
virtual wxString GetLabel(void) const; virtual wxString GetLabel() const;
void OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) ) {}; void OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) ) {};
virtual bool IsShown(void) const; virtual bool IsShown() const;
virtual bool IsRetained(void); virtual bool IsRetained();
virtual wxWindow *FindWindow( long id ); virtual wxWindow *FindWindow( long id );
virtual wxWindow *FindWindow( const wxString& name ); virtual wxWindow *FindWindow( const wxString& name );
void AllowDoubleClick( bool WXUNUSED(allow) ) {}; void AllowDoubleClick( bool WXUNUSED(allow) ) {};
@@ -161,34 +159,37 @@ class wxWindow: public wxEvtHandler
virtual void ClientToScreen( int *x, int *y ); virtual void ClientToScreen( int *x, int *y );
virtual void ScreenToClient( int *x, int *y ); virtual void ScreenToClient( int *x, int *y );
virtual bool Validate(void); virtual bool Validate();
virtual bool TransferDataToWindow(void); virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow(void); virtual bool TransferDataFromWindow();
void OnInitDialog( wxInitDialogEvent &event ); void OnInitDialog( wxInitDialogEvent &event );
virtual void InitDialog(void); virtual void InitDialog();
virtual void SetDropTarget( wxDropTarget *dropTarget ); virtual void SetDropTarget( wxDropTarget *dropTarget );
virtual wxDropTarget *GetDropTarget() const; virtual wxDropTarget *GetDropTarget() const;
virtual void SetScrollbar( const int orient, const int pos, const int thumbVisible, virtual void SetScrollbar( int orient, int pos, int thumbVisible,
const int range, const bool refresh = TRUE ); int range, bool refresh = TRUE );
virtual void SetScrollPos( const int orient, const int pos, const bool refresh = TRUE ); virtual void SetScrollPos( int orient, int pos, bool refresh = TRUE );
virtual int GetScrollPos( const int orient ) const; virtual int GetScrollPos( int orient ) const;
virtual int GetScrollThumb( const int orient ) const; virtual int GetScrollThumb( int orient ) const;
virtual int GetScrollRange( const int orient ) const; virtual int GetScrollRange( int orient ) const;
virtual void ScrollWindow( const int dx, const int dy, const wxRect* rect = NULL ); virtual void ScrollWindow( int dx, int dy, const wxRect* rect = NULL );
// return FALSE from here if the window doesn't want the focus // return FALSE from here if the window doesn't want the focus
virtual bool AcceptsFocus() const; virtual bool AcceptsFocus() const;
// update the UI state (called from OnIdle)
void UpdateWindowUI();
public: // cannot get private going yet public: // cannot get private going yet
void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos, void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos,
const wxSize &size, long style, const wxString &name ); const wxSize &size, long style, const wxString &name );
void PostCreation(void); void PostCreation();
bool HasVMT(void); bool HasVMT();
virtual void ImplementSetSize(void); virtual void ImplementSetSize();
virtual void ImplementSetPosition(void); virtual void ImplementSetPosition();
void GetDrawingOffset( long *x, long *y ); void GetDrawingOffset( long *x, long *y );
wxWindow *m_parent; wxWindow *m_parent;
@@ -232,21 +233,21 @@ class wxWindow: public wxEvtHandler
wxWindow * m_sizerParent; wxWindow * m_sizerParent;
bool m_autoLayout; bool m_autoLayout;
wxLayoutConstraints *GetConstraints(void) const; wxLayoutConstraints *GetConstraints() const;
void SetConstraints( wxLayoutConstraints *constraints ); void SetConstraints( wxLayoutConstraints *constraints );
void SetAutoLayout( bool autoLayout ); void SetAutoLayout( bool autoLayout );
bool GetAutoLayout(void) const; bool GetAutoLayout() const;
bool Layout(void); bool Layout();
void SetSizer( wxSizer *sizer ); void SetSizer( wxSizer *sizer );
wxSizer *GetSizer(void) const; wxSizer *GetSizer() const;
void SetSizerParent( wxWindow *win ); void SetSizerParent( wxWindow *win );
wxWindow *GetSizerParent(void) const; wxWindow *GetSizerParent() const;
void UnsetConstraints(wxLayoutConstraints *c); void UnsetConstraints(wxLayoutConstraints *c);
inline wxList *GetConstraintsInvolvedIn(void) const ; inline wxList *GetConstraintsInvolvedIn() const ;
void AddConstraintReference(wxWindow *otherWin); void AddConstraintReference(wxWindow *otherWin);
void RemoveConstraintReference(wxWindow *otherWin); void RemoveConstraintReference(wxWindow *otherWin);
void DeleteRelatedConstraints(void); void DeleteRelatedConstraints();
virtual void ResetConstraints(void); virtual void ResetConstraints();
virtual void SetConstraintSizes(bool recurse = TRUE); virtual void SetConstraintSizes(bool recurse = TRUE);
virtual bool LayoutPhase1(int *noChanges); virtual bool LayoutPhase1(int *noChanges);
virtual bool LayoutPhase2(int *noChanges); virtual bool LayoutPhase2(int *noChanges);
@@ -260,6 +261,7 @@ class wxWindow: public wxEvtHandler
virtual void GetClientSizeConstraint(int *w, int *h) const ; virtual void GetClientSizeConstraint(int *w, int *h) const ;
virtual void GetPositionConstraint(int *x, int *y) const ; virtual void GetPositionConstraint(int *x, int *y) const ;
DECLARE_DYNAMIC_CLASS(wxWindow)
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
}; };

View File

@@ -58,21 +58,18 @@ extern const wxPoint wxDefaultPosition;
class wxWindow: public wxEvtHandler class wxWindow: public wxEvtHandler
{ {
DECLARE_DYNAMIC_CLASS(wxWindow)
public: public:
wxWindow();
wxWindow(void);
wxWindow( wxWindow *parent, wxWindowID id, wxWindow( wxWindow *parent, wxWindowID id,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxPanelNameStr ); long style = 0, const wxString &name = wxPanelNameStr );
bool Create( wxWindow *parent, wxWindowID id, bool Create( wxWindow *parent, wxWindowID id,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
long style = 0, const wxString &name = wxPanelNameStr ); long style = 0, const wxString &name = wxPanelNameStr );
virtual ~wxWindow(void); virtual ~wxWindow();
bool Close( bool force = FALSE ); bool Close( bool force = FALSE );
virtual bool Destroy(void); virtual bool Destroy();
virtual bool DestroyChildren(void); virtual bool DestroyChildren();
virtual void PrepareDC( wxDC &dc ); virtual void PrepareDC( wxDC &dc );
@@ -85,75 +82,76 @@ class wxWindow: public wxEvtHandler
virtual void GetClientSize( int *width, int *height ) const; virtual void GetClientSize( int *width, int *height ) const;
virtual void GetPosition( int *x, int *y ) const; virtual void GetPosition( int *x, int *y ) const;
virtual void Centre( int direction = wxHORIZONTAL ); virtual void Centre( int direction = wxHORIZONTAL );
virtual void Fit(void); virtual void Fit();
void OnSize( wxSizeEvent &event ); void OnSize( wxSizeEvent &event );
void OnIdle( wxIdleEvent& event );
virtual bool Show( bool show ); virtual bool Show( bool show );
virtual void Enable( bool enable ); virtual void Enable( bool enable );
virtual void MakeModal( bool modal ); virtual void MakeModal( bool modal );
virtual bool IsEnabled(void) const { return m_isEnabled; }; virtual bool IsEnabled() const { return m_isEnabled; };
virtual void SetFocus(void); virtual void SetFocus();
virtual bool OnClose(void); virtual bool OnClose();
virtual void AddChild( wxWindow *child ); virtual void AddChild( wxWindow *child );
wxList *GetChildren(void); wxList *GetChildren();
virtual void RemoveChild( wxWindow *child ); virtual void RemoveChild( wxWindow *child );
void SetReturnCode( int retCode ); void SetReturnCode( int retCode );
int GetReturnCode(void); int GetReturnCode();
wxWindow *GetParent(void); wxWindow *GetParent();
wxEvtHandler *GetEventHandler(void); wxEvtHandler *GetEventHandler();
void SetEventhandler( wxEvtHandler *handler ); void SetEventhandler( wxEvtHandler *handler );
virtual wxValidator *GetValidator(void); virtual wxValidator *GetValidator();
virtual void SetValidator( wxValidator *validator ); virtual void SetValidator( wxValidator *validator );
bool IsBeingDeleted(void); bool IsBeingDeleted();
void SetId( wxWindowID id ); void SetId( wxWindowID id );
wxWindowID GetId(void); wxWindowID GetId();
void SetCursor( const wxCursor &cursor ); void SetCursor( const wxCursor &cursor );
virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = NULL ); virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = NULL );
virtual void Clear(void); virtual void Clear();
virtual bool IsExposed( long x, long y ); virtual bool IsExposed( long x, long y );
virtual bool IsExposed( long x, long y, long width, long height ); virtual bool IsExposed( long x, long y, long width, long height );
virtual wxColour GetBackgroundColour(void) const; virtual wxColour GetBackgroundColour() const;
virtual void SetBackgroundColour( const wxColour &colour ); virtual void SetBackgroundColour( const wxColour &colour );
virtual void SetDefaultBackgroundColour( const wxColour& col ) virtual void SetDefaultBackgroundColour( const wxColour& col )
{ m_defaultBackgroundColour = col; }; { m_defaultBackgroundColour = col; };
virtual wxColour GetDefaultBackgroundColour(void) const virtual wxColour GetDefaultBackgroundColour() const
{ return m_defaultBackgroundColour; }; { return m_defaultBackgroundColour; };
virtual void SetDefaultForegroundColour( const wxColour& col ) virtual void SetDefaultForegroundColour( const wxColour& col )
{ m_defaultForegroundColour = col; }; { m_defaultForegroundColour = col; };
virtual wxColour GetDefaultForegroundColour(void) const virtual wxColour GetDefaultForegroundColour() const
{ return m_defaultForegroundColour; }; { return m_defaultForegroundColour; };
virtual void SetFont( const wxFont &font ); virtual void SetFont( const wxFont &font );
virtual wxFont *GetFont(void); virtual wxFont *GetFont();
// For backward compatibility // For backward compatibility
inline virtual void SetButtonFont(const wxFont& font) { SetFont(font); } inline virtual void SetButtonFont(const wxFont& font) { SetFont(font); }
inline virtual void SetLabelFont(const wxFont& font) { SetFont(font); } inline virtual void SetLabelFont(const wxFont& font) { SetFont(font); }
inline virtual wxFont *GetLabelFont(void) { return GetFont(); }; inline virtual wxFont *GetLabelFont() { return GetFont(); };
inline virtual wxFont *GetButtonFont(void) { return GetFont(); }; inline virtual wxFont *GetButtonFont() { return GetFont(); };
virtual void SetWindowStyleFlag( long flag ); virtual void SetWindowStyleFlag( long flag );
virtual long GetWindowStyleFlag(void) const; virtual long GetWindowStyleFlag() const;
virtual void CaptureMouse(void); virtual void CaptureMouse();
virtual void ReleaseMouse(void); virtual void ReleaseMouse();
virtual void SetTitle( const wxString &title ); virtual void SetTitle( const wxString &title );
virtual wxString GetTitle(void) const; virtual wxString GetTitle() const;
virtual void SetName( const wxString &name ); virtual void SetName( const wxString &name );
virtual wxString GetName(void) const; virtual wxString GetName() const;
virtual wxString GetLabel(void) const; virtual wxString GetLabel() const;
void OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) ) {}; void OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) ) {};
virtual bool IsShown(void) const; virtual bool IsShown() const;
virtual bool IsRetained(void); virtual bool IsRetained();
virtual wxWindow *FindWindow( long id ); virtual wxWindow *FindWindow( long id );
virtual wxWindow *FindWindow( const wxString& name ); virtual wxWindow *FindWindow( const wxString& name );
void AllowDoubleClick( bool WXUNUSED(allow) ) {}; void AllowDoubleClick( bool WXUNUSED(allow) ) {};
@@ -161,34 +159,37 @@ class wxWindow: public wxEvtHandler
virtual void ClientToScreen( int *x, int *y ); virtual void ClientToScreen( int *x, int *y );
virtual void ScreenToClient( int *x, int *y ); virtual void ScreenToClient( int *x, int *y );
virtual bool Validate(void); virtual bool Validate();
virtual bool TransferDataToWindow(void); virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow(void); virtual bool TransferDataFromWindow();
void OnInitDialog( wxInitDialogEvent &event ); void OnInitDialog( wxInitDialogEvent &event );
virtual void InitDialog(void); virtual void InitDialog();
virtual void SetDropTarget( wxDropTarget *dropTarget ); virtual void SetDropTarget( wxDropTarget *dropTarget );
virtual wxDropTarget *GetDropTarget() const; virtual wxDropTarget *GetDropTarget() const;
virtual void SetScrollbar( const int orient, const int pos, const int thumbVisible, virtual void SetScrollbar( int orient, int pos, int thumbVisible,
const int range, const bool refresh = TRUE ); int range, bool refresh = TRUE );
virtual void SetScrollPos( const int orient, const int pos, const bool refresh = TRUE ); virtual void SetScrollPos( int orient, int pos, bool refresh = TRUE );
virtual int GetScrollPos( const int orient ) const; virtual int GetScrollPos( int orient ) const;
virtual int GetScrollThumb( const int orient ) const; virtual int GetScrollThumb( int orient ) const;
virtual int GetScrollRange( const int orient ) const; virtual int GetScrollRange( int orient ) const;
virtual void ScrollWindow( const int dx, const int dy, const wxRect* rect = NULL ); virtual void ScrollWindow( int dx, int dy, const wxRect* rect = NULL );
// return FALSE from here if the window doesn't want the focus // return FALSE from here if the window doesn't want the focus
virtual bool AcceptsFocus() const; virtual bool AcceptsFocus() const;
// update the UI state (called from OnIdle)
void UpdateWindowUI();
public: // cannot get private going yet public: // cannot get private going yet
void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos, void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos,
const wxSize &size, long style, const wxString &name ); const wxSize &size, long style, const wxString &name );
void PostCreation(void); void PostCreation();
bool HasVMT(void); bool HasVMT();
virtual void ImplementSetSize(void); virtual void ImplementSetSize();
virtual void ImplementSetPosition(void); virtual void ImplementSetPosition();
void GetDrawingOffset( long *x, long *y ); void GetDrawingOffset( long *x, long *y );
wxWindow *m_parent; wxWindow *m_parent;
@@ -232,21 +233,21 @@ class wxWindow: public wxEvtHandler
wxWindow * m_sizerParent; wxWindow * m_sizerParent;
bool m_autoLayout; bool m_autoLayout;
wxLayoutConstraints *GetConstraints(void) const; wxLayoutConstraints *GetConstraints() const;
void SetConstraints( wxLayoutConstraints *constraints ); void SetConstraints( wxLayoutConstraints *constraints );
void SetAutoLayout( bool autoLayout ); void SetAutoLayout( bool autoLayout );
bool GetAutoLayout(void) const; bool GetAutoLayout() const;
bool Layout(void); bool Layout();
void SetSizer( wxSizer *sizer ); void SetSizer( wxSizer *sizer );
wxSizer *GetSizer(void) const; wxSizer *GetSizer() const;
void SetSizerParent( wxWindow *win ); void SetSizerParent( wxWindow *win );
wxWindow *GetSizerParent(void) const; wxWindow *GetSizerParent() const;
void UnsetConstraints(wxLayoutConstraints *c); void UnsetConstraints(wxLayoutConstraints *c);
inline wxList *GetConstraintsInvolvedIn(void) const ; inline wxList *GetConstraintsInvolvedIn() const ;
void AddConstraintReference(wxWindow *otherWin); void AddConstraintReference(wxWindow *otherWin);
void RemoveConstraintReference(wxWindow *otherWin); void RemoveConstraintReference(wxWindow *otherWin);
void DeleteRelatedConstraints(void); void DeleteRelatedConstraints();
virtual void ResetConstraints(void); virtual void ResetConstraints();
virtual void SetConstraintSizes(bool recurse = TRUE); virtual void SetConstraintSizes(bool recurse = TRUE);
virtual bool LayoutPhase1(int *noChanges); virtual bool LayoutPhase1(int *noChanges);
virtual bool LayoutPhase2(int *noChanges); virtual bool LayoutPhase2(int *noChanges);
@@ -260,6 +261,7 @@ class wxWindow: public wxEvtHandler
virtual void GetClientSizeConstraint(int *w, int *h) const ; virtual void GetClientSizeConstraint(int *w, int *h) const ;
virtual void GetPositionConstraint(int *x, int *y) const ; virtual void GetPositionConstraint(int *x, int *y) const ;
DECLARE_DYNAMIC_CLASS(wxWindow)
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
}; };