1. validator fixes: don't eat TAB. Added new SetBellOnError() function to
suppress _annoying_ bell. 2. Docs and samples updated to reflect this. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -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__
 | 
			
		||||
@@ -30,66 +30,82 @@
 | 
			
		||||
#include "validate.h"
 | 
			
		||||
 | 
			
		||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
 | 
			
		||||
	EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
 | 
			
		||||
	EVT_MENU(VALIDATE_TEST_DIALOG, MyFrame::OnTestDialog)
 | 
			
		||||
    EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
 | 
			
		||||
    EVT_MENU(VALIDATE_TEST_DIALOG, MyFrame::OnTestDialog)
 | 
			
		||||
    EVT_MENU(VALIDATE_SILENT, MyFrame::OnSilent)
 | 
			
		||||
END_EVENT_TABLE()
 | 
			
		||||
 | 
			
		||||
IMPLEMENT_APP(MyApp)
 | 
			
		||||
 | 
			
		||||
MyData	g_data;
 | 
			
		||||
MyData g_data;
 | 
			
		||||
 | 
			
		||||
bool MyApp::OnInit(void)
 | 
			
		||||
bool MyApp::OnInit()
 | 
			
		||||
{
 | 
			
		||||
  // Create the main frame window
 | 
			
		||||
  MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "Validation Test", 50, 50, 300, 250);
 | 
			
		||||
 | 
			
		||||
  // Give it an icon
 | 
			
		||||
#ifdef __WXMSW__
 | 
			
		||||
  frame->SetIcon(wxIcon("mondrian"));
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __X__
 | 
			
		||||
  frame->SetIcon(wxIcon("aiai.xbm"));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  // Make a menubar
 | 
			
		||||
  wxMenu *file_menu = new wxMenu;
 | 
			
		||||
 | 
			
		||||
  file_menu->Append(VALIDATE_TEST_DIALOG, "&Test dialog");
 | 
			
		||||
  file_menu->Append(wxID_EXIT, "E&xit");
 | 
			
		||||
  wxMenuBar *menu_bar = new wxMenuBar;
 | 
			
		||||
  menu_bar->Append(file_menu, "File");
 | 
			
		||||
  frame->SetMenuBar(menu_bar);
 | 
			
		||||
 | 
			
		||||
  frame->CreateStatusBar(1);
 | 
			
		||||
  MyFrame *frame = new MyFrame((wxFrame *) NULL, "Validation Test", 50, 50, 300, 250);
 | 
			
		||||
 | 
			
		||||
  // Show the frame
 | 
			
		||||
  frame->Show(TRUE);
 | 
			
		||||
 | 
			
		||||
  SetTopWindow(frame);
 | 
			
		||||
 | 
			
		||||
  return TRUE;  
 | 
			
		||||
  return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// My frame constructor
 | 
			
		||||
MyFrame::MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h):
 | 
			
		||||
  wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
 | 
			
		||||
{}
 | 
			
		||||
MyFrame::MyFrame(wxFrame *frame, const char *title, int x, int y, int w, int h)
 | 
			
		||||
       : wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
 | 
			
		||||
{
 | 
			
		||||
  // Give it an icon
 | 
			
		||||
#ifdef __WXMSW__
 | 
			
		||||
  SetIcon(wxIcon("mondrian"));
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __X__
 | 
			
		||||
  SetIcon(wxIcon("aiai.xbm"));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  // Make a menubar
 | 
			
		||||
  wxMenu *file_menu = new wxMenu;
 | 
			
		||||
 | 
			
		||||
  file_menu->Append(VALIDATE_TEST_DIALOG, "&Test dialog", "Show example dialog");
 | 
			
		||||
  file_menu->Append(VALIDATE_SILENT, "&Bell on error", "Toggle bell on error", TRUE);
 | 
			
		||||
  file_menu->AppendSeparator();
 | 
			
		||||
  file_menu->Append(wxID_EXIT, "E&xit");
 | 
			
		||||
 | 
			
		||||
  file_menu->Check(VALIDATE_SILENT, wxValidator::IsSilent());
 | 
			
		||||
 | 
			
		||||
  wxMenuBar *menu_bar = new wxMenuBar;
 | 
			
		||||
  menu_bar->Append(file_menu, "File");
 | 
			
		||||
  SetMenuBar(menu_bar);
 | 
			
		||||
 | 
			
		||||
  CreateStatusBar(1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 | 
			
		||||
{
 | 
			
		||||
  Close(TRUE);
 | 
			
		||||
    Close(TRUE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MyFrame::OnTestDialog(wxCommandEvent& WXUNUSED(event))
 | 
			
		||||
{
 | 
			
		||||
	MyDialog dialog(this, "Validation test dialog", wxPoint(100, 100), wxSize(340, 170));
 | 
			
		||||
    MyDialog dialog(this, "Validation test dialog", wxPoint(100, 100), wxSize(340, 170));
 | 
			
		||||
 | 
			
		||||
	dialog.ShowModal();
 | 
			
		||||
    dialog.ShowModal();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
MyDialog::MyDialog( wxWindow *parent, const wxString& title, 
 | 
			
		||||
void MyFrame::OnSilent(wxCommandEvent& event)
 | 
			
		||||
{
 | 
			
		||||
    static bool s_silent = FALSE;
 | 
			
		||||
 | 
			
		||||
    s_silent = !s_silent;
 | 
			
		||||
    wxValidator::SetBellOnError(s_silent);
 | 
			
		||||
 | 
			
		||||
    event.Skip();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
MyDialog::MyDialog( wxWindow *parent, const wxString& title,
 | 
			
		||||
                    const wxPoint& pos, const wxSize& size, const long WXUNUSED(style) ) :
 | 
			
		||||
	wxDialog(parent, VALIDATE_DIALOG_ID, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL)
 | 
			
		||||
    wxDialog(parent, VALIDATE_DIALOG_ID, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL)
 | 
			
		||||
{
 | 
			
		||||
  wxButton *but1 = new wxButton(this, wxID_OK, "OK", wxPoint(250, 10), wxSize(80, 30));
 | 
			
		||||
  (void)new wxButton(this, wxID_CANCEL, "Cancel", wxPoint(250, 60), wxSize(80, 30));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user