- Added UNICODE layer for OSX so that you can build wxWidgets in UNICODE mode in OSX 10.2 (and possibly lower) with wxMAC and wxCOCOA (RN)
- Fixed so that wxCOCOA runs in 10.2 (and possibly lower) (RN)
+- Tooltips now supported - Enable and SetDelay not implemented (RN)
+- wxSound now supported (RN)
+- wxDisplay now supported (RN)
+- Cursors (hopefully) now supported (RN)
wxMac:
#include "wx/object.h"
+class wxWindow;
+
class wxToolTip : public wxObject
{
public:
// ctor & dtor
- wxToolTip(const wxString &tip) : m_text(tip), m_window(0) {}
- virtual ~wxToolTip() {}
+ wxToolTip(const wxString &tip);
+ virtual ~wxToolTip();
// accessors
// tip text
- void SetTip(const wxString& tip) { m_text = tip; }
- const wxString& GetTip() const { return m_text; }
+ void SetTip(const wxString& tip);
+ const wxString& GetTip() const;
// the window we're associated with
- wxWindow *GetWindow() const { return m_window; }
+ wxWindow *GetWindow() const;
// controlling tooltip behaviour: globally change tooltip parameters
// enable or disable the tooltips globally
- static void Enable(bool flag) {}
+ static void Enable(bool flag);
// set the delay after which the tooltip appears
- static void SetDelay(long milliseconds) {}
+ static void SetDelay(long milliseconds);
private:
- void SetWindow(wxWindow* window) {m_window = window;}
+ void SetWindow(wxWindow* window);
+
friend class wxWindow;
wxString m_text; // tooltip text
/////////////////////////////////////////////////////////////////////////////
-// Name: src/cocoa/display.cpp
+// Name: src/cocoa/display.mm
// Purpose: Cocoa implementation of wxDisplay class
// Author: Ryan Norton
// Modified by:
// Created: 2004-10-03
// RCS-ID: $Id$
-// Copyright: (c) wxWidgets team
+// Copyright: (c) Ryan Norton
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/cocoa/tooltip.mm
+// Purpose: Cocoa tooltips
+// Author: Ryan Norton
+// Modified by:
+// Created: 2004-10-03
+// RCS-ID: $Id$
+// Copyright: (c) Ryan Norton
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+// ===========================================================================
+// declarations
+// ===========================================================================
+
+// ---------------------------------------------------------------------------
+// headers
+// ---------------------------------------------------------------------------
+
+#include "wx/defs.h"
+
+#if wxUSE_TOOLTIPS
+
+#include "wx/window.h"
+#include "wx/tooltip.h"
+
+#include "wx/cocoa/autorelease.h"
+#include "wx/cocoa/string.h"
+
+#import <AppKit/NSView.h>
+
+//-----------------------------------------------------------------------------
+// wxToolTip
+//-----------------------------------------------------------------------------
+
+IMPLEMENT_ABSTRACT_CLASS(wxToolTip, wxObject)
+
+wxToolTip::wxToolTip(const wxString &tip) :
+ m_text(tip), m_window(0)
+{
+}
+
+wxToolTip::~wxToolTip()
+{
+}
+
+void wxToolTip::SetTip(const wxString& tip)
+{
+ m_text = tip;
+}
+
+const wxString& wxToolTip::GetTip() const
+{
+ return m_text;
+}
+
+// the window we're associated with
+wxWindow *wxToolTip::GetWindow() const
+{
+ return m_window;
+}
+
+// enable or disable the tooltips globally
+//static
+ void wxToolTip::Enable(bool flag)
+{
+ //TODO
+ wxFAIL_MSG(wxT("Not implemented"));
+}
+
+// set the delay after which the tooltip appears
+//static
+ void SetDelay(long milliseconds)
+{
+ //TODO
+ wxFAIL_MSG(wxT("Not implemented"));
+}
+
+void wxToolTip::SetWindow(wxWindow* window)
+{
+ wxAutoNSAutoreleasePool pool;
+
+ m_window = window;
+
+ //set the tooltip - empty string means remove
+ if (m_text.IsEmpty())
+ [m_window->GetNSView() setToolTip:nil];
+ else
+ [m_window->GetNSView() setToolTip:wxNSStringWithWxString(m_text)];
+}
+
+#endif //wxUSE_TOOLTIPS
#import <AppKit/NSColor.h>
#import <AppKit/NSClipView.h>
#import <Foundation/NSException.h>
-#import <Foundation/NSString.h>
#include <objc/objc-runtime.h>
DoMoveWindow(x,y,width,height);
}
-//We should really get rid of wxToolTip :)
-IMPLEMENT_ABSTRACT_CLASS(wxToolTip, wxObject)
+#if wxUSE_TOOLTIPS
void wxWindowCocoa::DoSetToolTip( wxToolTip *tip )
{
wxWindowBase::DoSetToolTip(tip);
- wxAutoNSAutoreleasePool pool;
-
if ( m_tooltip )
{
m_tooltip->SetWindow((wxWindow *)this);
- [GetNSView() setToolTip:wxNSStringWithWxString(m_tooltip->GetTip())];
}
}
+#endif
+
void wxWindowCocoa::DoMoveWindow(int x, int y, int width, int height)
{
wxAutoNSAutoreleasePool pool;