]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
compile fix (still not tested) for GetLastChild()
[wxWidgets.git] / src / msw / textctrl.cpp
index 614be2e193084f1011ac9da7c906a6fbc3ed4dd0..17cd5ae0c607ae656f4a7fc2369ae776b38448b7 100644 (file)
@@ -56,7 +56,7 @@
 #if defined(__BORLANDC__) && !defined(__WIN32__)
 #include <alloc.h>
 #else
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include <malloc.h>
 #endif
 #define farmalloc malloc
 
 #include <string.h>
 
-#if defined(__WIN95__) && !defined(__GNUWIN32__)
+#if defined(__WIN95__) && !defined(__TWIN32__)
+#define wxUSE_RICHEDIT 1
+#else
+#define wxUSE_RICHEDIT 0
+#endif
+
+#if wxUSE_RICHEDIT && !defined(__GNUWIN32__)
 #include <richedit.h>
 #endif
 
@@ -152,7 +158,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
     msStyle |= ES_PASSWORD;
 
   char *windowClass = "EDIT";
-#if defined(__WIN95__)
+#if wxUSE_RICHEDIT
   if ( m_windowStyle & wxTE_MULTILINE )
   {
     msStyle |= ES_AUTOVSCROLL;
@@ -168,7 +174,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
 
   // If we're in Win95, and we want a simple 2D border,
   // then make it an EDIT control instead.
-#if defined(__WIN95__)
+#if wxUSE_RICHEDIT
   if (m_windowStyle & wxSIMPLE_BORDER)
   {
     windowClass = "EDIT";
@@ -196,7 +202,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
   }
 #endif
 
-#if defined(__WIN95__)
+#if wxUSE_RICHEDIT
   if (m_isRich)
   {
     // Have to enable events
@@ -244,9 +250,13 @@ void wxTextCtrl::AdoptAttributesFromHWND(void)
 #else
 #ifdef UNICODE
   GetClassNameW((HWND) hWnd, buf, 256);
+#else
+#ifdef __TWIN32__
+  GetClassName((HWND) hWnd, buf, 256);
 #else
   GetClassNameA((HWND) hWnd, buf, 256);
 #endif
+#endif
 #endif
 
   wxString str(buf);
@@ -335,7 +345,7 @@ void wxTextCtrl::SetSize(int x, int y, int width, int height, int sizeFlags)
   int cx; // button font dimensions
   int cy;
 
-  wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+  wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
 
   int control_width, control_height, control_x, control_y;
 
@@ -394,7 +404,7 @@ void wxTextCtrl::SetInsertionPoint(long pos)
 {
   HWND hWnd = (HWND) GetHWND();
 #ifdef __WIN32__
-#if defined(__WIN95__)
+#if wxUSE_RICHEDIT
   if ( m_isRich)
   {
     CHARRANGE range;
@@ -424,7 +434,7 @@ void wxTextCtrl::SetInsertionPointEnd(void)
 
 long wxTextCtrl::GetInsertionPoint(void) const
 {
-#if defined(__WIN95__)
+#if wxUSE_RICHEDIT
   if (m_isRich)
   {
     CHARRANGE range;
@@ -535,9 +545,16 @@ bool wxTextCtrl::LoadFile(const wxString& file)
       // positions as signed shorts. Now load in one chunk...
       // Note use of 'farmalloc' as in Borland 3.1 'size_t' is 16-bits...
 
+#ifdef __SALFORDC__
+      struct _stat stat_buf;
+      if (stat((char*) (const char*) file, &stat_buf) < 0)
+        return FALSE;
+#else
       struct stat stat_buf;
       if (stat(file, &stat_buf) < 0)
         return FALSE;
+#endif
+
 //      char *tmp_buffer = (char*)farmalloc(stat_buf.st_size+1);
       // This may need to be a bigger buffer than the file size suggests,
       // if it's a UNIX file. Give it an extra 1000 just in case.
@@ -1092,7 +1109,7 @@ bool wxTextCtrl::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
 
 // For Rich Edit controls. Do we need it?
 #if 0
-#if defined(__WIN95__)
+#if wxUSE_RICHEDIT
 bool wxTextCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam)
 {
   wxCommandEvent event(0, m_windowId);