Patch [ 584078 ] Misc samples fixes from Dimitri Schoolwerth

Addresses:
  printf-format warinigs
  indentation/style
  unused variable warnings
  used wxID_ABOUT for about menu entry
  removed references to "minimal sample" in other samples
  some other misc warinigs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2002-08-01 19:12:24 +00:00
parent fd2807075d
commit aec18ff785
20 changed files with 477 additions and 514 deletions

View File

@@ -195,7 +195,8 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
msg.Printf( _T("This is the about dialog of wxArtProvider sample.\n")
_T("Welcome to %s"), wxVERSION_STRING);
wxMessageBox(msg, _T("About Minimal"), wxOK | wxICON_INFORMATION, this);
wxMessageBox(msg, _T("About wxArtProvider sample"),
wxOK | wxICON_INFORMATION, this);
}
void MyFrame::OnBrowser(wxCommandEvent& WXUNUSED(event))

View File

@@ -199,7 +199,7 @@ void MyApp::OnConnected(wxDialUpEvent& event)
msg = event.IsConnectedEvent() ? wxT("Successfully connected")
: wxT("Dialing failed");
wxLogStatus(wxT(""));
wxLogStatus(wxEmptyString);
}
else
{

View File

@@ -88,8 +88,7 @@ private:
enum
{
// menu items
Minimal_Quit = 1,
Minimal_About
ID_MENU_QUIT = 1,
};
@@ -101,7 +100,7 @@ IMPLEMENT_APP(MyApp)
bool MyApp::OnInit()
{
MyFrame *frame = new MyFrame(_T("Minimal wxWindows App"),
MyFrame *frame = new MyFrame(_T("Erase sample"),
wxPoint(50, 50), wxSize(450, 340));
frame->Show(TRUE);
@@ -114,26 +113,22 @@ bool MyApp::OnInit()
// ----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
EVT_MENU(ID_MENU_QUIT, MyFrame::OnQuit)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
END_EVENT_TABLE()
// frame constructor
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
#ifdef __WXMAC__
wxApp::s_macAboutMenuItemId = Minimal_About;
#endif
SetIcon(wxICON(mondrian));
wxMenu *menuFile = new wxMenu("", wxMENU_TEAROFF);
wxMenu *helpMenu = new wxMenu;
helpMenu->Append(Minimal_About, _T("&About...\tCtrl-A"), _T("Show about dialog"));
helpMenu->Append(wxID_ABOUT, _T("&About...\tCtrl-A"), _T("Show about dialog"));
menuFile->Append(Minimal_Quit, _T("E&xit\tAlt-X"), _T("Quit this program"));
menuFile->Append(ID_MENU_QUIT, _T("E&xit\tAlt-X"), _T("Quit this program"));
wxMenuBar *menuBar = new wxMenuBar();
menuBar->Append(menuFile, _T("&File"));

View File

@@ -122,7 +122,7 @@ private:
void DoAsyncExec(const wxString& cmd);
// the PID of the last process we launched asynchronously
int m_pidLast;
long m_pidLast;
// last command we executed
wxString m_cmdLast;
@@ -505,16 +505,16 @@ void MyFrame::OnKill(wxCommandEvent& WXUNUSED(event))
if ( sig == 0 )
{
if ( wxProcess::Exists(pid) )
wxLogStatus(_T("Process %d is running."), pid);
wxLogStatus(_T("Process %ld is running."), pid);
else
wxLogStatus(_T("No process with pid = %d."), pid);
wxLogStatus(_T("No process with pid = %ld."), pid);
}
else // not SIGNONE
{
wxKillError rc = wxProcess::Kill(pid, (wxSignal)sig);
if ( rc == wxKILL_OK )
{
wxLogStatus(_T("Process %d killed with signal %d."), pid, sig);
wxLogStatus(_T("Process %ld killed with signal %d."), pid, sig);
}
else
{
@@ -527,7 +527,7 @@ void MyFrame::OnKill(wxCommandEvent& WXUNUSED(event))
_T("unspecified error"),
};
wxLogStatus(_T("Failed to kill process %d with signal %d: %s"),
wxLogStatus(_T("Failed to kill process %ld with signal %d: %s"),
pid, sig, errorText[rc]);
}
}
@@ -543,13 +543,14 @@ void MyFrame::DoAsyncExec(const wxString& cmd)
m_pidLast = wxExecute(cmd, wxEXEC_ASYNC, process);
if ( !m_pidLast )
{
wxLogError(_T("Execution of '%s' failed."), cmd.c_str());
wxLogError( _T("Execution of '%s' failed."), cmd.c_str() );
delete process;
}
else
{
wxLogStatus(_T("Process %ld (%s) launched."), m_pidLast, cmd.c_str());
wxLogStatus( _T("Process %ld (%s) launched."),
m_pidLast, cmd.c_str() );
m_cmdLast = cmd;
}
@@ -564,12 +565,13 @@ void MyFrame::OnSyncExec(wxCommandEvent& WXUNUSED(event))
if ( !cmd )
return;
wxLogStatus(_T("'%s' is running please wait..."), cmd.c_str());
wxLogStatus( _T("'%s' is running please wait..."), cmd.c_str() );
int code = wxExecute(cmd, wxEXEC_SYNC);
wxLogStatus(_T("Process '%s' terminated with exit code %d."),
cmd.c_str(), code);
cmd.c_str(), code);
m_cmdLast = cmd;
}
@@ -676,10 +678,10 @@ void MyFrame::OnExecWithPipe(wxCommandEvent& WXUNUSED(event))
// always execute the filter asynchronously
MyPipedProcess2 *process = new MyPipedProcess2(this, cmd, input);
int pid = wxExecute(cmd, wxEXEC_ASYNC, process);
long pid = wxExecute(cmd, wxEXEC_ASYNC, process);
if ( pid )
{
wxLogStatus(_T("Process %ld (%s) launched."), pid, cmd.c_str());
wxLogStatus( _T("Process %ld (%s) launched."), pid, cmd.c_str() );
m_running.Add(process);
}

View File

@@ -77,7 +77,6 @@ enum
{
// menu items
Minimal_Quit = 1,
Minimal_About,
Minimal_Print,
Minimal_Preview,
Minimal_PageSetup,
@@ -95,7 +94,7 @@ enum
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
EVT_MENU(Minimal_Print, MyFrame::OnPrint)
EVT_MENU(Minimal_Preview, MyFrame::OnPreview)
EVT_MENU(Minimal_PageSetup, MyFrame::OnPageSetup)
@@ -163,7 +162,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
menuFile->Append(Minimal_Print, "Print...");
menuFile->Append(Minimal_Preview, "Preview...");
menuFile->AppendSeparator();
menuFile->Append(Minimal_About, "&About");
menuFile->Append(wxID_ABOUT, "&About");
menuFile->AppendSeparator();
menuFile->Append(Minimal_Quit, "&Exit");

View File

@@ -103,7 +103,6 @@ wxFSFile* MyVFS::OpenFile(wxFileSystem& fs, const wxString& location)
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnBack(wxCommandEvent& event);
void OnForward(wxCommandEvent& event);
@@ -121,7 +120,6 @@ wxFSFile* MyVFS::OpenFile(wxFileSystem& fs, const wxString& location)
{
// menu items
Minimal_Quit = 1,
Minimal_About,
Minimal_Back,
Minimal_Forward,
@@ -138,7 +136,6 @@ wxFSFile* MyVFS::OpenFile(wxFileSystem& fs, const wxString& location)
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
EVT_MENU(Minimal_Back, MyFrame::OnBack)
EVT_MENU(Minimal_Forward, MyFrame::OnForward)
END_EVENT_TABLE()
@@ -164,13 +161,13 @@ wxFSFile* MyVFS::OpenFile(wxFileSystem& fs, const wxString& location)
// Create the main application window
MyFrame *frame = new MyFrame("wxHtmlWindow testing application",
wxPoint(50, 50), wxSize(640, 480));
// Show it and tell the application that it's our main window
// @@@ what does it do exactly, in fact? is it necessary here?
frame->Show(TRUE);
SetTopWindow(frame);
wxFileSystem::AddHandler(new MyVFS);
// success: wxApp::OnRun() will be called which will enter the main message
// loop and the application will run. If we returned FALSE here, the
// application would exit immediately.
@@ -220,12 +217,6 @@ wxHtmlWindow *html;
Close(TRUE);
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
}
void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryBack()) wxMessageBox("You reached prehistory era!");

View File

@@ -26,8 +26,6 @@
#include "wx/html/htmlwin.h"
/*
@@ -41,25 +39,26 @@ TAG HANDER FOR 'MYBIND' TAG
TAG_HANDLER_BEGIN(MYBIND, "MYBIND")
TAG_HANDLER_PROC(tag)
{
wxWindow *wnd;
int ax, ay;
int fl = 0;
TAG_HANDLER_PROC(tag)
{
wxWindow *wnd;
int ax, ay;
int fl = 0;
tag.ScanParam(wxT("X"), wxT("%i"), &ax);
tag.ScanParam(wxT("Y"), wxT("%i"), &ay);
if (tag.HasParam(wxT("FLOAT")))
fl = ax;
tag.ScanParam(wxT("X"), wxT("%i"), &ax);
tag.ScanParam(wxT("Y"), wxT("%i"), &ay);
wnd = new wxTextCtrl(m_WParser->GetWindow(), -1, tag.GetParam(wxT("NAME")),
wxPoint(0,0), wxSize(ax, ay), wxTE_MULTILINE);
wnd->Show(TRUE);
if (tag.HasParam(wxT("FLOAT"))) fl = ax;
m_WParser->GetContainer()->InsertCell(new wxHtmlWidgetCell(wnd, fl));
wnd = new wxTextCtrl(m_WParser->GetWindow(), -1, tag.GetParam(wxT("NAME")),
wxPoint(0,0), wxSize(ax, ay), wxTE_MULTILINE);
return FALSE;
}
wnd->Show(TRUE);
m_WParser->GetContainer()->InsertCell(new wxHtmlWidgetCell(wnd, fl));
return FALSE;
}
TAG_HANDLER_END(MYBIND)
@@ -72,64 +71,55 @@ TAGS_MODULE_BEGIN(MyBind)
TAGS_MODULE_END(MyBind)
// ----------------------------------------------------------------------------
// private classes
// ----------------------------------------------------------------------------
// Define a new application type, each program should derive a class from wxApp
class MyApp : public wxApp
{
public:
class MyApp : public wxApp
{
public:
// override base class virtuals
// ----------------------------
// this one is called on application startup and is a good place for the app
// initialization (doing it here and not in the ctor allows to have an error
// return: if OnInit() returns false, the application terminates)
virtual bool OnInit();
};
virtual bool OnInit();
};
// Define a new frame type: this is going to be our main frame
class MyFrame : public wxFrame
{
public:
class MyFrame : public wxFrame
{
public:
// ctor(s)
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnBack(wxCommandEvent& event);
void OnForward(wxCommandEvent& event);
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
private:
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
void OnBack(wxCommandEvent& event);
void OnForward(wxCommandEvent& event);
private:
// any class wishing to process wxWindows events must use this macro
DECLARE_EVENT_TABLE()
};
};
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// IDs for the controls and the menu commands
enum
{
enum
{
// menu items
Minimal_Quit = 1,
Minimal_About,
Minimal_Back,
Minimal_Forward,
Minimal_Quit = 1,
Minimal_Back,
Minimal_Forward,
// controls start here (the numbers are, of course, arbitrary)
Minimal_Text = 1000,
};
Minimal_Text = 1000,
};
// ----------------------------------------------------------------------------
// event tables and other macros for wxWindows
@@ -138,45 +128,44 @@ TAGS_MODULE_END(MyBind)
// the event tables connect the wxWindows events with the functions (event
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
EVT_MENU(Minimal_Back, MyFrame::OnBack)
EVT_MENU(Minimal_Forward, MyFrame::OnForward)
END_EVENT_TABLE()
// Create a new application object: this macro will allow wxWindows to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. MyApp and
// not wxApp)
IMPLEMENT_APP(MyApp)
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// the application class
// ----------------------------------------------------------------------------
// `Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_Back, MyFrame::OnBack)
EVT_MENU(Minimal_Forward, MyFrame::OnForward)
END_EVENT_TABLE()
// Create a new application object: this macro will allow wxWindows to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. MyApp and
// not wxApp)
IMPLEMENT_APP(MyApp)
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// the application class
// ----------------------------------------------------------------------------
// `Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
// Create the main application window
MyFrame *frame = new MyFrame("wxHtmlWindow testing application",
wxPoint(50, 50), wxSize(640, 480));
MyFrame *frame = new MyFrame( "wxHtmlWindow testing application",
wxPoint(50, 50), wxSize(640, 480) );
// Show it and tell the application that it's our main window
// @@@ what does it do exactly, in fact? is it necessary here?
frame->Show(TRUE);
SetTopWindow(frame);
frame->Show(TRUE);
SetTopWindow(frame);
// success: wxApp::OnRun() will be called which will enter the main message
// loop and the application will run. If we returned FALSE here, the
// application would exit immediately.
return TRUE;
}
return TRUE;
}
// ----------------------------------------------------------------------------
// main frame
@@ -185,61 +174,49 @@ TAGS_MODULE_END(MyBind)
wxHtmlWindow *html;
// frame constructor
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
// create a menu bar
wxMenu *menuFile = new wxMenu;
wxMenu *menuNav = new wxMenu;
wxMenu *menuFile = new wxMenu;
wxMenu *menuNav = new wxMenu;
menuFile->Append(Minimal_Quit, "E&xit");
menuNav->Append(Minimal_Back, "Go &BACK");
menuNav->Append(Minimal_Forward, "Go &FORWARD");
menuFile->Append(Minimal_Quit, "E&xit");
menuNav->Append(Minimal_Back, "Go &BACK");
menuNav->Append(Minimal_Forward, "Go &FORWARD");
// now append the freshly created menu to the menu bar...
wxMenuBar *menuBar = new wxMenuBar;
menuBar->Append(menuFile, "&File");
menuBar->Append(menuNav, "&Navigate");
wxMenuBar *menuBar = new wxMenuBar;
menuBar->Append(menuFile, "&File");
menuBar->Append(menuNav, "&Navigate");
// ... and attach this menu bar to the frame
SetMenuBar(menuBar);
CreateStatusBar(2);
SetMenuBar(menuBar);
html = new wxHtmlWindow(this);
html -> SetRelatedFrame(this, "VFS Demo: '%s'");
html -> SetRelatedStatusBar(1);
html -> LoadPage("start.htm");
}
CreateStatusBar(2);
html = new wxHtmlWindow(this);
html -> SetRelatedFrame(this, "VFS Demo: '%s'");
html -> SetRelatedStatusBar(1);
html -> LoadPage("start.htm");
}
// event handlers
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
// TRUE is to force the frame to close
Close(TRUE);
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
}
void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryBack()) wxMessageBox("You reached prehistory era!");
}
void MyFrame::OnForward(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryForward()) wxMessageBox("No more items in history!");
}
Close(TRUE);
}
void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryBack()) wxMessageBox("You reached prehistory era!");
}
void MyFrame::OnForward(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryForward()) wxMessageBox("No more items in history!");
}

View File

@@ -30,49 +30,47 @@
// ----------------------------------------------------------------------------
// Define a new application type, each program should derive a class from wxApp
class MyApp : public wxApp
{
public:
class MyApp : public wxApp
{
public:
// override base class virtuals
// ----------------------------
// this one is called on application startup and is a good place for the app
// initialization (doing it here and not in the ctor allows to have an error
// return: if OnInit() returns false, the application terminates)
virtual bool OnInit();
};
virtual bool OnInit();
};
// Define a new frame type: this is going to be our main frame
class MyFrame : public wxFrame
{
public:
class MyFrame : public wxFrame
{
public:
// ctor(s)
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnBack(wxCommandEvent& event);
void OnForward(wxCommandEvent& event);
void OnQuit(wxCommandEvent& event);
void OnBack(wxCommandEvent& event);
void OnForward(wxCommandEvent& event);
private:
private:
// any class wishing to process wxWindows events must use this macro
DECLARE_EVENT_TABLE()
};
};
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// IDs for the controls and the menu commands
enum
{
enum
{
// menu items
Minimal_Quit = 1,
Minimal_About,
Minimal_Back,
Minimal_Forward
};
Minimal_Quit = 1,
Minimal_Back,
Minimal_Forward
};
// ----------------------------------------------------------------------------
// event tables and other macros for wxWindows
@@ -81,53 +79,53 @@
// the event tables connect the wxWindows events with the functions (event
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
EVT_MENU(Minimal_Back, MyFrame::OnBack)
EVT_MENU(Minimal_Forward, MyFrame::OnForward)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_Back, MyFrame::OnBack)
EVT_MENU(Minimal_Forward, MyFrame::OnForward)
END_EVENT_TABLE()
// Create a new application object: this macro will allow wxWindows to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. MyApp and
// not wxApp)
IMPLEMENT_APP(MyApp)
// Create a new application object: this macro will allow wxWindows to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. MyApp and
// not wxApp)
IMPLEMENT_APP(MyApp)
// ============================================================================
// implementation
// ============================================================================
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// the application class
// ----------------------------------------------------------------------------
// `Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
#if wxUSE_LIBPNG
wxImage::AddHandler(new wxPNGHandler);
#endif
#if wxUSE_LIBJPEG
wxImage::AddHandler(new wxJPEGHandler);
#endif
// ----------------------------------------------------------------------------
// the application class
// ----------------------------------------------------------------------------
// `Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
#if wxUSE_LIBPNG
wxImage::AddHandler(new wxPNGHandler);
#endif
#if wxUSE_LIBJPEG
wxImage::AddHandler(new wxJPEGHandler);
#endif
wxFileSystem::AddHandler(new wxZipFSHandler);
wxFileSystem::AddHandler(new wxZipFSHandler);
// Create the main application window
MyFrame *frame = new MyFrame("wxHtmlWindow testing application",
wxPoint(50, 50), wxSize(640, 480));
MyFrame *frame = new MyFrame( "wxHtmlWindow testing application",
wxPoint(50, 50), wxSize(640, 480) );
// Show it and tell the application that it's our main window
// @@@ what does it do exactly, in fact? is it necessary here?
frame->Show(TRUE);
SetTopWindow(frame);
frame->Show(TRUE);
SetTopWindow(frame);
// success: wxApp::OnRun() will be called which will enter the main message
// loop and the application will run. If we returned FALSE here, the
// application would exit immediately.
return TRUE;
}
return TRUE;
}
// ----------------------------------------------------------------------------
// main frame
@@ -136,57 +134,50 @@
wxHtmlWindow *html;
// frame constructor
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
// create a menu bar
wxMenu *menuFile = new wxMenu;
wxMenu *menuNav = new wxMenu;
wxMenu *menuFile = new wxMenu;
wxMenu *menuNav = new wxMenu;
menuFile->Append(Minimal_Quit, "E&xit");
menuNav->Append(Minimal_Back, "Go &BACK");
menuNav->Append(Minimal_Forward, "Go &FORWARD");
menuFile->Append(Minimal_Quit, "E&xit");
menuNav->Append(Minimal_Back, "Go &BACK");
menuNav->Append(Minimal_Forward, "Go &FORWARD");
// now append the freshly created menu to the menu bar...
wxMenuBar *menuBar = new wxMenuBar;
menuBar->Append(menuFile, "&File");
menuBar->Append(menuNav, "&Navigate");
wxMenuBar *menuBar = new wxMenuBar;
menuBar->Append(menuFile, "&File");
menuBar->Append(menuNav, "&Navigate");
// ... and attach this menu bar to the frame
SetMenuBar(menuBar);
SetMenuBar(menuBar);
CreateStatusBar(1);
CreateStatusBar(1);
{
html = new wxHtmlWindow(this);
html -> SetRelatedFrame(this, "HTML : %s");
html -> SetRelatedStatusBar(0);
html -> LoadPage("start.htm");
}
}
{
html = new wxHtmlWindow(this);
html -> SetRelatedFrame(this, "HTML : %s");
html -> SetRelatedStatusBar(0);
html -> LoadPage("start.htm");
}
}
// event handlers
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
// TRUE is to force the frame to close
Close(TRUE);
}
Close(TRUE);
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
}
void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryBack()) wxMessageBox("You reached prehistory era!");
}
void MyFrame::OnBack(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryBack()) wxMessageBox("You reached prehistory era!");
}
void MyFrame::OnForward(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryForward()) wxMessageBox("No more items in history!");
}
void MyFrame::OnForward(wxCommandEvent& WXUNUSED(event))
{
if (!html -> HistoryForward()) wxMessageBox("No more items in history!");
}

View File

@@ -37,45 +37,44 @@
class MyApp: public wxApp
{
public:
virtual bool OnInit();
virtual bool OnInit();
protected:
wxLocale m_locale; // locale we'll be using
wxLocale m_locale; // locale we'll be using
};
// Define a new frame type
class MyFrame: public wxFrame
{
{
public:
MyFrame(wxFrame *frame, const wxChar *title, int x, int y, int w, int h,
wxLocale& m_locale);
MyFrame(wxFrame *frame, const wxChar *title,
const wxPoint& pos, const wxSize& size, wxLocale& m_locale);
public:
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnPlay(wxCommandEvent& event);
void OnOpen(wxCommandEvent& event);
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnPlay(wxCommandEvent& event);
void OnOpen(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
wxLocale& m_locale;
DECLARE_EVENT_TABLE()
wxLocale& m_locale;
};
// ID for the menu commands
enum
{
MINIMAL_QUIT = 1,
MINIMAL_TEXT,
MINIMAL_ABOUT,
MINIMAL_TEST,
MINIMAL_OPEN
MINIMAL_QUIT = 1,
MINIMAL_TEXT,
MINIMAL_TEST,
MINIMAL_OPEN
};
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(MINIMAL_QUIT, MyFrame::OnQuit)
EVT_MENU(MINIMAL_ABOUT, MyFrame::OnAbout)
EVT_MENU(MINIMAL_TEST, MyFrame::OnPlay)
EVT_MENU(MINIMAL_OPEN, MyFrame::OnOpen)
EVT_MENU(MINIMAL_QUIT, MyFrame::OnQuit)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
EVT_MENU(MINIMAL_TEST, MyFrame::OnPlay)
EVT_MENU(MINIMAL_OPEN, MyFrame::OnOpen)
END_EVENT_TABLE()
IMPLEMENT_APP(MyApp)
@@ -84,131 +83,133 @@ IMPLEMENT_APP(MyApp)
// `Main program' equivalent, creating windows and returning main app frame
bool MyApp::OnInit()
{
const wxString langs[] =
{
_T("(System default)"),
_T("French"),
_T("German"),
_T("Russian"),
_T("English"),
_T("English (U.S.)")
};
const wxString langs[] =
{
_T("(System default)"),
_T("French"),
_T("German"),
_T("Russian"),
_T("English"),
_T("English (U.S.)")
};
SetExitOnFrameDelete(FALSE);
int lng = wxGetSingleChoiceIndex(_T("Please choose language:"), _T("Language"),
SetExitOnFrameDelete(FALSE);
int lng = wxGetSingleChoiceIndex(_T("Please choose language:"), _T("Language"),
WXSIZEOF(langs), langs);
SetExitOnFrameDelete(TRUE);
SetExitOnFrameDelete(TRUE);
switch (lng)
{
case 0 : m_locale.Init(wxLANGUAGE_DEFAULT); break;
case 1 : m_locale.Init(wxLANGUAGE_FRENCH); break;
case 2 : m_locale.Init(wxLANGUAGE_GERMAN); break;
case 3 : m_locale.Init(wxLANGUAGE_RUSSIAN); break;
case 4 : m_locale.Init(wxLANGUAGE_ENGLISH); break;
case -1:
case 5 : m_locale.Init(wxLANGUAGE_ENGLISH_US); break;
}
switch (lng)
{
case 0 : m_locale.Init(wxLANGUAGE_DEFAULT); break;
case 1 : m_locale.Init(wxLANGUAGE_FRENCH); break;
case 2 : m_locale.Init(wxLANGUAGE_GERMAN); break;
case 3 : m_locale.Init(wxLANGUAGE_RUSSIAN); break;
case 4 : m_locale.Init(wxLANGUAGE_ENGLISH); break;
case -1:
case 5 : m_locale.Init(wxLANGUAGE_ENGLISH_US); break;
}
// Initialize the catalogs we'll be using
/* not needed any more, done in wxLocale ctor
m_locale.AddCatalog("wxstd"); // 1) for library messages
*/
m_locale.AddCatalog(wxT("internat")); // 2) our private one
/* this catalog is installed in standard location on Linux systems,
// Initialize the catalogs we'll be using
/* not needed any more, done in wxLocale ctor
m_locale.AddCatalog("wxstd"); // 1) for library messages
*/
m_locale.AddCatalog(wxT("internat")); // 2) our private one
/* this catalog is installed in standard location on Linux systems,
it might not be installed on yours - just ignore the errrors
or comment out this line then */
#ifdef __LINUX__
{
{
wxLogNull noLog;
m_locale.AddCatalog("fileutils"); // 3) and another just for testing
}
}
#endif
// Create the main frame window
MyFrame *frame = new MyFrame((wxFrame *) NULL, _("International wxWindows App"),
50, 50, 350, 60, m_locale);
// Give it an icon
frame->SetIcon(wxICON(mondrian));
// Create the main frame window
MyFrame *frame = new MyFrame( (wxFrame *) NULL,
_("International wxWindows App"), wxPoint(50, 50), wxSize(350, 60),
m_locale);
// Make a menubar
wxMenu *file_menu = new wxMenu;
file_menu->Append(MINIMAL_ABOUT, _("&About..."));
file_menu->AppendSeparator();
file_menu->Append(MINIMAL_QUIT, _("E&xit"));
// Give it an icon
frame->SetIcon(wxICON(mondrian));
wxMenu *test_menu = new wxMenu;
test_menu->Append(MINIMAL_OPEN, _("&Open bogus file"));
test_menu->Append(MINIMAL_TEST, _("&Play a game"));
// Make a menubar
wxMenu *file_menu = new wxMenu;
file_menu->Append(wxID_ABOUT, _("&About..."));
file_menu->AppendSeparator();
file_menu->Append(MINIMAL_QUIT, _("E&xit"));
wxMenuBar *menu_bar = new wxMenuBar;
menu_bar->Append(file_menu, _("&File"));
menu_bar->Append(test_menu, _("&Test"));
frame->SetMenuBar(menu_bar);
wxMenu *test_menu = new wxMenu;
test_menu->Append(MINIMAL_OPEN, _("&Open bogus file"));
test_menu->Append(MINIMAL_TEST, _("&Play a game"));
// Show the frame
frame->Show(TRUE);
SetTopWindow(frame);
wxMenuBar *menu_bar = new wxMenuBar;
menu_bar->Append(file_menu, _("&File"));
menu_bar->Append(test_menu, _("&Test"));
frame->SetMenuBar(menu_bar);
return TRUE;
// Show the frame
frame->Show(TRUE);
SetTopWindow(frame);
return TRUE;
}
// My frame constructor
MyFrame::MyFrame(wxFrame *frame, const wxChar *title, int x, int y,
int w, int h, wxLocale& l)
: wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)),
MyFrame::MyFrame(wxFrame *frame, const wxChar *title,
const wxPoint& pos, const wxSize& size, wxLocale& l)
: wxFrame(frame, -1, title, pos, size),
m_locale(l)
{
// Empty
}
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event) )
{
Close(TRUE);
Close(TRUE);
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
wxString localeInfo;
localeInfo.Printf(_("Language: %s\nSystem locale name: %s\nCanonical locale name: %s\n"),
m_locale.GetLocale(),
m_locale.GetSysName().c_str(),
m_locale.GetCanonicalName().c_str());
wxString localeInfo;
localeInfo.Printf( _("Language: %s\nSystem locale name: %s\nCanonical locale name: %s\n"),
m_locale.GetLocale(),
m_locale.GetSysName().c_str(),
m_locale.GetCanonicalName().c_str() );
wxMessageDialog(this, wxString(_("I18n sample\n(c) 1998, 1999 Vadim Zeitlin and Julian Smart"))
+ wxT("\n\n") + localeInfo,
_("About Internat"), wxOK | wxICON_INFORMATION).ShowModal();
wxMessageDialog(this, wxString(_("I18n sample\n(c) 1998, 1999 Vadim Zeitlin and Julian Smart"))
+ wxT("\n\n") + localeInfo,
_("About Internat"), wxOK | wxICON_INFORMATION).ShowModal();
}
void MyFrame::OnPlay(wxCommandEvent& WXUNUSED(event))
{
wxString str = wxGetTextFromUser(_("Enter your number:"),
_("Try to guess my number!"),
"", this);
if ( str.IsEmpty() )
return;
wxString str = wxGetTextFromUser(_("Enter your number:"),
_("Try to guess my number!"), wxEmptyString, this);
int num;
wxSscanf(str, wxT("%d"), &num);
if ( num == 0 )
str = _("You've probably entered an invalid number.");
else if ( num == 9 ) // this message is not translated (not in catalog)
str = "You've found a bug in this program!";
else if ( num != 17 ) // a more implicit way to write _()
str = wxGetTranslation(wxT("Bad luck! try again..."));
else {
str.Empty();
// string must be split in two -- otherwise the translation won't be found
str << _("Congratulations! you've won. Here is the magic phrase:")
<< _("cannot create fifo `%s'");
}
if ( str.IsEmpty() ) return;
wxMessageBox(str, _("Result"), wxOK | wxICON_INFORMATION);
int num;
wxSscanf(str, wxT("%d"), &num);
if ( num == 0 )
str = _("You've probably entered an invalid number.");
else if ( num == 9 ) // this message is not translated (not in catalog)
str = "You've found a bug in this program!";
else if ( num != 17 ) // a more implicit way to write _()
str = wxGetTranslation(wxT("Bad luck! try again..."));
else
{
str.Empty();
// string must be split in two -- otherwise the translation won't be found
str << _("Congratulations! you've won. Here is the magic phrase:")
<< _("cannot create fifo `%s'");
}
wxMessageBox(str, _("Result"), wxOK | wxICON_INFORMATION);
}
void MyFrame::OnOpen(wxCommandEvent&)
{
// open a bogus file -- the error message should be also translated if you've
// got wxstd.mo somewhere in the search path
wxFile file(wxT("NOTEXIST.ING"));
// open a bogus file -- the error message should be also translated if you've
// got wxstd.mo somewhere in the search path
wxFile file(wxT("NOTEXIST.ING"));
}

