///////////////////////////////////////////////////////////////////////////////
// Name: window.h
-// Purpose: wxWindowBase class - the interface of wxWindowBase
+// Purpose: wxWindowBase class - the interface of wxWindow
// Author: Vadim Zeitlin
// Modified by:
// Created: 01/02/97
#include "wx/font.h" // so we can't do without them
#include "wx/colour.h"
#include "wx/region.h"
-#include "wx/accel.h"
+
+#if wxUSE_ACCEL
+ #include "wx/accel.h"
+#endif // wxUSE_ACCEL
// ----------------------------------------------------------------------------
// forward declarations
// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxCaret;
class WXDLLEXPORT wxClientData;
class WXDLLEXPORT wxControl;
class WXDLLEXPORT wxCursor;
inline wxWindow *GetGrandParent() const;
// is this window a top level one?
- bool IsTopLevel() const { return m_parent != 0; }
+ bool IsTopLevel() const;
// it doesn't really change parent, use ReParent() instead
void SetParent( wxWindowBase *parent ) { m_parent = (wxWindow *)parent; }
// validators and client data
// --------------------------
+#if wxUSE_VALIDATORS
// a window may have an associated validator which is used to control
// user input
virtual void SetValidator( const wxValidator &validator );
virtual wxValidator *GetValidator() { return m_windowValidator; }
+#endif // wxUSE_VALIDATORS
// each window may have associated client data: either a pointer to
// wxClientData object in which case it is managed by the window (i.e.
virtual void InitDialog();
+#if wxUSE_ACCEL
// accelerators
// ------------
virtual void SetAcceleratorTable( const wxAcceleratorTable& accel )
{ m_acceleratorTable = accel; }
wxAcceleratorTable *GetAcceleratorTable()
{ return &m_acceleratorTable; }
+#endif // wxUSE_ACCEL
// dialog units translations
// -------------------------
const wxFont& GetFont() const { return m_font; }
wxFont& GetFont() { return m_font; }
+#if wxUSE_CARET
+ // associate a caret with the window
+ void SetCaret(wxCaret *caret);
+ // get the current caret (may be NULL)
+ wxCaret *GetCaret() const { return m_caret; }
+#endif // wxUSE_CARET
+
// get the (average) character size for the current font
virtual int GetCharHeight() const = 0;
virtual int GetCharWidth() const = 0;
// changed with SetEventHandler()
wxEvtHandler *m_eventHandler;
+#if wxUSE_VALIDATORS
// associated validator or NULL if none
wxValidator *m_windowValidator;
+#endif // wxUSE_VALIDATORS
#if wxUSE_DRAG_AND_DROP
wxDropTarget *m_dropTarget;
wxFont m_font;
wxColour m_backgroundColour, m_foregroundColour;
+#if wxUSE_CARET
+ wxCaret *m_caret;
+#endif // wxUSE_CARET
+
// the region which should be repainted in response to paint event
wxRegion m_updateRegion;
+#if wxUSE_ACCEL
// the accelerator table for the window which translates key strokes into
// command events
wxAcceleratorTable m_acceleratorTable;
+#endif // wxUSE_ACCEL
// user data associated with the window: either an object which will be
// deleted by the window when it's deleted or some raw pointer which we do