]> git.saurik.com Git - wxWidgets.git/commitdiff
1. added wxGetNumberFromUser (to textdlgg.cpp and dialogs sample)
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 22 Jul 1999 23:39:47 +0000 (23:39 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 22 Jul 1999 23:39:47 +0000 (23:39 +0000)
2. wxTE_RICH style added to wxMSW, the text controls don't use RICHEDIT
   class by default any more
3. wxRadioBox doesn't generate button events any more (grrr...)
4. commented out code in log.cpp restored and a bug corrected

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

15 files changed:
docs/latex/wx/function.tex
include/wx/Makefile.am
include/wx/defs.h
include/wx/generic/textdlgg.h
include/wx/msw/radiobox.h
include/wx/msw/statbox.h
include/wx/msw/wx.rc
samples/dialogs/dialogs.cpp
samples/dialogs/dialogs.h
src/common/log.cpp
src/generic/textdlgg.cpp
src/msw/app.cpp
src/msw/radiobox.cpp
src/msw/statbox.cpp
src/msw/textctrl.cpp

index 3ea9eb34d38a921a0ec5ffe64b4101306361f4b1..a42a929f31e0a8716ed8d4c508e2f7c7f84d9d62 100644 (file)
@@ -472,6 +472,33 @@ if (s)
 
 <wx/filedlg.h>
 
+\membersection{::wxGetNumberFromUser}\label{wxgetnumberfromuser}
+
+\func{long}{wxGetNumberFromUser}{
+    \param{const wxString\& }{message},
+    \param{const wxString\& }{prompt},
+    \param{const wxString\& }{caption},
+    \param{long }{value},
+    \param{long }{min = 0},
+    \param{long }{max = 100},
+    \param{wxWindow *}{parent = NULL},
+    \param{const wxPoint\& }{pos = wxDefaultPosition}}
+
+Shows a dialog asking the user for numeric input. The dialogs title is set to 
+{\it caption}, it contains a (possibly) multiline {\it message} above the
+single line {\it prompt} and the zone for entering the number.
+
+The number entered must be in the range {\it min}..{\it max} (both of which
+should be positive) and {\it value} is the initial value of it. If the user
+enters an invalid value or cancels the dialog, the function will return -1.
+
+Dialog is centered on its {\it parent} unless an explicit position is given in 
+{\it pos}.
+
+\wxheading{Include files}
+
+<wx/textdlg.h>
+
 \membersection{::wxGetTextFromUser}\label{wxgettextfromuser}
 
 \func{wxString}{wxGetTextFromUser}{\param{const wxString\& }{message}, \param{const wxString\& }{caption = ``Input text"},\\
index 8d69600bf192ffef15e220da9dc2628b1822ecbb..1eb350ba9812f52129e5f100724c6640ec868a8e 100644 (file)
@@ -59,6 +59,7 @@ wx_include_HEADERS = \
  event.h \
  expr.h \
  extdlg.h \
+ ffile.h \
  file.h \
  fileconf.h \
  filedlg.h \
index bfa0d45da7a8b63092f77a360c733df3d7f90fb3..ba9105ed99ebe32f13de0c059b58a71146e04ee9 100644 (file)
@@ -693,6 +693,9 @@ enum
 #define wxTE_READONLY       0x0010
 #define wxTE_MULTILINE      0x0020
 #define wxTE_PROCESS_TAB    0x0040
+// this style means to use RICHEDIT control and does something only under wxMSW
+// and Win32 and is silently ignored under all other platforms
+#define wxTE_RICH           0x0080
 
 /*
  * wxComboBox style flags
index be592594f638d0804ff429e6e23721ee97127e8b..bd3716ecda73d04d1d2fc17865d75d55e4c47680 100644 (file)
@@ -52,6 +52,10 @@ private:
     DECLARE_EVENT_TABLE()
 };
 
+// ----------------------------------------------------------------------------
+// functions to get a string or a number from user
+// ----------------------------------------------------------------------------
+
 wxString WXDLLEXPORT
 wxGetTextFromUser(const wxString& message,
                   const wxString& caption = wxGetTextFromUserPromptStr,
@@ -61,5 +65,15 @@ wxGetTextFromUser(const wxString& message,
                   int y = -1,
                   bool centre = TRUE);
 
+long WXDLLEXPORT
+wxGetNumberFromUser(const wxString& message,
+                    const wxString& prompt,
+                    const wxString& caption,
+                    long value = 0,
+                    long min = 0,
+                    long max = 100,
+                    wxWindow *parent = (wxWindow *)NULL,
+                    const wxPoint& pos = wxDefaultPosition);
+
 #endif
     // __TEXTDLGH_G__
index 998c6880e6f1ad6af26d04b6ee95fb112b48d03d..b867313031f4495a9fda60be38572c9c1ca96902 100644 (file)
@@ -6,21 +6,20 @@
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_RADIOBOX_H_
 #define _WX_RADIOBOX_H_
 
 #ifdef __GNUG__
-#pragma interface "radiobox.h"
+    #pragma interface "radiobox.h"
 #endif
 
 #include "wx/control.h"
 
 WXDLLEXPORT_DATA(extern const wxChar*) wxRadioBoxNameStr;
 
-// List box item
 class WXDLLEXPORT wxBitmap;
 
 class WXDLLEXPORT wxRadioBox : public wxControl
@@ -30,13 +29,6 @@ class WXDLLEXPORT wxRadioBox : public wxControl
 public:
     wxRadioBox();
 
-#if WXWIN_COMPATIBILITY
-    wxRadioBox(wxWindow *parent, wxFunction func, const char *title,
-            int x = -1, int y = -1, int width = -1, int height = -1,
-            int n = 0, char **choices = NULL,
-            int majorDim = 0, long style = wxRA_HORIZONTAL, const char *name = wxRadioBoxNameStr);
-#endif // WXWIN_COMPATIBILITY
-
     wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
             const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
             int n = 0, const wxString choices[] = NULL,
@@ -85,16 +77,23 @@ public:
     int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
     void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
 
-    // Implementation
+    // implementation only from now on
+    // -------------------------------
+
     WXHWND *GetRadioButtons() const { return m_radioButtons; }
     bool ContainsHWND(WXHWND hWnd) const;
     void SendNotificationEvent();
 
-    long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
-
     // get the number of buttons per column/row
-    inline int GetNumVer() const;
-    inline int GetNumHor() const;
+    int GetNumVer() const;
+    int GetNumHor() const;
+
+#if WXWIN_COMPATIBILITY
+    wxRadioBox(wxWindow *parent, wxFunction func, const char *title,
+            int x = -1, int y = -1, int width = -1, int height = -1,
+            int n = 0, char **choices = NULL,
+            int majorDim = 0, long style = wxRA_HORIZONTAL, const char *name = wxRadioBoxNameStr);
+#endif // WXWIN_COMPATIBILITY
 
 protected:
     void SubclassRadioButton(WXHWND hWndBtn);
index 87393c2f47a16a17339d8065ba5aa0d7ef5b571f..acd5511c8c2f250c7e684b590f65bf719932a823 100644 (file)
@@ -29,21 +29,21 @@ public:
     wxStaticBox() { }
 
     wxStaticBox(wxWindow *parent, wxWindowID id,
-        const wxString& label,
-        const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize,
-        long style = 0,
-        const wxString& name = wxStaticBoxNameStr)
+                const wxString& label,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0,
+                const wxString& name = wxStaticBoxNameStr)
     {
         Create(parent, id, label, pos, size, style, name);
     }
 
     bool Create(wxWindow *parent, wxWindowID id,
-        const wxString& label,
-        const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize,
-        long style = 0,
-        const wxString& name = wxStaticBoxNameStr);
+                const wxString& label,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0,
+                const wxString& name = wxStaticBoxNameStr);
 
     // implementation from now on
     // --------------------------
@@ -59,9 +59,6 @@ public:
     virtual bool AcceptsFocus() const { return FALSE; }
 
 protected:
-    virtual void DoSetSize(int x, int y,
-                           int width, int height,
-                           int sizeFlags = wxSIZE_AUTO);
     virtual wxSize DoGetBestSize();
 
 private:
index 34ee12e83a9b25451d3dd5ada6b7767f3b7e08b2..1ca1d48c6d123ddf95297c730fb51c5f08695ed9 100644 (file)
@@ -44,14 +44,18 @@ wxResizeableDialog DIALOG DISCARDABLE  34, 22, 144, 75
 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
 CAPTION ""
 BEGIN
-       LTEXT "", -1,-2,-2,1,1   //necessary for __WATCOMC__
+#ifdef __WATCOMC__
+       LTEXT "", -1,-2,-2,1,1
+#endif
 END
 
 wxCaptionDialog DIALOG DISCARDABLE  34, 22, 144, 75
-STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
+STYLE DS_MODALFRAME | WS_CAPTION | WS_POPUP | WS_SYSMENU
 CAPTION "Dummy dialog"
 BEGIN
-       LTEXT "", -1,-2,-2,1,1   //necessary for __WATCOMC__
+#ifdef __WATCOMC__
+       LTEXT "", -1,-2,-2,1,1
+#endif
 END
 
 //
@@ -60,7 +64,9 @@ END
 wxNoCaptionDialog DIALOG 34, 22, 144, 75
 STYLE WS_POPUP
 BEGIN
-       LTEXT "", -1,-2,-2,1,1   //necessary for __WATCOMC__
+#ifdef __WATCOMC__
+       LTEXT "", -1,-2,-2,1,1
+#endif
 END
 
 //////////////////////////////////////////////////////////////////////////////
index daf445cefb88bee7d897a04c91b5bd02e880b6b6..7bc832a80dead2e6f63153b2d9eb9f821538ee0e 100644 (file)
@@ -78,6 +78,7 @@ bool MyApp::OnInit(void)
   file_menu->AppendSeparator();
   file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box");
   file_menu->Append(DIALOGS_TEXT_ENTRY,  "Text &entry");
+  file_menu->Append(DIALOGS_NUM_ENTRY, "&Numeric entry\tCtrl-N");
   file_menu->Append(DIALOGS_SINGLE_CHOICE,  "&Single choice");
   file_menu->Append(DIALOGS_EXT_DIALOG,  "&Extended dialog");
   file_menu->AppendSeparator();
@@ -237,6 +238,27 @@ void MyFrame::MessageBox(wxCommandEvent& WXUNUSED(event) )
   dialog.ShowModal();
 }
 
+void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) )
+{
+    long res = wxGetNumberFromUser("", "Enter a number:", "Numeric input test",
+                                   50, 0, 100, this);
+
+    wxString msg;
+    int icon;
+    if ( res == -1 )
+    {
+        msg = "Invalid number entered or dialog cancelled.";
+        icon = wxICON_HAND;
+    }
+    else
+    {
+        msg.Printf("You've entered %lu", res);
+        icon = wxICON_INFORMATION;
+    }
+
+    wxMessageBox(msg, "Numeric test result", wxOK | icon, this);
+}
+
 void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event) )
 {
   wxTextEntryDialog dialog(this, "This is a small sample\nA long, long string to test out the text entrybox",
@@ -362,6 +384,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(DIALOGS_CHOOSE_FONT,                MyFrame::ChooseFont)
     EVT_MENU(DIALOGS_MESSAGE_BOX,                MyFrame::MessageBox)
     EVT_MENU(DIALOGS_TEXT_ENTRY,                MyFrame::TextEntry)
+    EVT_MENU(DIALOGS_NUM_ENTRY,                MyFrame::NumericEntry)
     EVT_MENU(DIALOGS_SINGLE_CHOICE,                MyFrame::SingleChoice)
     EVT_MENU(DIALOGS_FILE_OPEN,                    MyFrame::FileOpen)
     EVT_MENU(DIALOGS_FILE_SAVE,                    MyFrame::FileSave)
index 3143996187cc267baeef47d05c677b2c567e7164..b0f79f011630f651bf12f5e4e69fede5524d1b8c 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __DIALOGSH__
@@ -14,8 +14,9 @@
 
 // Define a new application type
 class MyApp: public wxApp
-{ public:
-    bool OnInit(void);
+{
+public:
+    bool OnInit();
 
     wxFont       m_canvasFont;
     wxColour     m_canvasTextColour;
@@ -23,15 +24,17 @@ class MyApp: public wxApp
 
 // Define a new frame type
 class MyFrame: public wxFrame
-{ public:
-    MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos,
-               const wxSize& size);
+{
+public:
+    MyFrame(wxWindow *parent, const wxString& title,
+            const wxPoint& pos, const wxSize& size);
 
     void ChooseColour(wxCommandEvent& event);
     void ChooseFont(wxCommandEvent& event);
     void MessageBox(wxCommandEvent& event);
     void SingleChoice(wxCommandEvent& event);
     void TextEntry(wxCommandEvent& event);
+    void NumericEntry(wxCommandEvent& event);
     void FileOpen(wxCommandEvent& event);
     void FileSave(wxCommandEvent& event);
     void DirChoose(wxCommandEvent& event);
@@ -42,20 +45,20 @@ class MyFrame: public wxFrame
     void ChooseColourGeneric(wxCommandEvent& event);
     void ChooseFontGeneric(wxCommandEvent& event);
 #endif
+
     void OnExit(wxCommandEvent& event);
-       
+
   DECLARE_EVENT_TABLE()
 };
 
 class MyCanvas: public wxScrolledWindow
 {
- public:
-  MyCanvas(wxWindow *parent):
-      wxScrolledWindow(parent)
-    {
-    }
-  void OnPaint(wxPaintEvent& event);
-DECLARE_EVENT_TABLE()
+public:
+    MyCanvas(wxWindow *parent) : wxScrolledWindow(parent) { }
+
+    void OnPaint(wxPaintEvent& event);
+
+    DECLARE_EVENT_TABLE()
 };
 
 
@@ -72,6 +75,7 @@ DECLARE_EVENT_TABLE()
 #define DIALOGS_DIR_CHOOSE                  10
 #define DIALOGS_TIP                         11
 #define DIALOGS_EXT_DIALOG                  12
+#define DIALOGS_NUM_ENTRY                   13
 
 #endif
 
index 318f0706b30911bc5854c11f2b39781bc836968a..b29f583649afc0aa2c334349249e351a8c2e4db9 100644 (file)
@@ -323,7 +323,7 @@ void wxLog::TimeStamp(wxString *str)
         wxChar buf[256];
         time_t timeNow;
         (void)time(&timeNow);
-//        wxStrftime(buf, WXSIZEOF(buf), ms_timestamp, localtime(&timeNow));
+        wxStrftime(buf, WXSIZEOF(buf), ms_timestamp, localtime(&timeNow));
 
         str->Empty();
         *str << buf << _T(": ");
@@ -577,7 +577,6 @@ void wxLogGui::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
                 if ( !m_bErrors ) {
                     m_aMessages.Empty();
                     m_aTimes.Empty();
-                    m_bHasMessages = TRUE;
                     m_bErrors = TRUE;
                 }
                 // fall through
@@ -590,6 +589,7 @@ void wxLogGui::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
 
                 m_aMessages.Add(szString);
                 m_aTimes.Add((long)t);
+                m_bHasMessages = TRUE;
                 break;
     }
 }
index ea9700ee66d243bd8aa75796df45642138c50a0a..723216cf9aaa821fd13f03b088e70978ed712bd7 100644 (file)
 
 #include "wx/generic/textdlgg.h"
 
+// ----------------------------------------------------------------------------
+// private classes
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxNumberEntryDialog : public wxDialog
+{
+public:
+    wxNumberEntryDialog(wxWindow *parent,
+                        const wxString& message,
+                        const wxString& prompt,
+                        const wxString& caption,
+                        long value, long min, long max,
+                        const wxPoint& pos);
+
+    long GetValue() const { return m_value; }
+
+    // implementation only
+    void OnOK(wxCommandEvent& event);
+    void OnCancel(wxCommandEvent& event);
+
+protected:
+    wxTextCtrl *m_spinctrl; // TODO replace it with wxSpinCtrl once it's done
+
+    long m_value, m_min, m_max;
+
+private:
+    DECLARE_EVENT_TABLE()
+};
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
 
-#define wxID_TEXT 3000
+static const int wxID_TEXT = 3000;
 
 // ============================================================================
 // implementation
 // ----------------------------------------------------------------------------
 
 #if !USE_SHARED_LIBRARY
+BEGIN_EVENT_TABLE(wxNumberEntryDialog, wxDialog)
+    EVT_BUTTON(wxID_OK, wxNumberEntryDialog::OnOK)
+    EVT_BUTTON(wxID_CANCEL, wxNumberEntryDialog::OnCancel)
+END_EVENT_TABLE()
+
 BEGIN_EVENT_TABLE(wxTextEntryDialog, wxDialog)
     EVT_BUTTON(wxID_OK, wxTextEntryDialog::OnOK)
 END_EVENT_TABLE()
@@ -135,3 +169,128 @@ void wxTextEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event) )
     EndModal(wxID_OK);
 }
 
+// ----------------------------------------------------------------------------
+// wxNumberEntryDialog
+// ----------------------------------------------------------------------------
+
+wxNumberEntryDialog::wxNumberEntryDialog(wxWindow *parent,
+                                         const wxString& message,
+                                         const wxString& prompt,
+                                         const wxString& caption,
+                                         long value,
+                                         long min,
+                                         long max,
+                                         const wxPoint& pos)
+                   : wxDialog(parent, -1, caption,
+                              pos, wxDefaultSize,
+                              wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL)
+{
+    // init members
+    // ------------
+
+    m_value = value;
+    m_max = max;
+    m_min = min;
+
+    // calculate the sizes
+    // -------------------
+
+    wxArrayString lines;
+    wxSize sizeText = SplitTextMessage(message, &lines);
+
+    wxSize sizeBtn = GetStandardButtonSize();
+
+    int wPrompt, hPrompt;
+    GetTextExtent(prompt, &wPrompt, &hPrompt);
+
+    long wText = wxMax(2*sizeBtn.GetWidth(),
+                       wxMax(wPrompt, sizeText.GetWidth()));
+    long hText = GetStandardTextHeight();
+
+    long wDialog = 5*LAYOUT_X_MARGIN + wText + wPrompt;
+    long hDialog = 2*LAYOUT_Y_MARGIN +
+                   sizeText.GetHeight() * lines.GetCount() +
+                   2*LAYOUT_Y_MARGIN +
+                   hText +
+                   2*LAYOUT_Y_MARGIN +
+                   sizeBtn.GetHeight() +
+                   2*LAYOUT_Y_MARGIN;
+
+    // create the controls
+    // -------------------
+
+    // message
+    long x = 2*LAYOUT_X_MARGIN;
+    long y = CreateTextMessage(lines,
+                               wxPoint(x, 2*LAYOUT_Y_MARGIN),
+                               sizeText);
+
+    y += 2*LAYOUT_X_MARGIN;
+
+    // prompt
+    (void)new wxStaticText(this, -1, prompt,
+                           wxPoint(x, y),
+                           wxSize(wPrompt, hPrompt));
+
+    // spin ctrl
+    wxString valStr;
+    valStr.Printf("%lu", m_value);
+    m_spinctrl = new wxTextCtrl(this, -1, valStr,
+                                wxPoint(x + wPrompt + LAYOUT_X_MARGIN, y),
+                                wxSize(wText, hText));
+    y += hText + 2*LAYOUT_X_MARGIN;
+
+    // and buttons
+    CreateStandardButtons(wDialog, y, sizeBtn.GetWidth(), sizeBtn.GetHeight());
+
+    // set the dialog size and position
+    SetClientSize(wDialog, hDialog);
+    if ( pos == wxDefaultPosition )
+    {
+        // centre the dialog if no explicit position given
+        Centre(wxBOTH | wxCENTER_FRAME);
+    }
+
+    m_spinctrl->SetFocus();
+}
+
+void wxNumberEntryDialog::OnOK(wxCommandEvent& event)
+{
+    if ( (sscanf(m_spinctrl->GetValue(), "%lu", &m_value) != 1) ||
+         (m_value < m_min) || (m_value > m_max) )
+    {
+        // not a number or out of range
+        m_value = -1;
+    }
+
+    EndModal(wxID_OK);
+}
+
+void wxNumberEntryDialog::OnCancel(wxCommandEvent& event)
+{
+    m_value = -1;
+
+    EndModal(wxID_CANCEL);
+}
+
+// ----------------------------------------------------------------------------
+// global functions
+// ----------------------------------------------------------------------------
+
+// wxGetTextFromUser is in utilscmn.cpp
+
+long wxGetNumberFromUser(const wxString& msg,
+                         const wxString& prompt,
+                         const wxString& title,
+                         long value,
+                         long min,
+                         long max,
+                         wxWindow *parent,
+                         const wxPoint& pos)
+{
+    wxNumberEntryDialog dialog(parent, msg, prompt, title,
+                               value, min, max, pos);
+    (void)dialog.ShowModal();
+
+    return dialog.GetValue();
+}
index 2982fd9716c36225d98ccbd07ea3074120251ae2..359863bcc2da4915d100b87dcb209066e3bdea69 100644 (file)
@@ -204,15 +204,19 @@ bool wxApp::Initialize()
 
 #endif // __WIN95__
 
+#if wxUSE_OLE
+
+#ifdef __WIN16__
     // for OLE, enlarge message queue to be as large as possible
     int iMsg = 96;
-    while (!SetMessageQueue(iMsg) && (iMsg -= 8));
+    while (!SetMessageQueue(iMsg) && (iMsg -= 8))
+        ;
+#endif // Win16
 
-#if wxUSE_OLE
     // we need to initialize OLE library
     if ( FAILED(::OleInitialize(NULL)) )
         wxLogError(_("Cannot initialize OLE"));
-#endif
+#endif // wxUSE_OLE
 
 #if wxUSE_CTL3D
     if (!Ctl3dRegister(wxhInstance))
index 0c1467a2373b9f1d65bd6e7e23da28eafb2e0877..7e44bde49ec6d7009098be0c98ebcce454b5debc 100644 (file)
@@ -682,37 +682,6 @@ void wxRadioBox::Command (wxCommandEvent & event)
     ProcessCommand (event);
 }
 
-long wxRadioBox::MSWWindowProc(WXUINT msg, WXWPARAM wParam, WXLPARAM lParam)
-{
-    long rc = 0;
-    bool processed = FALSE;
-
-    switch ( msg )
-    {
-        case WM_NCHITTEST:
-            {
-                int xPos = LOWORD(lParam);  // horizontal position of cursor
-                int yPos = HIWORD(lParam);  // vertical position of cursor
-
-                ScreenToClient(&xPos, &yPos);
-
-                // Make sure you can drag by the top of the groupbox, but let
-                // other (enclosed) controls get mouse events also
-                if ( yPos < 10 )
-                {
-                    rc = HTCLIENT;
-                    processed = TRUE;
-                }
-            }
-            break;
-    }
-
-    if ( !processed )
-        rc = wxControl::MSWWindowProc(msg, wParam, lParam);
-
-    return rc;
-}
-
 void wxRadioBox::SubclassRadioButton(WXHWND hWndBtn)
 {
 #ifdef __WIN32__
index 32de3fc97949ca81029bde167daeb84ebffa0cd2..10f9310197bdb05cb63f7b854688f7bcb1557ecf 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:       wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
@@ -113,23 +113,10 @@ wxSize wxStaticBox::DoGetBestSize()
     return wxSize(wBox, hBox);
 }
 
-void wxStaticBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
-{
-    wxControl::DoSetSize(x, y, width, height, sizeFlags);
-
-    return;
-
-    // the static box should always be on the bottom of the Z-order, otherwise
-    // it may hide controls which are positioned inside it
-    if ( !::SetWindowPos(GetHwnd(), HWND_TOP, 0, 0, 0, 0,
-                         SWP_NOMOVE | SWP_NOSIZE) )
-    {
-        wxLogLastError(_T("SetWindowPos"));
-    }
-}
-
 WXHBRUSH wxStaticBox::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
-            WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
+                                 WXUINT message,
+                                 WXWPARAM wParam,
+                                 WXLPARAM lParam)
 {
 #if wxUSE_CTL3D
   if ( m_useCtl3D )
@@ -174,9 +161,9 @@ void wxStaticBox::OnEraseBackground(wxEraseEvent& event)
     // Alternatively, just make sure that wxStaticBox is always at the back! There are probably
     // few other circumstances where it matters about child clipping. But what about painting onto
     // to panel, inside a groupbox? Doesn't appear, because the box wipes it out.
-  wxWindow *parent = 0; //GetParent();
-  if ( parent && parent->GetHWND() && (::GetWindowLong((HWND) parent->GetHWND(), GWL_STYLE) & WS_CLIPCHILDREN) )
-  {
+    wxWindow *parent = GetParent();
+    if ( parent && parent->GetHWND() && (::GetWindowLong((HWND) parent->GetHWND(), GWL_STYLE) & WS_CLIPCHILDREN) )
+    {
         // TODO: May in fact need to generate a paint event for inside this
         // control's rectangle, otherwise all controls are going to be clipped -
         // ugh.
@@ -189,11 +176,11 @@ void wxStaticBox::OnEraseBackground(wxEraseEvent& event)
         ::FillRect ((HDC) event.GetDC()->GetHDC(), &rect, hBrush);
         ::DeleteObject(hBrush);
         ::SetMapMode((HDC) event.GetDC()->GetHDC(), mode);
-  }
-  else
-  {
-    event.Skip();
-  }
+    }
+    else
+    {
+        event.Skip();
+    }
 }
 
 long wxStaticBox::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
index 55e3e77492451babc8e3e8348e8e761c62021761..3ba5f18f0eab7d7c1d5f93fc21f9cf3b18ad3dce 100644 (file)
@@ -164,10 +164,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
     const wxChar *windowClass = _T("EDIT");
 
 #if wxUSE_RICHEDIT
-    // multiline edit controls are RICHEDITs except for those which have a
-    // simple border (VZ: why??)
-    if ( (m_windowStyle & wxTE_MULTILINE) &&
-         !(m_windowStyle & wxSIMPLE_BORDER) )
+    if ( m_windowStyle & wxTE_RICH )
     {
         msStyle |= ES_AUTOVSCROLL;
         m_isRich = TRUE;