]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/html/printing/printing.cpp
build a 2.9.x windows setup file and chm and htb sets of docs
[wxWidgets.git] / samples / html / printing / printing.cpp
index 6a0b4199326345030a4644f7d502e9339c888fae..bfec54d97f31d099a816d7e4e29a1ebc08a6fe22 100644 (file)
@@ -1,7 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        printimg.cpp
-// Purpose:     wxHtmlEasyPrinting testing example
-// Licence:     wxWindows Licence
+// Name:        printing.cpp
+// Purpose:     wxHtml sample: wxHtmlEasyPrinting test
+// Author:      ?
+// Modified by:
+// Created:     ?
+// RCS-ID:      $Id$
+// Copyright:   (c) wxWidgets team
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 #include "wx/html/htmlwin.h"
 #include "wx/html/htmprint.h"
 
+#ifndef __WXMSW__
+    #include "../../sample.xpm"
+#endif
+
 
 // ----------------------------------------------------------------------------
 // private classes
 // Define a new application type, each program should derive a class from wxApp
 class MyApp : public wxApp
 {
-    public:
-        // override base class virtuals
-        // ----------------------------
+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)
+    // 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:
-        // ctor and dtor
-
-        MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
-        virtual ~MyFrame();
-
-        // event handlers (these functions should _not_ be virtual)
-        void OnQuit(wxCommandEvent& event);
-        void OnAbout(wxCommandEvent& event);
-
-        void OnPrintSetup(wxCommandEvent& event);
-        void OnPageSetup(wxCommandEvent& event);
-        void OnPrint(wxCommandEvent& event);
-        void OnPreview(wxCommandEvent& event);
-        void OnOpen(wxCommandEvent& event);
-        
-        void OnPrintSmall(wxCommandEvent& event);
-        void OnPrintNormal(wxCommandEvent& event);
-        void OnPrintHuge(wxCommandEvent& event);
-
-
-    private:
-        wxHtmlWindow *m_Html;
-        wxHtmlEasyPrinting *m_Prn;
-        wxString m_Name;
-        // any class wishing to process wxWidgets events must use this macro
-        DECLARE_EVENT_TABLE()
+public:
+    // ctor and dtor
+
+    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
+    virtual ~MyFrame();
+
+    // event handlers (these functions should _not_ be virtual)
+    void OnQuit(wxCommandEvent& event);
+    void OnAbout(wxCommandEvent& event);
+
+    void OnPageSetup(wxCommandEvent& event);
+    void OnPrint(wxCommandEvent& event);
+    void OnPreview(wxCommandEvent& event);
+    void OnOpen(wxCommandEvent& event);
+
+    void OnPrintSmall(wxCommandEvent& event);
+    void OnPrintNormal(wxCommandEvent& event);
+    void OnPrintHuge(wxCommandEvent& event);
+
+
+private:
+    wxHtmlWindow *m_Html;
+    wxHtmlEasyPrinting *m_Prn;
+    wxString m_Name;
+
+    // any class wishing to process wxWidgets events must use this macro
+    DECLARE_EVENT_TABLE()
 };
 
 // ----------------------------------------------------------------------------
@@ -85,7 +94,6 @@ enum
     Minimal_Print,
     Minimal_Preview,
     Minimal_PageSetup,
-    Minimal_PrintSetup,
     Minimal_Open,
     Minimal_PrintSmall,
     Minimal_PrintNormal,
@@ -106,7 +114,6 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(Minimal_Print, MyFrame::OnPrint)
     EVT_MENU(Minimal_Preview, MyFrame::OnPreview)
     EVT_MENU(Minimal_PageSetup, MyFrame::OnPageSetup)
-    EVT_MENU(Minimal_PrintSetup, MyFrame::OnPrintSetup)
     EVT_MENU(Minimal_Open, MyFrame::OnOpen)
     EVT_MENU(Minimal_PrintSmall, MyFrame::OnPrintSmall)
     EVT_MENU(Minimal_PrintNormal, MyFrame::OnPrintNormal)
