]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/html/about/about.cpp
added Get/SetItemToolTip() (and implemented them for MSW) to allow setting tooltips...
[wxWidgets.git] / samples / html / about / about.cpp
index 2c60e72580e7c3b60ea297f79cf4214431a03638..0cea47afd6632343c95d6ef80fa69e4ed334335c 100644 (file)
@@ -3,26 +3,23 @@
 // Purpose:     wxHtml testing example
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-    #pragma implementation "test.cpp"
-    #pragma interface "test.cpp"
-#endif
-
 // For compilers that support precompilation, includes "wx/wx.h".
-#include <wx/wxprec.h>
+#include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
     #pragma hdrstop
 #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>
+    #include "wx/wx.h"
 #endif
 
-#include <wx/image.h>
-#include <wx/wxhtml.h>
+#include "wx/image.h"
+#include "wx/imagpng.h"
+#include "wx/wxhtml.h"
+#include "wx/statline.h"
 
 // ----------------------------------------------------------------------------
 // private classes
@@ -54,7 +51,7 @@
       void OnAbout(wxCommandEvent& 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()
    };
 
    Minimal_Forward,
 
     // controls start here (the numbers are, of course, arbitrary)
-   Minimal_Text = 1000,
+   Minimal_Text = 1000
    };
 
 // ----------------------------------------------------------------------------
-// event tables and other macros for wxWindows
+// event tables and other macros for wxWidgets
 // ----------------------------------------------------------------------------
 
-// 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)
@@ -87,7 +84,7 @@
    EVT_MENU(Minimal_About, MyFrame::OnAbout)
    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
    {
     wxImage::AddHandler(new wxPNGHandler);
     // Create the main application window
-      MyFrame *frame = new MyFrame("wxHtmlWindow testing application",
-         wxPoint(50, 50), wxSize(150, 50));
+      MyFrame *frame = new MyFrame(_("wxHtmlWindow testing application"),
+         wxDefaultPosition, wxDefaultSize);
 
     // 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);
+      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
+    // loop and the application will run. If we returned false here, the
     // application would exit immediately.
-      return TRUE;
+      return true;
    }
 
 // ----------------------------------------------------------------------------
 
 // 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)
    {
     // create a menu bar
       wxMenu *menuFile = new wxMenu;
 
-      menuFile->Append(Minimal_About, "&About");
-      menuFile->Append(Minimal_Quit, "E&xit");
+      menuFile->Append(Minimal_About, _("&About"));
+      menuFile->Append(Minimal_Quit, _("E&xit"));
 
     // now append the freshly created menu to the menu bar...
       wxMenuBar *menuBar = new wxMenuBar;
-      menuBar->Append(menuFile, "&File");
+      menuBar->Append(menuFile, _("&File"));
 
     // ... and attach this menu bar to the frame
       SetMenuBar(menuBar);
 
    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))
    {
+        wxBoxSizer *topsizer;
         wxHtmlWindow *html;
-#if __WXMSW__
-        wxDialog dlg(this, -1, "About", wxDefaultPosition, wxSize(400, 250), wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE);
-#else
-        wxDialog dlg(this, -1, "About", wxDefaultPosition, wxSize(400, 230), wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE);
-#endif
+        wxDialog dlg(this, wxID_ANY, wxString(_("About")));
 
-        html = new wxHtmlWindow(&dlg, -1, wxPoint(10, 10), wxSize(380, 160), wxHW_SCROLLBAR_NEVER);
+        topsizer = new wxBoxSizer(wxVERTICAL);
+
+        html = new wxHtmlWindow(&dlg, wxID_ANY, wxDefaultPosition, wxSize(380, 160), wxHW_SCROLLBAR_NEVER);
         html -> SetBorders(0);
-        html -> LoadPage("data/about.htm");
-        wxButton *bu1 = new wxButton(&dlg, wxID_OK, "OK", wxPoint(250, 185), wxSize(100, 30));
-        bu1 -> SetDefault();
-        dlg.ShowModal();
-    }
+        html -> LoadPage(wxT("data/about.htm"));
+        html -> SetSize(html -> GetInternalRepresentation() -> GetWidth(),
+                        html -> GetInternalRepresentation() -> GetHeight());
 
+        topsizer -> Add(html, 1, wxALL, 10);
 
+#if wxUSE_STATLINE
+        topsizer -> Add(new wxStaticLine(&dlg, wxID_ANY), 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
+#endif // wxUSE_STATLINE
 
+        wxButton *bu1 = new wxButton(&dlg, wxID_OK, _("OK"));
+        bu1 -> SetDefault();
 
+        topsizer -> Add(bu1, 0, wxALL | wxALIGN_RIGHT, 15);
 
+        dlg.SetSizer(topsizer);
+        topsizer -> Fit(&dlg);
 
+        dlg.ShowModal();
+    }