Initial base with a PageList widget.
#include <wx/wx.h>
#include "MainWindow.hpp"
#include "PageList.hpp"
BEGIN_EVENT_TABLE(MainWindow, wxFrame)
EVT_MENU(wxID_OPEN, MainWindow::on_open)
EVT_MENU(wxID_CLOSE, MainWindow::on_quit)
END_EVENT_TABLE()
MainWindow::MainWindow()
:wxFrame(0, wxID_ANY, _("wxDjvuMaker"), wxDefaultPosition,
wxSize(200,200))
{
create_menus();
wxBoxSizer *s = new wxBoxSizer(wxVERTICAL);
_pagelist = new PageList(this);
s->Add(_pagelist);
}
void
MainWindow::create_menus()
{
_menubar = new wxMenuBar();
_menufile = new wxMenu();
_menufile->Append(wxID_OPEN, _("&Open"));
_menufile->Append(wxID_CLOSE, _("&Quit"));
_menubar->Append(_menufile, _("&File"));
SetMenuBar(_menubar);
}
void
MainWindow::on_open(wxCommandEvent &event)
{
wxFileDialog fd(this, _("Add pages"), wxT(""),
wxT(""), wxT("*.jpg"), wxFD_OPEN | wxFD_MULTIPLE | wxFD_FILE_MUST_EXIST
| wxFD_PREVIEW);
if (fd.ShowModal() == wxID_OK)
{
wxArrayString files;
fd.GetFilenames(files);
_pagelist->add_files(files);
}
}
void
MainWindow::on_quit(wxCommandEvent &event)
{
Close();
}