]> git.saurik.com Git - wxWidgets.git/commitdiff
-1 , -1 for SetSelection improved
authorStefan Csomor <csomor@advancedconcepts.ch>
Thu, 28 Aug 2003 14:42:02 +0000 (14:42 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Thu, 28 Aug 2003 14:42:02 +0000 (14:42 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/textctrl.cpp
src/mac/textctrl.cpp

index a289930a71611f2be530caf24b248919c28d3bca..d84050093d63d00f8fc174f5adb38bfc6db9dbd0 100644 (file)
@@ -1202,17 +1202,19 @@ void wxTextCtrl::Remove(long from, long to)
 
 void wxTextCtrl::SetSelection(long from, long to)
 {
-    if ( from == -1 )
-        from = 0;
-
-    if ( to == -1 )
-        to = GetLastPosition();
-
     if ( !m_macUsesTXN )
     {
         ControlEditTextSelectionRec selection ;
-        selection.selStart = from ;
-        selection.selEnd = to ;
+        if ((from == -1) && (to == -1))
+        {
+               selection.selStart = 0 ;
+               selection.selEnd = 32767 ;
+        } 
+        else
+        {
+               selection.selStart = from ;
+               selection.selEnd = to ;
+       }
 
         TESetSelect( selection.selStart , selection.selEnd , ((TEHandle) m_macTE) ) ;
         ::SetControlData((ControlHandle)  m_macControl , 0, kControlEditTextSelectionTag , sizeof( selection ) , (char*) &selection ) ;
@@ -1226,7 +1228,10 @@ void wxTextCtrl::SetSelection(long from, long to)
         may force a redraw in the text area. */
         SetPort((**tpvars).fDrawingEnvironment);
         /* change the selection */
-        TXNSetSelection( (**tpvars).fTXNRec, from, to);
+        if ((from == -1) && (to == -1))
+               TXNSelectAll((TXNObject) m_macTXN);
+        else
+               TXNSetSelection( (**tpvars).fTXNRec, from, to);
         TXNShowSelection( (TXNObject) m_macTXN, kTXNShowStart);
     }
 }
index a289930a71611f2be530caf24b248919c28d3bca..d84050093d63d00f8fc174f5adb38bfc6db9dbd0 100644 (file)
@@ -1202,17 +1202,19 @@ void wxTextCtrl::Remove(long from, long to)
 
 void wxTextCtrl::SetSelection(long from, long to)
 {
-    if ( from == -1 )
-        from = 0;
-
-    if ( to == -1 )
-        to = GetLastPosition();
-
     if ( !m_macUsesTXN )
     {
         ControlEditTextSelectionRec selection ;
-        selection.selStart = from ;
-        selection.selEnd = to ;
+        if ((from == -1) && (to == -1))
+        {
+               selection.selStart = 0 ;
+               selection.selEnd = 32767 ;
+        } 
+        else
+        {
+               selection.selStart = from ;
+               selection.selEnd = to ;
+       }
 
         TESetSelect( selection.selStart , selection.selEnd , ((TEHandle) m_macTE) ) ;
         ::SetControlData((ControlHandle)  m_macControl , 0, kControlEditTextSelectionTag , sizeof( selection ) , (char*) &selection ) ;
@@ -1226,7 +1228,10 @@ void wxTextCtrl::SetSelection(long from, long to)
         may force a redraw in the text area. */
         SetPort((**tpvars).fDrawingEnvironment);
         /* change the selection */
-        TXNSetSelection( (**tpvars).fTXNRec, from, to);
+        if ((from == -1) && (to == -1))
+               TXNSelectAll((TXNObject) m_macTXN);
+        else
+               TXNSetSelection( (**tpvars).fTXNRec, from, to);
         TXNShowSelection( (TXNObject) m_macTXN, kTXNShowStart);
     }
 }