View File

@@ -21,7 +21,11 @@
#endif
#if !wxUSE_JOYSTICK
#error You must set wxUSE_JOYSTICK to 1 in setup.h!
# error You must set wxUSE_JOYSTICK to 1 in setup.h
#endif
#if !wxUSE_STATUSBAR
# error You must set wxUSE_STATUSBAR to 1 in setup.h
#endif
#include "wx/wave.h"
@@ -40,57 +44,55 @@ long ypos = -1;
int winNumber = 1;
// Initialise this in OnInit, not statically
bool MyApp::OnInit(void)
bool MyApp::OnInit()
{
wxJoystick stick(wxJOYSTICK1);
if (!stick.IsOk())
{
wxMessageBox("No joystick detected!");
return FALSE;
}
wxJoystick stick(wxJOYSTICK1);
if (!stick.IsOk())
{
wxMessageBox("No joystick detected!");
return FALSE;
}
#if wxUSE_WAVE
m_fire.Create("gun.wav");
m_fire.Create("gun.wav");
#endif // wxUSE_WAVE
m_maxX = stick.GetXMax();
m_maxY = stick.GetYMax();
m_maxX = stick.GetXMax();
m_maxY = stick.GetYMax();
// Create the main frame window
// Create the main frame window
frame = new MyFrame(NULL, "Joystick Demo", wxPoint(0, 0), wxSize(500, 400),
wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL);
frame = new MyFrame(NULL, "Joystick Demo", wxDefaultPosition,
wxSize(500, 400), wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL);
// Give it an icon (this is ignored in MDI mode: uses resources)
#ifdef __WXMSW__
frame->SetIcon(wxIcon("joyicon"));
frame->SetIcon(wxIcon("joyicon"));
#endif
#ifdef __X__
frame->SetIcon(wxIcon("joyicon.xbm"));
frame->SetIcon(wxIcon("joyicon.xbm"));
#endif
// Make a menubar
wxMenu *file_menu = new wxMenu;
// Make a menubar
wxMenu *file_menu = new wxMenu;
file_menu->Append(JOYTEST_QUIT, "&Exit");
file_menu->Append(JOYTEST_QUIT, "&Exit");
wxMenu *help_menu = new wxMenu;
help_menu->Append(JOYTEST_ABOUT, "&About");
wxMenuBar *menu_bar = new wxMenuBar;
wxMenuBar *menu_bar = new wxMenuBar;
menu_bar->Append(file_menu, "&File");
menu_bar->Append(file_menu, "&File");
menu_bar->Append(help_menu, "&Help");
// Associate the menu bar with the frame
frame->SetMenuBar(menu_bar);
// Associate the menu bar with the frame
frame->SetMenuBar(menu_bar);
frame->CreateStatusBar();
frame->CreateStatusBar();
frame->CenterOnScreen();
frame->Show(TRUE);
frame->Show(TRUE);
SetTopWindow(frame);
SetTopWindow(frame);
return TRUE;
return TRUE;
}
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
@@ -99,13 +101,13 @@ END_EVENT_TABLE()
// Define a constructor for my canvas
MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size):
wxScrolledWindow(parent, -1, pos, size, wxSUNKEN_BORDER)
wxScrolledWindow(parent, -1, pos, size, wxSUNKEN_BORDER)
{
wxJoystick joystick(wxJOYSTICK1);
joystick.SetCapture(this);
}
MyCanvas::~MyCanvas(void)
MyCanvas::~MyCanvas()
{
wxJoystick joystick(wxJOYSTICK1);
joystick.ReleaseCapture();
@@ -113,62 +115,65 @@ MyCanvas::~MyCanvas(void)
void MyCanvas::OnJoystickEvent(wxJoystickEvent& event)
{
wxClientDC dc(this);
wxClientDC dc(this);
wxPoint pt(event.GetPosition());
wxPoint pt(event.GetPosition());
// Scale to canvas size
int cw, ch;
GetSize(&cw, &ch);
// Scale to canvas size
int cw, ch;
GetSize(&cw, &ch);
pt.x = (long) (((double)pt.x/(double)wxGetApp().m_maxX) * cw);
pt.y = (long) (((double)pt.y/(double)wxGetApp().m_maxY) * ch);
pt.x = (long) (((double)pt.x/(double)wxGetApp().m_maxX) * cw);
pt.y = (long) (((double)pt.y/(double)wxGetApp().m_maxY) * ch);
if (xpos > -1 && ypos > -1 && event.IsMove() && event.ButtonIsDown())
{
dc.SetPen(*wxBLACK_PEN);
dc.DrawLine(xpos, ypos, pt.x, pt.y);
}
xpos = pt.x;
ypos = pt.y;
if (xpos > -1 && ypos > -1 && event.IsMove() && event.ButtonIsDown())
{
dc.SetPen(*wxBLACK_PEN);
dc.DrawLine(xpos, ypos, pt.x, pt.y);
}
char buf[100];
if (event.ButtonDown())
sprintf(buf, "Joystick (%d, %d) Fire!", pt.x, pt.y);
else
sprintf(buf, "Joystick (%d, %d)", pt.x, pt.y);
frame->SetStatusText(buf);
xpos = pt.x;
ypos = pt.y;
char buf[100];
if (event.ButtonDown())
sprintf(buf, "Joystick (%d, %d) Fire!", pt.x, pt.y);
else
sprintf(buf, "Joystick (%d, %d)", pt.x, pt.y);
frame->SetStatusText(buf);
#if wxUSE_WAVE
if (event.ButtonDown() && wxGetApp().m_fire.IsOk())
{
wxGetApp().m_fire.Play();
}
if (event.ButtonDown() && wxGetApp().m_fire.IsOk())
{
wxGetApp().m_fire.Play();
}
#endif // wxUSE_WAVE
}
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(JOYTEST_QUIT, MyFrame::OnQuit)
EVT_MENU(JOYTEST_QUIT, MyFrame::OnQuit)
END_EVENT_TABLE()
MyFrame::MyFrame(wxFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size,
const long style):
wxFrame(parent, -1, title, pos, size, style)
MyFrame::MyFrame(wxFrame *parent, const wxString& title, const wxPoint& pos,
const wxSize& size, const long style)
: wxFrame(parent, -1, title, pos, size, style)
{
canvas = new MyCanvas(this);
canvas = new MyCanvas(this);
}
MyFrame::~MyFrame(void)
MyFrame::~MyFrame()
{
// Empty
}
void MyFrame::OnQuit(wxCommandEvent& event)
{
Close(TRUE);
Close(TRUE);
}
void MyFrame::OnActivate(wxActivateEvent& event)
{
if (event.GetActive() && canvas)
canvas->SetFocus();
if (event.GetActive() && canvas)
canvas->SetFocus();
}

View File

@@ -12,8 +12,8 @@
// Define a new application
class MyApp: public wxApp
{
public:
bool OnInit(void);
public:
bool OnInit();
// Joystick max values
int m_maxX;
@@ -28,9 +28,9 @@ DECLARE_APP(MyApp)
class MyCanvas: public wxScrolledWindow
{
public:
public:
MyCanvas(wxWindow *parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize);
~MyCanvas(void);
~MyCanvas();
void OnJoystickEvent(wxJoystickEvent& event);
DECLARE_EVENT_TABLE()
@@ -38,10 +38,11 @@ class MyCanvas: public wxScrolledWindow
class MyFrame: public wxFrame
{
public:
public:
MyCanvas *canvas;
MyFrame(wxFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size, const long style);
~MyFrame(void);
MyFrame(wxFrame *parent, const wxString& title,
const wxPoint& pos, const wxSize& size, const long style);
~MyFrame();
void OnActivate(wxActivateEvent& event);
void OnQuit(wxCommandEvent& event);
@@ -49,4 +50,3 @@ DECLARE_EVENT_TABLE()
};
#define JOYTEST_QUIT 1
#define JOYTEST_ABOUT 2

View File

@@ -1,12 +1,12 @@
/////////////////////////////////////////////////////////////////////////////
// Name: propsize.cpp
// Purpose: Minimal wxWindows sample
// Purpose: wxWindows propsize sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
// License: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
@@ -86,7 +86,6 @@ enum
{
// menu items
Minimal_Quit = 1,
Minimal_About
};
// ----------------------------------------------------------------------------
@@ -98,7 +97,7 @@ enum
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
END_EVENT_TABLE()
// Create a new application object: this macro will allow wxWindows to create
@@ -148,7 +147,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
// create a menu bar
wxMenu *menuFile = new wxMenu("", wxMENU_TEAROFF);
menuFile->Append(Minimal_About, "&About...\tCtrl-A", "Show about dialog");
menuFile->Append(wxID_ABOUT, "&About...\tCtrl-A", "Show about dialog");
menuFile->AppendSeparator();
menuFile->Append(Minimal_Quit, "E&xit\tAlt-X", "Quit this program");
@@ -166,60 +165,62 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
#endif // wxUSE_STATUSBAR
#define AddLine(orient) \
Add( new wxStaticLine( this, -1, wxDefaultPosition, wxSize(2,2), orient), \
0, wxEXPAND)
Add( new wxStaticLine( this, -1, wxDefaultPosition, wxSize(2,2), orient), \
0, wxEXPAND)
#define AddButton(label,align) Add( \
new wxButton( this, -1, label, wxDefaultPosition, wxSize(100,50)), \
1, wxSHAPED | align)
new wxButton( this, -1, label, wxDefaultPosition, wxSize(100,50)), \
1, wxSHAPED | align)
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
// top row -- top-aligned
wxBoxSizer *hsizer1 = new wxBoxSizer( wxHORIZONTAL );
hsizer1->AddButton( "one", wxALIGN_LEFT | wxALIGN_TOP);
hsizer1->AddLine(wxVERTICAL);
hsizer1->AddButton( "two", wxALIGN_CENTER_HORIZONTAL | wxALIGN_TOP);
hsizer1->AddLine(wxVERTICAL);
hsizer1->AddButton( "three", wxALIGN_RIGHT | wxALIGN_TOP);
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
// top row -- top-aligned
wxBoxSizer *hsizer1 = new wxBoxSizer( wxHORIZONTAL );
hsizer1->AddButton( "one", wxALIGN_LEFT | wxALIGN_TOP);
hsizer1->AddLine(wxVERTICAL);
hsizer1->AddButton( "two", wxALIGN_CENTER_HORIZONTAL | wxALIGN_TOP);
hsizer1->AddLine(wxVERTICAL);
hsizer1->AddButton( "three", wxALIGN_RIGHT | wxALIGN_TOP);
topsizer->Add(hsizer1, 1, wxEXPAND);
topsizer->AddLine(wxHORIZONTAL);
topsizer->Add(hsizer1, 1, wxEXPAND);
topsizer->AddLine(wxHORIZONTAL);
wxBoxSizer *hsizer2 = new wxBoxSizer( wxHORIZONTAL );
hsizer2->AddButton( "four", wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
hsizer2->AddLine(wxVERTICAL);
// sizer that preserves it's shape
wxBoxSizer *vsizer = new wxBoxSizer( wxVERTICAL );
vsizer->Add(
new wxButton( this, -1, "up", wxDefaultPosition, wxSize(100,25)), \
1, wxEXPAND);
vsizer->Add(
new wxButton( this, -1, "down", wxDefaultPosition, wxSize(100,25)), \
1, wxEXPAND);
hsizer2->Add(vsizer, 1, wxSHAPED | wxALIGN_CENTER);
hsizer2->AddLine(wxVERTICAL);
hsizer2->AddButton( "six", wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
wxBoxSizer *hsizer2 = new wxBoxSizer( wxHORIZONTAL );
hsizer2->AddButton( "four", wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL);
hsizer2->AddLine(wxVERTICAL);
// sizer that preserves it's shape
wxBoxSizer *vsizer = new wxBoxSizer( wxVERTICAL );
vsizer->Add(
new wxButton( this, -1, "up", wxDefaultPosition, wxSize(100,25) ),
1, wxEXPAND);
topsizer->Add(hsizer2, 1, wxEXPAND);
topsizer->AddLine(wxHORIZONTAL);
vsizer->Add(
new wxButton( this, -1, "down", wxDefaultPosition, wxSize(100,25) ),
1, wxEXPAND);
wxBoxSizer *hsizer3 = new wxBoxSizer( wxHORIZONTAL );
hsizer3->AddButton( "seven", wxALIGN_LEFT | wxALIGN_BOTTOM);
hsizer3->AddLine(wxVERTICAL);
hsizer3->AddButton( "eight", wxALIGN_CENTER_HORIZONTAL | wxALIGN_BOTTOM);
hsizer3->AddLine(wxVERTICAL);
// wxEXPAND should have no effect
hsizer3->AddButton( "nine", wxEXPAND | wxALIGN_RIGHT | wxALIGN_BOTTOM);
hsizer2->Add(vsizer, 1, wxSHAPED | wxALIGN_CENTER);
hsizer2->AddLine(wxVERTICAL);
hsizer2->AddButton( "six", wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
topsizer->Add(hsizer3, 1, wxEXPAND);
topsizer->Add(hsizer2, 1, wxEXPAND);
topsizer->AddLine(wxHORIZONTAL);
// set frame to minimum size
topsizer->Fit( this );
wxBoxSizer *hsizer3 = new wxBoxSizer( wxHORIZONTAL );
hsizer3->AddButton( "seven", wxALIGN_LEFT | wxALIGN_BOTTOM);
hsizer3->AddLine(wxVERTICAL);
hsizer3->AddButton( "eight", wxALIGN_CENTER_HORIZONTAL | wxALIGN_BOTTOM);
hsizer3->AddLine(wxVERTICAL);
// wxEXPAND should have no effect
hsizer3->AddButton( "nine", wxEXPAND | wxALIGN_RIGHT | wxALIGN_BOTTOM);
// don't allow frame to get smaller than what the sizers tell ye
// topsizer->SetSizeHints( this );
topsizer->Add(hsizer3, 1, wxEXPAND);
SetSizer( topsizer );
SetAutoLayout( TRUE );
// set frame to minimum size
topsizer->Fit( this );
// don't allow frame to get smaller than what the sizers tell ye
// topsizer->SetSizeHints( this );
SetSizer( topsizer );
}

View File

@@ -223,7 +223,7 @@ void *MyThread::Entry()
{
wxString text;
text.Printf(wxT("Thread 0x%x started (priority = %d).\n"),
text.Printf(wxT("Thread 0x%x started (priority = %u).\n"),
GetId(), GetPriority());
WriteText(text);
// wxLogMessage(text); -- test wxLog thread safeness

View File

@@ -494,10 +494,10 @@ void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event)
void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event)
{
int sel = event.GetInt();
long sel = event.GetInt();
m_textDelete->SetValue(wxString::Format(_T("%ld"), sel));
wxLogMessage(_T("Combobox item %d selected"), sel);
wxLogMessage(_T("Combobox item %ld selected"), sel);
}
void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)

View File

@@ -209,7 +209,7 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook,
_T("Set &range"),
GaugePage_RangeText,
&m_textRange);
m_textRange->SetValue(wxString::Format(_T("%lu"), m_range));
m_textRange->SetValue( wxString::Format(_T("%lu"), m_range) );
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
btn = new wxButton(this, GaugePage_Progress, _T("Simulate &progress"));
@@ -400,4 +400,4 @@ void GaugeWidgetsPage::StopTimer()
wxLogMessage(_T("Progress finished."));
}
#endif
#endif

