]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/srchctrl.cpp
Add middle-item click support.
[wxWidgets.git] / src / mac / carbon / srchctrl.cpp
index 2ac713e705670063eac20e75682339200d81a8fb..223ed8fcb137d013fc56cf9abd807aeb745f707c 100644 (file)
@@ -8,14 +8,6 @@
 // License:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-// ============================================================================
-// declarations
-// ============================================================================
-
-// ----------------------------------------------------------------------------
-// headers
-// ----------------------------------------------------------------------------
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
     #pragma hdrstop
 #endif
 
-#ifndef WX_PRECOMP
-    #include "wx/menu.h"
-#endif //WX_PRECOMP
-
 #if wxUSE_SEARCHCTRL
 
 #include "wx/srchctrl.h"
 
+#ifndef WX_PRECOMP
+    #include "wx/menu.h"
+#endif //WX_PRECOMP
+
 #if wxUSE_NATIVE_SEARCH_CONTROL
 
 #include "wx/mac/uma.h"
@@ -51,7 +43,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxSearchCtrl, wxSearchCtrlBase)
 static const EventTypeSpec eventList[] =
 {
     { kEventClassSearchField, kEventSearchFieldCancelClicked } ,
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
     { kEventClassSearchField, kEventSearchFieldSearchClicked } ,
+#endif
 };
 
 class wxMacSearchFieldControl : public wxMacUnicodeTextControl
@@ -84,10 +78,12 @@ private:
 void wxMacSearchFieldControl::CreateControl( wxTextCtrl* /*peer*/, const Rect* bounds, CFStringRef crf )
 {
     OptionBits attributes = 0;
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
     if ( UMAGetSystemVersion() >= 0x1040 )
     {
         attributes = kHISearchFieldAttributesSearchIcon;
     }
+#endif
     HIRect hibounds = { { bounds->left, bounds->top }, { bounds->right-bounds->left, bounds->bottom-bounds->top } };
     verify_noerr( HISearchFieldCreate(
         &hibounds,
@@ -102,6 +98,7 @@ void wxMacSearchFieldControl::CreateControl( wxTextCtrl* /*peer*/, const Rect* b
 // search field options
 void wxMacSearchFieldControl::ShowSearchButton( bool show )
 {
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
     if ( UMAGetSystemVersion() >= 0x1040 )
     {
         OptionBits set = 0;
@@ -116,13 +113,18 @@ void wxMacSearchFieldControl::ShowSearchButton( bool show )
         }
         HISearchFieldChangeAttributes( m_controlRef, set, clear );
     }
+#endif
 }
 
 bool wxMacSearchFieldControl::IsSearchButtonVisible() const
 {
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
     OptionBits attributes = 0;
     verify_noerr( HISearchFieldGetAttributes( m_controlRef, &attributes ) );
     return ( attributes & kHISearchFieldAttributesSearchIcon ) != 0;
+#else
+    return false;
+#endif
 }
 
 void wxMacSearchFieldControl::ShowCancelButton( bool show )
@@ -179,7 +181,6 @@ static pascal OSStatus wxMacSearchControlEventHandler( EventHandlerCallRef handl
 
     ControlRef controlRef ;
     wxSearchCtrl* thisWindow = (wxSearchCtrl*) data ;
-    wxTextCtrl* textCtrl = wxDynamicCast( thisWindow , wxTextCtrl ) ;
     cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ;
 
     switch( GetEventKind( event ) )
@@ -187,9 +188,11 @@ static pascal OSStatus wxMacSearchControlEventHandler( EventHandlerCallRef handl
         case kEventSearchFieldCancelClicked :
             thisWindow->MacSearchFieldCancelHit( handler , event ) ;
             break ;
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
         case kEventSearchFieldSearchClicked :
             thisWindow->MacSearchFieldSearchHit( handler , event ) ;
             break ;
+#endif
     }
 
     return result ;
@@ -350,7 +353,7 @@ bool wxSearchCtrl::IsCancelButtonVisible() const
 
 wxInt32 wxSearchCtrl::MacSearchFieldSearchHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) )
 {
-    wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_SEARCH, m_windowId );
+    wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, m_windowId );
     event.SetEventObject(this);
     ProcessCommand(event);
     return eventNotHandledErr ;
@@ -358,7 +361,7 @@ wxInt32 wxSearchCtrl::MacSearchFieldSearchHit(WXEVENTHANDLERREF WXUNUSED(handler
 
 wxInt32 wxSearchCtrl::MacSearchFieldCancelHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) )
 {
-    wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_CANCEL, m_windowId );
+    wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, m_windowId );
     event.SetEventObject(this);
     ProcessCommand(event);
     return eventNotHandledErr ;