]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/textctrl.cpp
we now must skip right click events in order to allow for context events to be generated
[wxWidgets.git] / src / mac / textctrl.cpp
index e11f32c7de806a54b3ed957c7868c35f807bab60..ae6063d20c4bdabdc2a75c439e2af6fe191bb251 100644 (file)
@@ -1,11 +1,11 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        textctrl.cpp
 // Purpose:     wxTextCtrl
-// Author:      AUTHOR
+// Author:      Stefan Csomor
 // Modified by:
-// Created:     ??/??/98
+// Created:     1998-01-01
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
+// Copyright:   (c) Stefan Csomor
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -299,8 +299,8 @@ static pascal ControlPartCode TPPaneTrackingProc(ControlHandle theControl, Point
 #if !TARGET_CARBON 
                     TXNClick( varsp->fTXNRec, (const EventRecord*) wxTheApp->MacGetCurrentEvent());
 #else
-                                       EventRecord rec ;
-                                       ConvertEventRefToEventRecord( (EventRef) wxTheApp->MacGetCurrentEvent() , &rec ) ;
+                    EventRecord rec ;
+                    ConvertEventRefToEventRecord( (EventRef) wxTheApp->MacGetCurrentEvent() , &rec ) ;
                     TXNClick( varsp->fTXNRec, &rec );
 #endif
                 }
@@ -662,15 +662,15 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
            const wxValidator& validator,
            const wxString& name)
 {
-  m_macTE = NULL ;
-  m_macTXN = NULL ;
-  m_macTXNvars = NULL ;
-  m_macUsesTXN = false ;
-  m_editable = true ;
-
-  m_macUsesTXN = ! (style & wxTE_PASSWORD ) ; 
-
-  m_macUsesTXN &= (TXNInitTextension != (void*) kUnresolvedCFragSymbolAddress) ;
+    m_macTE = NULL ;
+    m_macTXN = NULL ;
+    m_macTXNvars = NULL ;
+    m_macUsesTXN = false ;
+    m_editable = true ;
+    
+    m_macUsesTXN = ! (style & wxTE_PASSWORD ) ; 
+    
+    m_macUsesTXN &= (TXNInitTextension != (void*) kUnresolvedCFragSymbolAddress) ;
     
     // base initialization
     if ( !CreateBase(parent, id, pos, size, style, validator, name) )
@@ -764,7 +764,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
         TXNShowSelection( (TXNObject) m_macTXN, kTXNShowStart);
     }
   
-  return TRUE;
+    return TRUE;
 }
 
 wxString wxTextCtrl::GetValue() const