@@ -128,8 +135,12 @@ IMPLEMENT_APP(MyApp)
 // the application class
 // ----------------------------------------------------------------------------
 // `Main program' equivalent: the program execution "starts" here
+
 bool MyApp::OnInit()
 {
+    if ( !wxApp::OnInit() )
+        return false;
+
 #if wxUSE_LIBPNG
     wxImage::AddHandler(new wxPNGHandler);
 #endif
@@ -164,12 +175,13 @@ bool MyApp::OnInit()
 MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
         : wxFrame((wxFrame *)NULL, wxID_ANY, title, pos, size)
 {
+    SetIcon(wxICON(sample));
+
     // create a menu bar
     wxMenu *menuFile = new wxMenu;
     menuFile->Append(Minimal_Open, _("Open...\tCtrl-O"));
     menuFile->AppendSeparator();
     menuFile->Append(Minimal_PageSetup, _("Page Setup"));
-    menuFile->Append(Minimal_PrintSetup, _("Printer Setup"));
     menuFile->Append(Minimal_Print, _("Print..."));
     menuFile->Append(Minimal_Preview, _("Preview..."));
     menuFile->AppendSeparator();
@@ -181,7 +193,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
     testFile->Append(Minimal_PrintSmall, _("Small Printer Fonts"));
     testFile->Append(Minimal_PrintNormal, _("Normal Printer Fonts"));
     testFile->Append(Minimal_PrintHuge, _("Huge Printer Fonts"));
-    
+
     // now append the freshly created menu to the menu bar...
     wxMenuBar *menuBar = new wxMenuBar;
     menuBar->Append(menuFile, _("&File"));
@@ -201,7 +213,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
 #endif // wxUSE_STATUSBAR
     m_Name = wxT("test.htm");
     m_Html -> LoadPage(m_Name);
-    
+
     m_Prn = new wxHtmlEasyPrinting(_("Easy Printing Demo"), this);
     m_Prn -> SetHeader(m_Name + wxT("(@PAGENUM@/@PAGESCNT@)<hr>"), wxPAGE_ALL);
 
@@ -233,12 +245,6 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 }
 
 
-void MyFrame::OnPrintSetup(wxCommandEvent& WXUNUSED(event))
-{
-    m_Prn -> PrinterSetup();
-}
-
-
 void MyFrame::OnPageSetup(wxCommandEvent& WXUNUSED(event))
 {
     m_Prn -> PageSetup();
@@ -266,23 +272,21 @@ void MyFrame::OnOpen(wxCommandEvent& WXUNUSED(event))
         m_Name = dialog.GetPath();
         m_Html -> LoadPage(m_Name);
         m_Prn -> SetHeader(m_Name + wxT("(@PAGENUM@/@PAGESCNT@)<hr>"), wxPAGE_ALL);
-    } 
+    }
 }
 
 
 void MyFrame::OnPrintSmall(wxCommandEvent& WXUNUSED(event))
 {
-    int fontsizes[] = { 4, 6, 8, 10, 12, 20, 24 }; 
-    m_Prn->SetFonts(wxEmptyString, wxEmptyString, fontsizes);
+    m_Prn->SetStandardFonts(8);
 }
 
 void MyFrame::OnPrintNormal(wxCommandEvent& WXUNUSED(event))
 {
-    m_Prn->SetFonts(wxEmptyString, wxEmptyString, 0);
+    m_Prn->SetStandardFonts(12);
 }
 
 void MyFrame::OnPrintHuge(wxCommandEvent& WXUNUSED(event))
 {
-    int fontsizes[] = { 20, 26, 28, 30, 32, 40, 44 }; 
-    m_Prn->SetFonts(wxEmptyString, wxEmptyString, fontsizes);
+    m_Prn->SetStandardFonts(28);
 }