| 261 | END_EVENT_TABLE() |
| 262 | |
| 263 | HelpPanel::HelpPanel(MyFrame* parent, wxWindowID id) |
| 264 | : wxPanel(parent,id), frame(parent) |
| 265 | { |
| 266 | html = new HtmlView(this, frame, wxID_ANY); |
| 267 | |
| 268 | html->SetFontSizes(helpfontsize); |
| 269 | |
| 270 | wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL); |
| 271 | wxBoxSizer* hbox = new wxBoxSizer(wxHORIZONTAL); |
| 272 | |
| 273 | // add buttons at top of html window |
| 274 | backbutt = new wxButton(this, ID::BackButton, _("<"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); |
| 275 | forwbutt = new wxButton(this, ID::ForwardButton, _(">"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); |
| 276 | contbutt = new wxButton(this, ID::ContentsButton, _("Contents")); |
| 277 | smallerbutt = new wxButton(this, ID::SmallerButton, _("-"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); |
| 278 | biggerbutt = new wxButton(this, ID::BiggerButton, _("+"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); |
| 279 | |
| 280 | #ifdef __WXMAC__ |
| 281 | // nicer to use smaller buttons -- also do for Win/Linux??? |
| 282 | backbutt->SetWindowVariant(wxWINDOW_VARIANT_SMALL); |
| 283 | forwbutt->SetWindowVariant(wxWINDOW_VARIANT_SMALL); |
| 284 | contbutt->SetWindowVariant(wxWINDOW_VARIANT_SMALL); |
| 285 | smallerbutt->SetWindowVariant(wxWINDOW_VARIANT_SMALL); |
| 286 | biggerbutt->SetWindowVariant(wxWINDOW_VARIANT_SMALL); |
| 287 | #endif |
| 288 | |
| 289 | hbox->Add(backbutt, 0, wxLEFT | wxTOP | wxBOTTOM | wxALIGN_LEFT, 10); |
| 290 | hbox->Add(forwbutt, 0, wxTOP | wxBOTTOM | wxALIGN_LEFT, 10); |
| 291 | hbox->Add(contbutt, 0, wxLEFT | wxTOP | wxBOTTOM | wxALIGN_LEFT, 10); |
| 292 | hbox->Add(smallerbutt, 0, wxLEFT | wxTOP | wxBOTTOM | wxALIGN_LEFT, 10); |
| 293 | hbox->Add(biggerbutt, 0, wxRIGHT | wxTOP | wxBOTTOM | wxALIGN_LEFT, 10); |
| 294 | |
| 295 | status = new wxStaticText(this, wxID_STATIC, wxEmptyString); |
| 296 | #ifdef __WXMAC__ |
| 297 | status->SetWindowVariant(wxWINDOW_VARIANT_SMALL); |
| 298 | #endif |
| 299 | wxBoxSizer* statbox = new wxBoxSizer(wxHORIZONTAL); |
| 300 | statbox->Add(status); |
| 301 | hbox->Add(statbox, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, 10); |
| 302 | |
| 303 | hbox->AddStretchSpacer(1); |
| 304 | vbox->Add(hbox, 0, wxALL | wxEXPAND | wxALIGN_TOP, 0); |
| 305 | vbox->Add(html, 1, wxEXPAND | wxALIGN_TOP, 0); |
| 306 | SetSizer(vbox); |
| 307 | |
| 308 | // prevent HtmlView::OnSize calling LoadPage twice |
| 309 | html->canreload = false; |
| 310 | ShowHelp(helphome); |
| 311 | html->canreload = true; |
| 312 | |
| 313 | // install event handlers to detect keyboard shortcuts when html window has focus |
| 314 | html->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MyFrame::OnKeyDown), NULL, frame); |
| 315 | html->Connect(wxEVT_CHAR, wxKeyEventHandler(MyFrame::OnChar), NULL, frame); |
| 316 | } |
| 317 | |
| 318 | // ----------------------------------------------------------------------------- |
| 319 |
nothing calls this directly
no test coverage detected