]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dialup/nettest.cpp
Fix recreating of wxBitmapComboBox using untyped client data.
[wxWidgets.git] / samples / dialup / nettest.cpp
index bcf1d57aa1ec0481c1414352c51913867a38abc6..6fb77735949d05fbd2f4402929941b82b892d43f 100644 (file)
@@ -1,10 +1,9 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        net.cpp
 /////////////////////////////////////////////////////////////////////////////
 // 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
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     07.07.99
-// RCS-ID:      $Id$
 // Copyright:   (c) Vadim Zeitlin
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) Vadim Zeitlin
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // headers
 // ----------------------------------------------------------------------------
 
 // 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"
 
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
@@ -30,7 +24,7 @@
 #endif
 
 // for all others, include the necessary headers (this file is usually all you
 #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
 #ifndef WX_PRECOMP
     #include "wx/wx.h"
 #endif
 
 #include "wx/dialup.h"
 
 
 #include "wx/dialup.h"
 
+#ifndef wxHAS_IMAGES_IN_RESOURCES
+    #include "../sample.xpm"
+#endif
+
 // ----------------------------------------------------------------------------
 // private classes
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // private classes
 // ----------------------------------------------------------------------------
@@ -91,7 +89,7 @@ public:
     void OnIdle(wxIdleEvent& event);
 
 private:
     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()
 };
 
     DECLARE_EVENT_TABLE()
 };
 
@@ -113,7 +111,7 @@ enum
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
-// event tables and other macros for wxWindows
+// event tables and other macros for wxWidgets
 // ----------------------------------------------------------------------------
 
 BEGIN_EVENT_TABLE(MyApp, wxApp)
 // ----------------------------------------------------------------------------
 
 BEGIN_EVENT_TABLE(MyApp, wxApp)
@@ -121,7 +119,7 @@ BEGIN_EVENT_TABLE(MyApp, wxApp)
     EVT_DIALUP_DISCONNECTED(MyApp::OnConnected)
 END_EVENT_TABLE()
 
     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)
 // 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)
@@ -137,7 +135,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_IDLE(MyFrame::OnIdle)
 END_EVENT_TABLE()
 
     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
 // 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
@@ -155,13 +153,15 @@ IMPLEMENT_APP(MyApp)
 // `Main program' equivalent: the program execution "starts" here
 bool MyApp::OnInit()
 {
 // `Main program' equivalent: the program execution "starts" here
 bool MyApp::OnInit()
 {
+    if ( !wxApp::OnInit() )
+        return false;
+
     // Create the main application window
     // 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));
 
                                  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();
 
     // Init dial up manager
     m_dial = wxDialUpManager::Create();
@@ -170,17 +170,21 @@ bool MyApp::OnInit()
     {
         wxLogError(wxT("The sample can't run on this system."));
 
     {
         wxLogError(wxT("The sample can't run on this system."));
 
+#if wxUSE_LOG
         wxLog::GetActiveTarget()->Flush();
         wxLog::GetActiveTarget()->Flush();
+#endif // wxUSE_LOG
 
         // do it here, OnExit() won't be called
         delete m_dial;
 
 
         // 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()
 }
 
 int MyApp::OnExit()
@@ -199,7 +203,7 @@ void MyApp::OnConnected(wxDialUpEvent& event)
         msg = event.IsConnectedEvent() ? wxT("Successfully connected")
                                        : wxT("Dialing failed");
 
         msg = event.IsConnectedEvent() ? wxT("Successfully connected")
                                        : wxT("Dialing failed");
 
-        wxLogStatus(wxT(""));
+        wxLogStatus(wxEmptyString);
     }
     else
     {
     }
     else
     {
@@ -216,32 +220,36 @@ void MyApp::OnConnected(wxDialUpEvent& event)
 
 // frame constructor
 MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
 
 // 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;
 
     // 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->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->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->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;
 
     // 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);
 
 
     // ... 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);
     // create status bar and fill the LAN field
     CreateStatusBar(3);
     static const int widths[3] = { -1, 100, 60 };
     SetStatusWidths(3, widths);
+#endif // wxUSE_STATUSBAR
 }
 
 
 }
 
 
@@ -249,15 +257,15 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
 
 void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 {
 
 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( wxT("This is the network functions test sample.\n")
 }
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
     wxString msg;
     msg.Printf( wxT("This is the network functions test sample.\n")
-                wxT("© 1999 Vadim Zeitlin") );
+                wxT("(c) 1999 Vadim Zeitlin") );
 
     wxMessageBox(msg, wxT("About NetTest"), wxOK | wxICON_INFORMATION, this);
 }
 
     wxMessageBox(msg, wxT("About NetTest"), wxOK | wxICON_INFORMATION, this);
 }
@@ -266,7 +274,7 @@ void MyFrame::OnHangUp(wxCommandEvent& WXUNUSED(event))
 {
     if ( wxGetApp().GetDialer()->HangUp() )
     {
 {
     if ( wxGetApp().GetDialer()->HangUp() )
     {
-        wxLogStatus(this, wxT("Connection was succesfully terminated."));
+        wxLogStatus(this, wxT("Connection was successfully terminated."));
     }
     else
     {
     }
     else
     {
@@ -295,9 +303,13 @@ void MyFrame::OnDial(wxCommandEvent& WXUNUSED(event))
 void MyFrame::OnCheck(wxCommandEvent& WXUNUSED(event))
 {
    if(wxGetApp().GetDialer()->IsOnline())
 void MyFrame::OnCheck(wxCommandEvent& WXUNUSED(event))
 {
    if(wxGetApp().GetDialer()->IsOnline())
+   {
       wxLogMessage(wxT("Network is online."));
       wxLogMessage(wxT("Network is online."));
+   }
    else
    else
+   {
       wxLogMessage(wxT("Network is offline."));
       wxLogMessage(wxT("Network is offline."));
+   }
 }
 
 void MyFrame::OnEnumISPs(wxCommandEvent& WXUNUSED(event))
 }
 
 void MyFrame::OnEnumISPs(wxCommandEvent& WXUNUSED(event))
@@ -310,7 +322,7 @@ void MyFrame::OnEnumISPs(wxCommandEvent& WXUNUSED(event))
     }
     else
     {
     }
     else
     {
-        wxString msg = "Known ISPs:\n";
+        wxString msg = wxT("Known ISPs:\n");
         for ( size_t n = 0; n < nCount; n++ )
         {
             msg << names[n] << '\n';
         for ( size_t n = 0; n < nCount; n++ )
         {
             msg << names[n] << '\n';
@@ -328,13 +340,15 @@ void MyFrame::OnUpdateUI(wxUpdateUIEvent& event)
 
 void MyFrame::OnIdle(wxIdleEvent& WXUNUSED(event))
 {
 
 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;
 
 
     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
     }
 }
     }
 }