#ifndef _WX_WINDOW_H_BASE_
#define _WX_WINDOW_H_BASE_
+#ifdef __GNUG__
+ #pragma interface "windowbase.h"
+#endif
+
// ----------------------------------------------------------------------------
// headers which we must include here
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxClientData;
class WXDLLEXPORT wxControl;
class WXDLLEXPORT wxCursor;
-class WXDLLEXPORT wxDc;
+class WXDLLEXPORT wxDC;
class WXDLLEXPORT wxDropTarget;
class WXDLLEXPORT wxItemResource;
class WXDLLEXPORT wxLayoutConstraints;
// label is just the same as the title (but for, e.g., buttons it
// makes more sense to speak about labels)
- wxString GetLabel() const { return GetTitle(); }
+ virtual wxString GetLabel() const { return GetTitle(); }
// the window name is used for ressource setting in X, it is not the
// same as the window title/label
// generate a control id for the controls which were not given one by
// user
- static int NewControlId() { return ++ms_lastControlId; }
+ static int NewControlId() { return --ms_lastControlId; }
// moving/resizing
// ---------------
virtual void Clear() = 0;
// adjust DC for drawing on this window
- virtual void PrepareDC( wxDC &dc ) { }
+ virtual void PrepareDC( wxDC & WXUNUSED(dc) ) { }
// the update region of the window contains the areas which must be
// repainted by the program
void OnSysColourChanged( wxSysColourChangedEvent& event );
void OnInitDialog( wxInitDialogEvent &event );
-/*
- // What is this doing in the platform independent part?
- // No doc specifies this. Of what use would that be?
-
- // the window handle (for the underlying windowing system)
- union
- {
- // we have 2 common names for this member, one for MSW and the other
- // for the rest of the world
- WXWidget m_widget;
- WXWidget m_hWnd;
- };
-
- // accessor
- WXWidget GetHandle() const { return m_widget; }
-
-*/
+ // get the haqndle of the window for the underlying window system: this
+ // is only used for wxWin itself or for user code which wants to call
+ // platform-specific APIs
+ virtual WXWidget GetHandle() const = 0;
protected:
// the window id - a number which uniquely identifies a window among
- // its siblings unless it is -1
+ // its siblings unless it is -1
wxWindowID m_windowId;
// the parent window of this window (or NULL) and the list of the children
// contains the last id generated by NewControlId
static int ms_lastControlId;
+ DECLARE_NO_COPY_CLASS(wxWindowBase);
DECLARE_EVENT_TABLE()
};