/////////////////////////////////////////////////////////////////////////////
// Name: net.cpp
-// Purpose: wxWindows sample demonstrating network-related functions
+// Purpose: wxWidgets sample demonstrating network-related functions
// Author: Vadim Zeitlin
// Modified by:
// Created: 07.07.99
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
- #pragma implementation "nettest.cpp"
- #pragma interface "nettest.cpp"
-#endif
-
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#endif
// for all others, include the necessary headers (this file is usually all you
-// need because it includes almost all "standard" wxWindows headers
+// need because it includes almost all "standard" wxWidgets headers
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
+#if !wxUSE_DIALUP_MANAGER
+#error You must set wxUSE_DIALUP_MANAGER to 1 in setup.h!
+#endif
+
#include "wx/dialup.h"
+#ifndef wxHAS_IMAGES_IN_RESOURCES
+ #include "../sample.xpm"
+#endif
+
// ----------------------------------------------------------------------------
// private classes
// ----------------------------------------------------------------------------
void OnIdle(wxIdleEvent& event);
private:
- // any class wishing to process wxWindows events must use this macro
+ // any class wishing to process wxWidgets events must use this macro
DECLARE_EVENT_TABLE()
};
};
// ----------------------------------------------------------------------------
-// event tables and other macros for wxWindows
+// event tables and other macros for wxWidgets
// ----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(MyApp, wxApp)
EVT_DIALUP_DISCONNECTED(MyApp::OnConnected)
END_EVENT_TABLE()
-// the event tables connect the wxWindows events with the functions (event
+// the event tables connect the wxWidgets 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_IDLE(MyFrame::OnIdle)
END_EVENT_TABLE()
-// Create a new application object: this macro will allow wxWindows to create
+// Create a new application object: this macro will allow wxWidgets 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
// `Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
+ if ( !wxApp::OnInit() )
+ return false;
+
// Create the main application window
- MyFrame *frame = new MyFrame("Dial-up wxWindows demo",
+ MyFrame *frame = new MyFrame(wxT("Dial-up wxWidgets demo"),
wxPoint(50, 50), wxSize(450, 340));
- // Show it and tell the application that it's our main window
- frame->Show(TRUE);
- SetTopWindow(frame);
+ // Show it
+ frame->Show(true);
// Init dial up manager
m_dial = wxDialUpManager::Create();
if ( !m_dial->IsOk() )
{
- wxLogError("The sample can't run on this system.");
+ wxLogError(wxT("The sample can't run on this system."));
+#if wxUSE_LOG
wxLog::GetActiveTarget()->Flush();
+#endif // wxUSE_LOG
// do it here, OnExit() won't be called
delete m_dial;
- return FALSE;
+ return false;
}
- frame->SetStatusText(GetDialer()->IsAlwaysOnline() ? "LAN" : "No LAN", 2);
+#if wxUSE_STATUSBAR
+ frame->SetStatusText(GetDialer()->IsAlwaysOnline() ? wxT("LAN") : wxT("No LAN"), 2);
+#endif // wxUSE_STATUSBAR
- return TRUE;
+ return true;
}
int MyApp::OnExit()
void MyApp::OnConnected(wxDialUpEvent& event)
{
- const char *msg;
+ const wxChar *msg;
if ( event.IsOwnEvent() )
{
- msg = event.IsConnectedEvent() ? "Successfully connected"
- : "Dialing failed";
+ msg = event.IsConnectedEvent() ? wxT("Successfully connected")
+ : wxT("Dialing failed");
- wxLogStatus("");
+ wxLogStatus(wxEmptyString);
}
else
{
- msg = event.IsConnectedEvent() ? "Just connected!"
- : "Disconnected";
+ msg = event.IsConnectedEvent() ? wxT("Just connected!")
+ : wxT("Disconnected");
}
wxLogMessage(msg);
// frame constructor
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
- : wxFrame((wxFrame *)NULL, -1, title, pos, size)
+ : wxFrame((wxFrame *)NULL, wxID_ANY, title, pos, size)
{
+ SetIcon(wxICON(sample));
+
// create a menu bar
wxMenu *menuFile = new wxMenu;
- menuFile->Append(NetTest_Dial, "&Dial\tCtrl-D", "Dial default ISP");
- menuFile->Append(NetTest_HangUp, "&HangUp\tCtrl-H", "Hang up modem");
+ menuFile->Append(NetTest_Dial, wxT("&Dial\tCtrl-D"), wxT("Dial default ISP"));
+ menuFile->Append(NetTest_HangUp, wxT("&HangUp\tCtrl-H"), wxT("Hang up modem"));
menuFile->AppendSeparator();
- menuFile->Append(NetTest_EnumISP, "&Enumerate ISPs...\tCtrl-E");
- menuFile->Append(NetTest_Check, "&Check connection status...\tCtrl-C");
+ menuFile->Append(NetTest_EnumISP, wxT("&Enumerate ISPs...\tCtrl-E"));
+ menuFile->Append(NetTest_Check, wxT("&Check connection status...\tCtrl-C"));
menuFile->AppendSeparator();
- menuFile->Append(NetTest_About, "&About...\tCtrl-A", "Show about dialog");
+ menuFile->Append(NetTest_About, wxT("&About\tCtrl-A"), wxT("Show about dialog"));
menuFile->AppendSeparator();
- menuFile->Append(NetTest_Quit, "E&xit\tAlt-X", "Quit this program");
+ menuFile->Append(NetTest_Quit, wxT("E&xit\tAlt-X"), wxT("Quit this program"));
// now append the freshly created menu to the menu bar...
wxMenuBar *menuBar = new wxMenuBar;
- menuBar->Append(menuFile, "&File");
+ menuBar->Append(menuFile, wxT("&File"));
// ... and attach this menu bar to the frame
SetMenuBar(menuBar);
+#if wxUSE_STATUSBAR
// create status bar and fill the LAN field
CreateStatusBar(3);
static const int widths[3] = { -1, 100, 60 };
SetStatusWidths(3, widths);
+#endif // wxUSE_STATUSBAR
}
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
- // TRUE is to force the frame to close
- Close(TRUE);
+ // true is to force the frame to close
+ Close(true);
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
wxString msg;
- msg.Printf(_T("This is the network functions test sample.\n"
- "© 1999 Vadim Zeitlin"));
+ msg.Printf( wxT("This is the network functions test sample.\n")
+ wxT("(c) 1999 Vadim Zeitlin") );
- wxMessageBox(msg, _T("About NetTest"), wxOK | wxICON_INFORMATION, this);
+ wxMessageBox(msg, wxT("About NetTest"), wxOK | wxICON_INFORMATION, this);
}
void MyFrame::OnHangUp(wxCommandEvent& WXUNUSED(event))
{
if ( wxGetApp().GetDialer()->HangUp() )
{
- wxLogStatus(this, "Connection was succesfully terminated.");
+ wxLogStatus(this, wxT("Connection was successfully terminated."));
}
else
{
- wxLogStatus(this, "Failed to hang up.");
+ wxLogStatus(this, wxT("Failed to hang up."));
}
}
void MyFrame::OnDial(wxCommandEvent& WXUNUSED(event))
{
- wxLogStatus(this, "Preparing to dial...");
+ wxLogStatus(this, wxT("Preparing to dial..."));
wxYield();
wxBeginBusyCursor();
if ( wxGetApp().GetDialer()->Dial() )
{
- wxLogStatus(this, "Dialing...");
+ wxLogStatus(this, wxT("Dialing..."));
}
else
{
- wxLogStatus(this, "Dialing attempt failed.");
+ wxLogStatus(this, wxT("Dialing attempt failed."));
}
wxEndBusyCursor();
void MyFrame::OnCheck(wxCommandEvent& WXUNUSED(event))
{
if(wxGetApp().GetDialer()->IsOnline())
- wxLogMessage("Network is online.");
+ {
+ wxLogMessage(wxT("Network is online."));
+ }
else
- wxLogMessage("Network is offline.");
+ {
+ wxLogMessage(wxT("Network is offline."));
+ }
}
void MyFrame::OnEnumISPs(wxCommandEvent& WXUNUSED(event))
size_t nCount = wxGetApp().GetDialer()->GetISPNames(names);
if ( nCount == 0 )
{
- wxLogWarning("No ISPs found.");
+ wxLogWarning(wxT("No ISPs found."));
}
else
{
- wxString msg = "Known ISPs:\n";
+ wxString msg = wxT("Known ISPs:\n");
for ( size_t n = 0; n < nCount; n++ )
{
msg << names[n] << '\n';
void MyFrame::OnIdle(wxIdleEvent& WXUNUSED(event))
{
- static int s_isOnline = -1; // not TRUE nor FALSE
+ static int s_isOnline = -1; // not true nor false
bool isOnline = wxGetApp().GetDialer()->IsOnline();
if ( s_isOnline != (int)isOnline )
{
s_isOnline = isOnline;
- SetStatusText(isOnline ? "Online" : "Offline", 1);
+#if wxUSE_STATUSBAR
+ SetStatusText(isOnline ? wxT("Online") : wxT("Offline"), 1);
+#endif // wxUSE_STATUSBAR
}
}