]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/textctrl.cpp
wx apps did not have the separator like other apps after About--now they do
[wxWidgets.git] / src / mac / carbon / textctrl.cpp
index b48b9bf04c9b02bd95815a1e3a4f8e533c0ed68b..92e971a0190e59251f337d60385e253f72ab9c89 100644 (file)
@@ -300,6 +300,7 @@ public :
                              const wxSize& size, long style ) ;
     ~wxMacMLTEClassicControl() ;
     virtual void VisibilityChanged(bool shown) ;
+    virtual bool NeedsFocusRect() const;
 protected :
     OSStatus                 DoCreate();
 public :
@@ -1199,7 +1200,7 @@ wxString wxMacUnicodeTextControl::GetStringValue() const
         wxMacCFStringHolder cf(value) ;
         result = cf.AsString() ;
     }
-#if TARGET_API_MAC_OSX
+#if '\n' == 10
     wxMacConvertNewlines13To10( &result ) ;
 #else
     wxMacConvertNewlines10To13( &result ) ;
@@ -1377,7 +1378,7 @@ wxString wxMacMLTEControl::GetStringValue() const
         }
 #endif
     }
-#if TARGET_API_MAC_OSX
+#if '\n' == 10
     wxMacConvertNewlines13To10( &result ) ;
 #else
     wxMacConvertNewlines10To13( &result ) ;
@@ -1838,7 +1839,7 @@ wxString wxMacMLTEControl::GetLineText(long lineNo) const
             currentHeight += lineHeight;
         }
         
-        Point thePoint = { firstPoint.v + Fix2Long(currentHeight), firstPoint.h + Fix2Long(0) };
+        Point thePoint = { firstPoint.v + (currentHeight >> 16), firstPoint.h + (0) };
         TXNOffset theOffset;
         TXNPointToOffset(m_txn, thePoint, &theOffset);
                     
@@ -1877,7 +1878,7 @@ int  wxMacMLTEControl::GetLineLength(long lineNo) const
             currentHeight += lineHeight;
         }
         
-        Point thePoint = { firstPoint.v + Fix2Long(currentHeight), firstPoint.h + Fix2Long(0) };
+        Point thePoint = { firstPoint.v + (currentHeight >> 16), firstPoint.h + (0) };
         TXNOffset theOffset;
         TXNPointToOffset(m_txn, thePoint, &theOffset);
                     
@@ -2472,6 +2473,21 @@ OSStatus wxMacMLTEClassicControl::DoCreate()
     return err;
 }
 
+//
+// HACKHACK: (RN)
+// Classic controls are not initially focused and
+// smaller ones are focused badly with the focus rect
+// this "fixes" the above issue - but there is probably a 
+// a better way.
+//
+// Still, on smaller text controls the focus rect is off
+//
+
+bool wxMacMLTEClassicControl::NeedsFocusRect() const 
+{
+    return m_windowStyle & wxNO_BORDER ? false : true;
+}
+
 // ----------------------------------------------------------------------------
 // MLTE control implementation (OSX part)
 // ----------------------------------------------------------------------------