///////////////////////////////////////////////////////////////////////////////
// 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
// forward declarations
// ----------------------------------------------------------------------------
+class WXDLLEXPORT wxCaret;
class WXDLLEXPORT wxClientData;
class WXDLLEXPORT wxControl;
class WXDLLEXPORT wxCursor;
// label is just the same as the title (but for, e.g., buttons it
// makes more sense to speak about labels)
- void SetLabel(const wxString& label) { SetTitle(label); }
- wxString GetLabel() const { return GetTitle(); }
+ virtual void SetLabel(const wxString& label) { SetTitle(label); }
+ 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
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;
const = 0;
// translate to/from screen/client coordinates (pointers may be NULL)
- virtual void ClientToScreen( int *x, int *y ) const = 0;
- virtual void ScreenToClient( int *x, int *y ) const = 0;
+ void ClientToScreen( int *x, int *y ) const
+ { DoClientToScreen(x, y); }
+ void ScreenToClient( int *x, int *y ) const
+ { DoScreenToClient(x, y); }
+ wxPoint ClientToScreen(const wxPoint& pt) const
+ {
+ int x = pt.x, y = pt.y;
+ DoClientToScreen(&x, &y);
+
+ return wxPoint(x, y);
+ }
+
+ wxPoint ScreenToClient(const wxPoint& pt) const
+ {
+ int x = pt.x, y = pt.y;
+ DoScreenToClient(&x, &y);
+
+ return wxPoint(x, y);
+ }
// misc
// ----
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;
// overloaded Something()s in terms of DoSomething() which will be the
// only one to be virtual.
+ // coordinates translation
+ virtual void DoClientToScreen( int *x, int *y ) const = 0;
+ virtual void DoScreenToClient( int *x, int *y ) const = 0;
+
// retrieve the position/size of the window
virtual void DoGetPosition( int *x, int *y ) const = 0;
virtual void DoGetSize( int *width, int *height ) const = 0;