1. added wxGetNumberFromUser (to textdlgg.cpp and dialogs sample)
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
This commit is contained in:
parent
953704c1c7
commit
c49245f8ba
@ -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"},\\
|
||||
|
@ -59,6 +59,7 @@ wx_include_HEADERS = \
|
||||
event.h \
|
||||
expr.h \
|
||||
extdlg.h \
|
||||
ffile.h \
|
||||
file.h \
|
||||
fileconf.h \
|
||||
filedlg.h \
|
||||
|
@ -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
|
||||
|
@ -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__
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -45,11 +45,40 @@
|
||||
|
||||
#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
|
||||
@ -60,6 +89,11 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#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();
|
||||
}
|
||||
|
@ -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))
|
||||
|
@ -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__
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user