The rounded corners look really dumb at this size.
[wxWidgets.git] / samples / html / helpview / helpview.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: helpview.cpp
3 // Purpose: wxHtml sample: help browser
4 // Author: ?
5 // Modified by:
6 // Created: ?
7 // Copyright: (c) wxWidgets team
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 // Please note: see utils/helpview for a more fully-featured
12 // standalone help browser.
13
14 // For compilers that support precompilation, includes "wx/wx.h".
15 #include "wx/wxprec.h"
16
17 #ifdef __BORLANDC__
18 #pragma hdrstop
19 #endif
20
21 // for all others, include the necessary headers (this file is usually all you
22 // need because it includes almost all "standard" wxWidgets headers
23 #ifndef WX_PRECOMP
24 #include "wx/wx.h"
25 #endif
26
27 #include "wx/image.h"
28 #include "wx/wxhtml.h"
29 #include "wx/fs_zip.h"
30 #include "wx/log.h"
31 #include "wx/filedlg.h"
32
33
34 // ----------------------------------------------------------------------------
35 // private classes
36 // ----------------------------------------------------------------------------
37
38 // Define a new application type, each program should derive a class from wxApp
39 class MyApp : public wxApp
40 {
41 public:
42 // override base class virtuals
43 // ----------------------------
44
45 // this one is called on application startup and is a good place for the app
46 // initialization (doing it here and not in the ctor allows to have an error
47 // return: if OnInit() returns false, the application terminates)
48
49 virtual bool OnInit();
50 virtual int OnExit();
51
52 private:
53 wxHtmlHelpController *help;
54 };
55
56
57 IMPLEMENT_APP(MyApp)
58
59
60 bool MyApp::OnInit()
61 {
62 #ifdef __WXMOTIF__
63 delete wxLog::SetActiveTarget(new wxLogStderr); // So dialog boxes aren't used
64 #endif
65
66 wxInitAllImageHandlers();
67 wxFileSystem::AddHandler(new wxZipFSHandler);
68
69 SetVendorName(wxT("wxWidgets"));
70 SetAppName(wxT("wxHTMLHelp"));
71 wxConfig::Get(); // create an instance
72
73 help = new wxHtmlHelpController;
74
75 if (argc < 2) {
76 wxLogError(wxT("Usage : helpview <helpfile> [<more helpfiles>]"));
77 wxLogError(wxT(" helpfile may be .hhp, .zip or .htb"));
78 return false;
79 }
80
81 for (int i = 1; i < argc; i++)
82 help->AddBook(wxFileName(argv[i]));
83
84 #ifdef __WXMOTIF__
85 delete wxLog::SetActiveTarget(new wxLogGui);
86 #endif
87
88 help->SetShouldPreventAppExit(true);
89
90 help -> DisplayContents();
91
92 return true;
93 }
94
95 int MyApp::OnExit()
96 {
97 delete help;
98 delete wxConfig::Set(NULL);
99
100 return 0;
101 }
102