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
|
if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
|
||||||
wxUSE_PRINTING_ARCHITECTURE=no
|
wxUSE_PRINTING_ARCHITECTURE=no
|
||||||
wxUSE_DRAG_AND_DROP=no
|
wxUSE_DRAG_AND_DROP=no
|
||||||
DEFAULT_wxUSE_TOOLTIPS=no
|
|
||||||
DEFAULT_wxUSE_DRAGIMAGE=no
|
DEFAULT_wxUSE_DRAGIMAGE=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@@ -1048,7 +1048,6 @@ fi
|
|||||||
if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
|
if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
|
||||||
wxUSE_PRINTING_ARCHITECTURE=no
|
wxUSE_PRINTING_ARCHITECTURE=no
|
||||||
wxUSE_DRAG_AND_DROP=no
|
wxUSE_DRAG_AND_DROP=no
|
||||||
DEFAULT_wxUSE_TOOLTIPS=no
|
|
||||||
DEFAULT_wxUSE_DRAGIMAGE=no
|
DEFAULT_wxUSE_DRAGIMAGE=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@@ -26,6 +26,8 @@ alter tooltips behaviour.
|
|||||||
|
|
||||||
Enable or disable tooltips globally.
|
Enable or disable tooltips globally.
|
||||||
|
|
||||||
|
May not be supported on all platforms (eg. wxCocoa).
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxToolTip::SetDelay}\label{wxtooltipsetdelay}
|
\membersection{wxToolTip::SetDelay}\label{wxtooltipsetdelay}
|
||||||
|
|
||||||
@@ -33,6 +35,7 @@ Enable or disable tooltips globally.
|
|||||||
|
|
||||||
Set the delay after which the tooltip appears.
|
Set the delay after which the tooltip appears.
|
||||||
|
|
||||||
|
May not be supported on all platforms (eg. wxCocoa).
|
||||||
|
|
||||||
\membersection{wxToolTip::wxToolTip}\label{wxtooltipwxtooltip}
|
\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"
|
#include "wx/gtk/tooltip.h"
|
||||||
#elif defined(__WXMAC__)
|
#elif defined(__WXMAC__)
|
||||||
#include "wx/mac/tooltip.h"
|
#include "wx/mac/tooltip.h"
|
||||||
|
#elif defined(__WXCOCOA__)
|
||||||
|
#include "wx/cocoa/tooltip.h"
|
||||||
#elif defined(__WXPM__)
|
#elif defined(__WXPM__)
|
||||||
#include "wx/os2/tooltip.h"
|
#include "wx/os2/tooltip.h"
|
||||||
#endif
|
#endif
|
||||||
|
@@ -12,10 +12,12 @@
|
|||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
#ifndef WX_PRECOMP
|
#ifndef WX_PRECOMP
|
||||||
#include "wx/log.h"
|
#include "wx/log.h"
|
||||||
|
#include "wx/tooltip.h"
|
||||||
#include "wx/window.h"
|
#include "wx/window.h"
|
||||||
#endif //WX_PRECOMP
|
#endif //WX_PRECOMP
|
||||||
|
|
||||||
#include "wx/cocoa/autorelease.h"
|
#include "wx/cocoa/autorelease.h"
|
||||||
|
#include "wx/cocoa/string.h"
|
||||||
|
|
||||||
#import <AppKit/NSView.h>
|
#import <AppKit/NSView.h>
|
||||||
#import <AppKit/NSEvent.h>
|
#import <AppKit/NSEvent.h>
|
||||||
@@ -23,6 +25,7 @@
|
|||||||
#import <AppKit/NSColor.h>
|
#import <AppKit/NSColor.h>
|
||||||
#import <AppKit/NSClipView.h>
|
#import <AppKit/NSClipView.h>
|
||||||
#import <Foundation/NSException.h>
|
#import <Foundation/NSException.h>
|
||||||
|
#import <Foundation/NSString.h>
|
||||||
|
|
||||||
#include <objc/objc-runtime.h>
|
#include <objc/objc-runtime.h>
|
||||||
|
|
||||||
@@ -354,10 +357,9 @@ bool wxWindowCocoa::Cocoa_drawRect(const NSRect &rect)
|
|||||||
int countRects = 1;
|
int countRects = 1;
|
||||||
// Try replacing the larger rectangle with a list of smaller ones:
|
// Try replacing the larger rectangle with a list of smaller ones:
|
||||||
NS_DURING
|
NS_DURING
|
||||||
// This only works on Panther
|
//getRectsBeingDrawn:count: is a optimization that is only available on
|
||||||
// [GetNSView() getRectsBeingDrawn:&rects count:&countRects];
|
//Panthar (10.3) and higher. Check to see if it supports it -
|
||||||
// This compiles everywhere (and still only works on Panther)
|
if ( [GetNSView() respondsToSelector:@selector(getRectsBeingDrawn:count:)] ) objc_msgSend(GetNSView(),@selector(getRectsBeingDrawn:count:),&rects,&countRects);
|
||||||
objc_msgSend(GetNSView(),@selector(getRectsBeingDrawn:count:),&rects,&countRects);
|
|
||||||
NS_HANDLER
|
NS_HANDLER
|
||||||
NS_ENDHANDLER
|
NS_ENDHANDLER
|
||||||
m_updateRegion = wxRegion(rects,countRects);
|
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);
|
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)
|
void wxWindowCocoa::DoMoveWindow(int x, int y, int width, int height)
|
||||||
{
|
{
|
||||||
wxAutoNSAutoreleasePool pool;
|
wxAutoNSAutoreleasePool pool;
|
||||||
|
Reference in New Issue
Block a user