+#endif // wxUSE_POPUPWIN // !wxUSE_POPUPWIN
+
+void wxTipWindow::SetBoundingRect(const wxRect& rectBound)
+{
+    m_rectBound = rectBound;
+}
+
+void wxTipWindow::Close()
+{
+    if ( m_windowPtr )
+    {
+        *m_windowPtr = NULL;
+        m_windowPtr = NULL;
+    }
+
+#if wxUSE_POPUPWIN
+    Show(FALSE);
+    Destroy();
+#else
+    wxFrame::Close();
+#endif
+}
+
+// ----------------------------------------------------------------------------
+// wxTipWindowView
+// ----------------------------------------------------------------------------
+
+wxTipWindowView::wxTipWindowView(wxWindow *parent)
+               : wxWindow(parent, -1,
+                          wxDefaultPosition, wxDefaultSize,
+                          wxNO_BORDER)
+{
+    // set colours
+    SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT));
+    SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK));
+
+#if !wxUSE_POPUPWIN
+    m_creationTime = wxGetLocalTime();
+#endif // !wxUSE_POPUPWIN
+
+    m_parent = (wxTipWindow*)parent;
+}
+
+void wxTipWindowView::Adjust(const wxString& text, wxCoord maxLength)