]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/window.mm
Since wxDialog::Show(false) only calls wxWindow::Show, we must explicitly hide the...
[wxWidgets.git] / src / osx / cocoa / window.mm
index 83a5e7f79aae55eb30428c81d180dc4b5b8983df..a2aea90d23c464a829abe7167a13cd2301428b27 100644 (file)
@@ -15,6 +15,7 @@
     #include "wx/dcclient.h"
     #include "wx/nonownedwnd.h"
     #include "wx/log.h"
+    #include "wx/textctrl.h"
 #endif
 
 #ifdef __WXMAC__
     #include "wx/dnd.h"
 #endif
 
+#if wxUSE_TOOLTIPS
+    #include "wx/tooltip.h"
+#endif
+
 #include <objc/objc-runtime.h>
 
 // Get the window with the focus
@@ -879,7 +884,7 @@ unsigned int wxWidgetCocoaImpl::draggingUpdated(void* s, WXWidget WXUNUSED(slf),
         result = wxDragCopy;
     else if ( sourceDragMask & NSDragOperationMove )
         result = wxDragMove;
-
+    
     PasteboardRef pboardRef;
     PasteboardCreate((CFStringRef)[pboard name], &pboardRef);
     target->SetCurrentDragPasteboard(pboardRef);
@@ -1123,6 +1128,18 @@ void wxWidgetCocoaImpl::controlDoubleAction( WXWidget WXUNUSED(slf), void *WXUNU
 {
 }
 
+void wxWidgetCocoaImpl::controlTextDidChange()
+{
+    wxWindow* wxpeer = (wxWindow*)GetWXPeer();
+    if ( wxpeer ) 
+    {
+        wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, wxpeer->GetId());
+        event.SetEventObject( wxpeer );
+        event.SetString( static_cast<wxTextCtrl*>(wxpeer)->GetValue() );
+        wxpeer->HandleWindowEvent( event );
+    }
+}
+
 //
 
 #if OBJC_API_VERSION >= 2
@@ -1877,6 +1894,18 @@ void wxWidgetCocoaImpl::SetFont(wxFont const& font, wxColour const&, long, bool)
         [m_osxView setFont: font.OSXGetNSFont()];
 }
 
+void wxWidgetCocoaImpl::SetToolTip(wxToolTip* tooltip)
+{
+    if (tooltip)
+    {
+        wxCFStringRef cf( tooltip->GetTip() , m_wxPeer->GetFont().GetEncoding() );
+        [m_osxView setToolTip: cf.AsNSString()];
+    }
+    else 
+        [m_osxView setToolTip: nil];
+
+}
+
 void wxWidgetCocoaImpl::InstallEventHandler( WXWidget control )
 {
     WXWidget c =  control ? control : (WXWidget) m_osxView;