View File

@@ -491,20 +491,20 @@ void ListboxWidgetsPage::OnUpdateUIAddSeveral(wxUpdateUIEvent& event)
void ListboxWidgetsPage::OnListbox(wxCommandEvent& event)
{
int sel = event.GetInt();
long sel = event.GetInt();
m_textDelete->SetValue(wxString::Format(_T("%ld"), sel));
wxLogMessage(_T("Listbox item %d selected"), sel);
wxLogMessage(_T("Listbox item %ld selected"), sel);
}
void ListboxWidgetsPage::OnListboxDClick(wxCommandEvent& event)
{
wxLogMessage(_T("Listbox item %d double clicked"), event.GetInt());
wxLogMessage( _T("Listbox item %ld double clicked"), event.GetInt() );
}
void ListboxWidgetsPage::OnCheckListbox(wxCommandEvent& event)
{
wxLogMessage(_T("Listbox item %d toggled"), event.GetInt());
wxLogMessage( _T("Listbox item %ld toggled"), event.GetInt() );
}
void ListboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
@@ -512,4 +512,4 @@ void ListboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
CreateLbox();
}
#endif
#endif

View File

@@ -454,4 +454,4 @@ void RadioWidgetsPage::OnUpdateUIReset(wxUpdateUIEvent& event)
event.Enable(enable);
}
#endif
#endif

