made wxNumberEntryDialog public; extracted it and wxGetNumberFromUser() in a separate header (patch 882545)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
83
include/wx/generic/numdlgg.h
Normal file
83
include/wx/generic/numdlgg.h
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/generic/numdlgg.h
|
||||||
|
// Purpose: wxNumberEntryDialog class
|
||||||
|
// Author: John Labenski
|
||||||
|
// Modified by:
|
||||||
|
// Created: 07.02.04 (extracted from textdlgg.cpp)
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) wxWindows team
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __NUMDLGH_G__
|
||||||
|
#define __NUMDLGH_G__
|
||||||
|
|
||||||
|
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
||||||
|
#pragma interface "numdlgg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
#if wxUSE_SPINCTRL
|
||||||
|
class WXDLLEXPORT wxSpinCtrl;
|
||||||
|
#else
|
||||||
|
class WXDLLEXPORT wxTextCtrl;
|
||||||
|
#endif // wxUSE_SPINCTRL
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxNumberEntryDialog: a dialog with spin control, [ok] and [cancel] buttons
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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 = wxDefaultPosition);
|
||||||
|
|
||||||
|
long GetValue() const { return m_value; }
|
||||||
|
|
||||||
|
// implementation only
|
||||||
|
void OnOK(wxCommandEvent& event);
|
||||||
|
void OnCancel(wxCommandEvent& event);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
#if wxUSE_SPINCTRL
|
||||||
|
wxSpinCtrl *m_spinctrl;
|
||||||
|
#else
|
||||||
|
wxTextCtrl *m_spinctrl;
|
||||||
|
#endif // wxUSE_SPINCTRL
|
||||||
|
|
||||||
|
long m_value, m_min, m_max;
|
||||||
|
|
||||||
|
private:
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
DECLARE_NO_COPY_CLASS(wxNumberEntryDialog)
|
||||||
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// function to get a number from user
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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 // wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#endif // __NUMDLGH_G__
|
||||||
|
|
@@ -1,6 +1,6 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: textdlgg.h
|
// Name: textdlgg.h
|
||||||
// Purpose: wxStatusBar class
|
// Purpose: wxTextEntryDialog class
|
||||||
// Author: Julian Smart
|
// Author: Julian Smart
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 01/02/97
|
// Created: 01/02/97
|
||||||
|
22
include/wx/numdlg.h
Normal file
22
include/wx/numdlg.h
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/numdlg.h
|
||||||
|
// Purpose: wxNumberEntryDialog class
|
||||||
|
// Author: John Labenski
|
||||||
|
// Modified by:
|
||||||
|
// Created: 07.02.04 (extracted from wx/textdlg.h)
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) wxWindows team
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_NUMDLGDLG_H_BASE_
|
||||||
|
#define _WX_NUMDLGDLG_H_BASE_
|
||||||
|
|
||||||
|
#if wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#include "wx/generic/numdlgg.h"
|
||||||
|
|
||||||
|
#endif // wxUSE_NUMBERDLG
|
||||||
|
|
||||||
|
#endif // _WX_NUMDLGDLG_H_BASE_
|
||||||
|
|
@@ -1,21 +1,23 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: textdlg.h
|
||||||
|
// Purpose: wxTextEntryDialog class
|
||||||
|
// Author: Julian Smart
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01/02/97
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_TEXTDLG_H_BASE_
|
#ifndef _WX_TEXTDLG_H_BASE_
|
||||||
#define _WX_TEXTDLG_H_BASE_
|
#define _WX_TEXTDLG_H_BASE_
|
||||||
|
|
||||||
#include "wx/generic/textdlgg.h"
|
#include "wx/generic/textdlgg.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
// function to get a number from user
|
// for wxGetNumberFromUser()
|
||||||
// ----------------------------------------------------------------------------
|
#include "wx/numdlg.h"
|
||||||
|
#endif // WXWIN_COMPATIBILITY_2_4
|
||||||
|
|
||||||
long WXDLLEXPORT
|
#endif // _WX_TEXTDLG_H_BASE_
|
||||||
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
|
|
||||||
// _WX_TEXTDLG_H_BASE_
|
|
||||||
|
@@ -51,43 +51,13 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// this is where wxGetNumberFromUser() is declared
|
// this is where wxGetNumberFromUser() is declared
|
||||||
#include "wx/textdlg.h"
|
#include "wx/numdlg.h"
|
||||||
|
|
||||||
#if !wxUSE_SPINCTRL
|
#if !wxUSE_SPINCTRL
|
||||||
// wxTextCtrl will do instead of wxSpinCtrl if we don't have it
|
// wxTextCtrl will do instead of wxSpinCtrl if we don't have it
|
||||||
#define wxSpinCtrl wxTextCtrl
|
#define wxSpinCtrl wxTextCtrl
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// 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:
|
|
||||||
wxSpinCtrl *m_spinctrl;
|
|
||||||
|
|
||||||
long m_value, m_min, m_max;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
DECLARE_NO_COPY_CLASS(wxNumberEntryDialog)
|
|
||||||
};
|
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// implementation
|
// implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -131,7 +101,7 @@ wxNumberEntryDialog::wxNumberEntryDialog(wxWindow *parent,
|
|||||||
inputsizer->Add( new wxStaticText( this, -1, prompt ), 0, wxCENTER | wxLEFT, 10 );
|
inputsizer->Add( new wxStaticText( this, -1, prompt ), 0, wxCENTER | wxLEFT, 10 );
|
||||||
// spin ctrl
|
// spin ctrl
|
||||||
wxString valStr;
|
wxString valStr;
|
||||||
valStr.Printf(wxT("%lu"), m_value);
|
valStr.Printf(wxT("%ld"), m_value);
|
||||||
m_spinctrl = new wxSpinCtrl(this, -1, valStr, wxDefaultPosition, wxSize( 140, -1 ) );
|
m_spinctrl = new wxSpinCtrl(this, -1, valStr, wxDefaultPosition, wxSize( 140, -1 ) );
|
||||||
#if !defined(__WIN16__) && wxUSE_SPINCTRL
|
#if !defined(__WIN16__) && wxUSE_SPINCTRL
|
||||||
m_spinctrl->SetRange((int)m_min, (int)m_max);
|
m_spinctrl->SetRange((int)m_min, (int)m_max);
|
||||||
@@ -167,7 +137,7 @@ void wxNumberEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event))
|
|||||||
#if !wxUSE_SPINCTRL
|
#if !wxUSE_SPINCTRL
|
||||||
wxString tmp = m_spinctrl->GetValue();
|
wxString tmp = m_spinctrl->GetValue();
|
||||||
if ( wxSscanf(tmp, _T("%ld"), &m_value) != 1 )
|
if ( wxSscanf(tmp, _T("%ld"), &m_value) != 1 )
|
||||||
m_value = -1;
|
EndModal(wxID_CANCEL);
|
||||||
else
|
else
|
||||||
#else
|
#else
|
||||||
m_value = m_spinctrl->GetValue();
|
m_value = m_spinctrl->GetValue();
|
||||||
@@ -175,7 +145,7 @@ void wxNumberEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event))
|
|||||||
if ( m_value < m_min || m_value > m_max )
|
if ( m_value < m_min || m_value > m_max )
|
||||||
{
|
{
|
||||||
// not a number or out of range
|
// not a number or out of range
|
||||||
m_value = -1;
|
EndModal(wxID_CANCEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
EndModal(wxID_OK);
|
EndModal(wxID_OK);
|
||||||
@@ -183,8 +153,6 @@ void wxNumberEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
void wxNumberEntryDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
|
void wxNumberEntryDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
m_value = -1;
|
|
||||||
|
|
||||||
EndModal(wxID_CANCEL);
|
EndModal(wxID_CANCEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -205,9 +173,10 @@ long wxGetNumberFromUser(const wxString& msg,
|
|||||||
{
|
{
|
||||||
wxNumberEntryDialog dialog(parent, msg, prompt, title,
|
wxNumberEntryDialog dialog(parent, msg, prompt, title,
|
||||||
value, min, max, pos);
|
value, min, max, pos);
|
||||||
(void)dialog.ShowModal();
|
if (dialog.ShowModal() == wxID_OK)
|
||||||
|
|
||||||
return dialog.GetValue();
|
return dialog.GetValue();
|
||||||
|
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // wxUSE_NUMBERDLG
|
#endif // wxUSE_NUMBERDLG
|
||||||
|
Reference in New Issue
Block a user