cocoa tooltips. Remove runtime warning from 10.2 (dave - I was too lazy to change this from my local copy, feel free to commit over this if you want)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29686 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
1
configure
vendored
1
configure
vendored
@@ -7012,7 +7012,6 @@ fi
|
||||
if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
|
||||
wxUSE_PRINTING_ARCHITECTURE=no
|
||||
wxUSE_DRAG_AND_DROP=no
|
||||
DEFAULT_wxUSE_TOOLTIPS=no
|
||||
DEFAULT_wxUSE_DRAGIMAGE=no
|
||||
fi
|
||||
|
||||
|
@@ -1048,7 +1048,6 @@ fi
|
||||
if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
|
||||
wxUSE_PRINTING_ARCHITECTURE=no
|
||||
wxUSE_DRAG_AND_DROP=no
|
||||
DEFAULT_wxUSE_TOOLTIPS=no
|
||||
DEFAULT_wxUSE_DRAGIMAGE=no
|
||||
fi
|
||||
|
||||
|
@@ -26,6 +26,8 @@ alter tooltips behaviour.
|
||||
|
||||
Enable or disable tooltips globally.
|
||||
|
||||
May not be supported on all platforms (eg. wxCocoa).
|
||||
|
||||
|
||||
\membersection{wxToolTip::SetDelay}\label{wxtooltipsetdelay}
|
||||
|
||||
@@ -33,6 +35,7 @@ Enable or disable tooltips globally.
|
||||
|
||||
Set the delay after which the tooltip appears.
|
||||
|
||||
May not be supported on all platforms (eg. wxCocoa).
|
||||
|
||||
\membersection{wxToolTip::wxToolTip}\label{wxtooltipwxtooltip}
|
||||
|
||||
|
43
include/wx/cocoa/tooltip.h
Normal file
43
include/wx/cocoa/tooltip.h
Normal file
@@ -0,0 +1,43 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: cocoa/tooltip.h
|
||||
// Purpose: wxToolTip class - tooltip control
|
||||
// Author: Ryan Norton
|
||||
// Modified by:
|
||||
// Created: 31.01.99
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Ryan Norton
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "wx/object.h"
|
||||
|
||||
class wxToolTip : public wxObject
|
||||
{
|
||||
public:
|
||||
// ctor & dtor
|
||||
wxToolTip(const wxString &tip) : m_text(tip), m_window(0) {}
|
||||
virtual ~wxToolTip() {}
|
||||
|
||||
// accessors
|
||||
// tip text
|
||||
void SetTip(const wxString& tip) { m_text = tip; }
|
||||
const wxString& GetTip() const { return m_text; }
|
||||
|
||||
// the window we're associated with
|
||||
wxWindow *GetWindow() const { return m_window; }
|
||||
|
||||
// controlling tooltip behaviour: globally change tooltip parameters
|
||||
// enable or disable the tooltips globally
|
||||
static void Enable(bool flag) {}
|
||||
// set the delay after which the tooltip appears
|
||||
static void SetDelay(long milliseconds) {}
|
||||
|
||||
private:
|
||||
void SetWindow(wxWindow* window) {m_window = window;}
|
||||
friend class wxWindow;
|
||||
|
||||
wxString m_text; // tooltip text
|
||||
wxWindow *m_window; // window we're associated with
|
||||
|
||||
DECLARE_ABSTRACT_CLASS(wxToolTip)
|
||||
};
|
@@ -13,6 +13,8 @@
|
||||
#include "wx/gtk/tooltip.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/tooltip.h"
|
||||
#elif defined(__WXCOCOA__)
|
||||
#include "wx/cocoa/tooltip.h"
|
||||
#elif defined(__WXPM__)
|
||||
#include "wx/os2/tooltip.h"
|
||||
#endif
|
||||
|
@@ -12,10 +12,12 @@
|
||||
#include "wx/wxprec.h"
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/log.h"
|
||||
#include "wx/tooltip.h"
|
||||
#include "wx/window.h"
|
||||
#endif //WX_PRECOMP
|
||||
|
||||
#include "wx/cocoa/autorelease.h"
|
||||
#include "wx/cocoa/string.h"
|
||||
|
||||
#import <AppKit/NSView.h>
|
||||
#import <AppKit/NSEvent.h>
|
||||
@@ -23,6 +25,7 @@
|
||||
#import <AppKit/NSColor.h>
|
||||
#import <AppKit/NSClipView.h>
|
||||
#import <Foundation/NSException.h>
|
||||
#import <Foundation/NSString.h>
|
||||
|
||||
#include <objc/objc-runtime.h>
|
||||
|
||||
@@ -354,10 +357,9 @@ bool wxWindowCocoa::Cocoa_drawRect(const NSRect &rect)
|
||||
int countRects = 1;
|
||||
// Try replacing the larger rectangle with a list of smaller ones:
|
||||
NS_DURING
|
||||
// This only works on Panther
|
||||
// [GetNSView() getRectsBeingDrawn:&rects count:&countRects];
|
||||
// This compiles everywhere (and still only works on Panther)
|
||||
objc_msgSend(GetNSView(),@selector(getRectsBeingDrawn:count:),&rects,&countRects);
|
||||
//getRectsBeingDrawn:count: is a optimization that is only available on
|
||||
//Panthar (10.3) and higher. Check to see if it supports it -
|
||||
if ( [GetNSView() respondsToSelector:@selector(getRectsBeingDrawn:count:)] ) objc_msgSend(GetNSView(),@selector(getRectsBeingDrawn:count:),&rects,&countRects);
|
||||
NS_HANDLER
|
||||
NS_ENDHANDLER
|
||||
m_updateRegion = wxRegion(rects,countRects);
|
||||
@@ -598,6 +600,22 @@ void wxWindowCocoa::DoSetSize(int x, int y, int width, int height, int sizeFlags
|
||||
DoMoveWindow(x,y,width,height);
|
||||
}
|
||||
|
||||
//We should really get rid of wxToolTip :)
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxToolTip, wxObject)
|
||||
|
||||
void wxWindowCocoa::DoSetToolTip( wxToolTip *tip )
|
||||
{
|
||||
wxWindowBase::DoSetToolTip(tip);
|
||||
|
||||
wxAutoNSAutoreleasePool pool;
|
||||
|
||||
if ( m_tooltip )
|
||||
{
|
||||
m_tooltip->SetWindow((wxWindow *)this);
|
||||
[GetNSView() setToolTip:wxNSStringWithWxString(m_tooltip->GetTip())];
|
||||
}
|
||||
}
|
||||
|
||||
void wxWindowCocoa::DoMoveWindow(int x, int y, int width, int height)
|
||||
{
|
||||
wxAutoNSAutoreleasePool pool;
|
||||
|
Reference in New Issue
Block a user