View File

@@ -231,8 +231,8 @@ SliderWidgetsPage::SliderWidgetsPage(wxNotebook *notebook,
m_textMax = new wxTextCtrl(this, SliderPage_MaxText, _T(""));
sizerRow->Add(m_textMax, 1, wxLEFT | wxALIGN_CENTRE_VERTICAL, 5);
m_textMin->SetValue(wxString::Format(_T("%lu"), m_min));
m_textMax->SetValue(wxString::Format(_T("%lu"), m_max));
m_textMin->SetValue( wxString::Format(_T("%d"), m_min) );
m_textMax->SetValue( wxString::Format(_T("%d"), m_max) );
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
@@ -449,7 +449,7 @@ void SliderWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
void SliderWidgetsPage::OnUpdateUICurValueText(wxUpdateUIEvent& event)
{
event.SetText( wxString::Format(_T("%d"), m_slider->GetValue()));
event.SetText( wxString::Format(_T("%d"), m_slider->GetValue()) );
}
void SliderWidgetsPage::OnUpdateUIOtherSide(wxUpdateUIEvent& event)
@@ -459,10 +459,10 @@ void SliderWidgetsPage::OnUpdateUIOtherSide(wxUpdateUIEvent& event)
void SliderWidgetsPage::OnSlider(wxScrollEvent& event)
{
int value = event.GetInt();
long value = event.GetInt();
wxASSERT_MSG( value == m_slider->GetValue(),
wxT("slider value should be the same") );
wxT("slider value should be the same") );
wxEventType eventType = event.GetEventType();

View File

@@ -224,8 +224,8 @@ SpinBtnWidgetsPage::SpinBtnWidgetsPage(wxNotebook *notebook,
m_textMax = new wxTextCtrl(this, SpinBtnPage_MaxText, _T(""));
sizerRow->Add(m_textMax, 1, wxLEFT | wxALIGN_CENTRE_VERTICAL, 5);
m_textMin->SetValue(wxString::Format(_T("%lu"), m_min));
m_textMax->SetValue(wxString::Format(_T("%lu"), m_max));
m_textMin->SetValue( wxString::Format(_T("%d"), m_min) );
m_textMax->SetValue( wxString::Format(_T("%d"), m_max) );
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
@@ -405,14 +405,14 @@ void SpinBtnWidgetsPage::OnSpinBtn(wxCommandEvent& event)
void SpinBtnWidgetsPage::OnSpinBtnUp(wxCommandEvent& event)
{
wxLogMessage(_T("Spin button value incremented, will be %d (was %d)"),
event.GetInt(), m_spinbtn->GetValue());
wxLogMessage( _T("Spin button value incremented, will be %ld (was %d)"),
event.GetInt(), m_spinbtn->GetValue() );
}
void SpinBtnWidgetsPage::OnSpinBtnDown(wxCommandEvent& event)
{
wxLogMessage(_T("Spin button value decremented, will be %d (was %d)"),
event.GetInt(), m_spinbtn->GetValue());
wxLogMessage( _T("Spin button value decremented, will be %ld (was %d)"),
event.GetInt(), m_spinbtn->GetValue() );
}
void SpinBtnWidgetsPage::OnSpinCtrl(wxCommandEvent& event)

View File

@@ -604,7 +604,7 @@ void TextWidgetsPage::OnIdle(wxIdleEvent& WXUNUSED(event))
if ( m_textLineLast )
{
m_textLineLast->SetValue(
wxString::Format(_T("%ld"), m_text->GetNumberOfLines()));
wxString::Format(_T("%d"), m_text->GetNumberOfLines()) );
}
if ( m_textSelFrom && m_textSelTo )
@@ -699,7 +699,7 @@ void TextWidgetsPage::OnButtonLoad(wxCommandEvent& WXUNUSED(event))
else
{
long elapsed = sw.Time();
wxLogMessage(_T("Loaded file '%s' in %u.%us"),
wxLogMessage(_T("Loaded file '%s' in %lu.%us"),
filename.c_str(), elapsed / 1000, elapsed % 1000);
}
}