@@ -774,21 +774,21 @@ wxString wxTextCtrl::GetValue() const
     OSStatus err ;
     if ( !m_macUsesTXN )
     {
-       err = ::GetControlDataSize((ControlHandle) m_macControl, 0,
+        err = ::GetControlDataSize((ControlHandle) m_macControl, 0,
             ( m_windowStyle & wxTE_PASSWORD ) ? kControlEditTextPasswordTag : kControlEditTextTextTag, &actualSize ) ;
        
-               if ( err )
-                       return wxEmptyString ;
-               
-               if ( actualSize > 0 )
-               {
-               wxChar *ptr = result.GetWriteBuf(actualSize) ;
-               
-               ::GetControlData( (ControlHandle) m_macControl, 0,
-                   ( m_windowStyle & wxTE_PASSWORD ) ? kControlEditTextPasswordTag : kControlEditTextTextTag, 
-                   actualSize , ptr , &actualSize ) ;
-               ptr[actualSize] = 0 ;
-               result.UngetWriteBuf(actualSize) ;
+           if ( err )
+               return wxEmptyString ;
+           
+           if ( actualSize > 0 )
+           {
+            wxChar *ptr = result.GetWriteBuf(actualSize) ;
+            
+            ::GetControlData( (ControlHandle) m_macControl, 0,
+                ( m_windowStyle & wxTE_PASSWORD ) ? kControlEditTextPasswordTag : kControlEditTextTextTag, 
+                actualSize , ptr , &actualSize ) ;
+            ptr[actualSize] = 0 ;
+            result.UngetWriteBuf(actualSize) ;
         }
         
     }
@@ -804,14 +804,14 @@ wxString wxTextCtrl::GetValue() const
         else
         {
             actualSize = GetHandleSize( theText ) ;
-               if ( actualSize > 0 )
-               {
-                       wxChar *ptr = result.GetWriteBuf(actualSize) ;
-                   strncpy( ptr , *theText , actualSize ) ;
-                   ptr[actualSize] = 0 ;
-                   result.UngetWriteBuf( actualSize ) ;
-               }
-               DisposeHandle( theText ) ;
+               if ( actualSize > 0 )
+               {
+                wxChar *ptr = result.GetWriteBuf(actualSize) ;
+                strncpy( ptr , *theText , actualSize ) ;
+                ptr[actualSize] = 0 ;
+                result.UngetWriteBuf( actualSize ) ;
+            }
+            DisposeHandle( theText ) ;
         }
     }
     
@@ -1090,42 +1090,42 @@ void wxTextCtrl::SetInsertionPointEnd()
 
 long wxTextCtrl::GetInsertionPoint() const
 {
-  long begin,end ;
-  GetSelection( &begin , &end ) ;
-  return begin ;
+    long begin,end ;
+    GetSelection( &begin , &end ) ;
+    return begin ;
 }
 
 long wxTextCtrl::GetLastPosition() const
 {
     if ( !m_macUsesTXN )
-  {
-    return (**((TEHandle) m_macTE)).teLength ;
-  }
-  else
-  {
-    Handle theText ;
-    long actualsize ;
-    OSErr err = TXNGetDataEncoded( (TXNObject) m_macTXN, kTXNStartOffset, kTXNEndOffset, &theText , kTXNTextData );
-        /* all done */
-    if ( err )
     {
-      actualsize = 0 ;
+        return (**((TEHandle) m_macTE)).teLength ;
     }
     else
     {
-      actualsize = GetHandleSize( theText ) ;
-      DisposeHandle( theText ) ;
+        Handle theText ;
+        long actualsize ;
+        OSErr err = TXNGetDataEncoded( (TXNObject) m_macTXN, kTXNStartOffset, kTXNEndOffset, &theText , kTXNTextData );
+        /* all done */
+        if ( err )
+        {
+            actualsize = 0 ;
+        }
+        else
+        {
+            actualsize = GetHandleSize( theText ) ;
+            DisposeHandle( theText ) ;
+        }
+        return actualsize ;
     }
-    return actualsize ;
-  }
 }
 
 void wxTextCtrl::Replace(long from, long to, const wxString& value)
 {
-  if ( !m_macUsesTXN )
-  {
+    if ( !m_macUsesTXN )
+    {
         ControlEditTextSelectionRec selection ;
-   
+        
         selection.selStart = from ;
         selection.selEnd = to ;
         ::SetControlData((ControlHandle)  m_macControl , 0, kControlEditTextSelectionTag , sizeof( selection ) , (char*) &selection ) ;
@@ -1141,7 +1141,7 @@ void wxTextCtrl::Replace(long from, long to, const wxString& value)
         TXNSetSelection( ((TXNObject) m_macTXN) , from , to ) ;
         TXNClear( ((TXNObject) m_macTXN) ) ;
         TXNSetData( ((TXNObject) m_macTXN), kTXNTextData,  (void*)value.c_str(), value.Length(),
-        kTXNUseCurrentSelection, kTXNUseCurrentSelection);
+            kTXNUseCurrentSelection, kTXNUseCurrentSelection);
         if ( !formerEditable )
             SetEditable( formerEditable ) ;
     }
@@ -1150,52 +1150,52 @@ void wxTextCtrl::Replace(long from, long to, const wxString& value)
 
 void wxTextCtrl::Remove(long from, long to)
 {
-  if ( !m_macUsesTXN )
-  {
-    ControlEditTextSelectionRec selection ;
-   
-    selection.selStart = from ;
-    selection.selEnd = to ;
-    ::SetControlData( (ControlHandle) m_macControl , 0, kControlEditTextSelectionTag , sizeof( selection ) , (char*) &selection ) ;
-    TEDelete( ((TEHandle) m_macTE) ) ;
-  }
-  else
-  {
-    bool formerEditable = IsEditable() ;
-    if ( !formerEditable )
-        SetEditable(true) ;
-    TXNSetSelection( ((TXNObject) m_macTXN) , from , to ) ; 
-    TXNClear( ((TXNObject) m_macTXN) ) ; 
-    if ( !formerEditable )
-        SetEditable( formerEditable ) ;
-  }
+    if ( !m_macUsesTXN )
+    {
+        ControlEditTextSelectionRec selection ;
+        
+        selection.selStart = from ;
+        selection.selEnd = to ;
+        ::SetControlData( (ControlHandle) m_macControl , 0, kControlEditTextSelectionTag , sizeof( selection ) , (char*) &selection ) ;
+        TEDelete( ((TEHandle) m_macTE) ) ;
+    }
+    else
+    {
+        bool formerEditable = IsEditable() ;
+        if ( !formerEditable )
+            SetEditable(true) ;
+        TXNSetSelection( ((TXNObject) m_macTXN) , from , to ) ; 
+        TXNClear( ((TXNObject) m_macTXN) ) ; 
+        if ( !formerEditable )
+            SetEditable( formerEditable ) ;
+    }
     Refresh() ;
 }
 
 void wxTextCtrl::SetSelection(long from, long to)
 {
-
-  if ( !m_macUsesTXN )
-  {
-   ControlEditTextSelectionRec selection ;
-   selection.selStart = from ;
-   selection.selEnd = to ;
-   
-   TESetSelect( selection.selStart , selection.selEnd , ((TEHandle) m_macTE) ) ;
-   ::SetControlData((ControlHandle)  m_macControl , 0, kControlEditTextSelectionTag , sizeof( selection ) , (char*) &selection ) ;
-  }
-  else
-  {
-    STPTextPaneVars **tpvars;
+    
+    if ( !m_macUsesTXN )
+    {
+        ControlEditTextSelectionRec selection ;
+        selection.selStart = from ;
+        selection.selEnd = to ;
+        
+        TESetSelect( selection.selStart , selection.selEnd , ((TEHandle) m_macTE) ) ;
+        ::SetControlData((ControlHandle)  m_macControl , 0, kControlEditTextSelectionTag , sizeof( selection ) , (char*) &selection ) ;
+    }
+    else
+    {
+        STPTextPaneVars **tpvars;
         /* set up our locals */
-    tpvars = (STPTextPaneVars **) GetControlReference((ControlHandle) m_macControl);
+        tpvars = (STPTextPaneVars **) GetControlReference((ControlHandle) m_macControl);
         /* and our drawing environment as the operation
         may force a redraw in the text area. */
-    SetPort((**tpvars).fDrawingEnvironment);
+        SetPort((**tpvars).fDrawingEnvironment);
         /* change the selection */
-    TXNSetSelection( (**tpvars).fTXNRec, from, to);
-    TXNShowSelection( (TXNObject) m_macTXN, kTXNShowStart);
-  }
+        TXNSetSelection( (**tpvars).fTXNRec, from, to);
+        TXNShowSelection( (TXNObject) m_macTXN, kTXNShowStart);
+    }
 }
 
 bool wxTextCtrl::LoadFile(const wxString& file)
@@ -1252,15 +1252,15 @@ void wxTextCtrl::Clear()
     {
         return ;
     }
-  if ( !m_macUsesTXN )
-  {
-    ::SetControlData((ControlHandle)  m_macControl, 0, ( m_windowStyle & wxTE_PASSWORD ) ? kControlEditTextPasswordTag : kControlEditTextTextTag , 0 , (char*) ((const char*)NULL) ) ;
-  }
-  else
-  {
+    if ( !m_macUsesTXN )
+    {
+        ::SetControlData((ControlHandle)  m_macControl, 0, ( m_windowStyle & wxTE_PASSWORD ) ? kControlEditTextPasswordTag : kControlEditTextTextTag , 0 , (char*) ((const char*)NULL) ) ;
+    }
+    else
+    {
         TXNSetSelection( (TXNObject)m_macTXN , kTXNStartOffset , kTXNEndOffset ) ;
         TXNClear((TXNObject)m_macTXN); 
-  }
+    }
     Refresh() ;
 }
 
@@ -1349,8 +1349,8 @@ void wxTextCtrl::DiscardEdits()
 
 int wxTextCtrl::GetNumberOfLines() const
 {
-  // TODO change this if possible to reflect real lines
-  wxString content = GetValue() ;
+    // TODO change this if possible to reflect real lines
+    wxString content = GetValue() ;
     
     int count = 1;
     for (size_t i = 0; i < content.Length() ; i++)
@@ -1379,8 +1379,8 @@ void wxTextCtrl::ShowPosition(long pos)
 
 int wxTextCtrl::GetLineLength(long lineNo) const
 {
-  // TODO change this if possible to reflect real lines
-  wxString content = GetValue() ;
+    // TODO change this if possible to reflect real lines
+    wxString content = GetValue() ;
     
     // Find line first
     int count = 0;
@@ -1405,8 +1405,8 @@ int wxTextCtrl::GetLineLength(long lineNo) const
 
 wxString wxTextCtrl::GetLineText(long lineNo) const
 {
-  // TODO change this if possible to reflect real lines
-  wxString content = GetValue() ;
+    // TODO change this if possible to reflect real lines
+    wxString content = GetValue() ;
 
     // Find line first
     int count = 0;