MainWindow.cpp
author viric@mandarina
Thu, 03 Apr 2008 00:16:12 +0200
changeset 1 5b075fa903ae
parent 0 97dd4d2c08b6
permissions -rw-r--r--
Adding a Generate menu item.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     1
#include <wx/wx.h>
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     2
#include "MainWindow.hpp"
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     3
#include "PageList.hpp"
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     4
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     5
BEGIN_EVENT_TABLE(MainWindow, wxFrame)
1
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
     6
    EVT_MENU(ID_MENU_GENERATE, MainWindow::on_generate)
0
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     7
    EVT_MENU(wxID_OPEN, MainWindow::on_open)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     8
    EVT_MENU(wxID_CLOSE, MainWindow::on_quit)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     9
END_EVENT_TABLE()
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    10
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    11
MainWindow::MainWindow()
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    12
    :wxFrame(0, wxID_ANY, _("wxDjvuMaker"), wxDefaultPosition,
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    13
            wxSize(200,200))
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    14
{
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    15
    create_menus();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    16
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    17
    wxBoxSizer *s = new wxBoxSizer(wxVERTICAL);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    18
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    19
    _pagelist = new PageList(this);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    20
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    21
    s->Add(_pagelist);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    22
}
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    23
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    24
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    25
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    26
MainWindow::create_menus()
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    27
{
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    28
    _menubar = new wxMenuBar();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    29
    _menufile = new wxMenu();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    30
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    31
    _menufile->Append(wxID_OPEN, _("&Open"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    32
    _menufile->Append(wxID_CLOSE, _("&Quit"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    33
1
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    34
    wxMenu *menuplay = new wxMenu();
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    35
    menuplay->Append(ID_MENU_GENERATE, _("&Generate"));
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    36
0
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    37
    _menubar->Append(_menufile, _("&File"));
1
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    38
    _menubar->Append(menuplay, _("&Document"));
0
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    39
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    40
    SetMenuBar(_menubar);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    41
}
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    42
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    43
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    44
MainWindow::on_open(wxCommandEvent &event)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    45
{
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    46
    wxFileDialog fd(this, _("Add pages"), wxT(""),
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    47
            wxT(""), wxT("*.jpg"), wxFD_OPEN | wxFD_MULTIPLE | wxFD_FILE_MUST_EXIST
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    48
            | wxFD_PREVIEW);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    49
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    50
    if (fd.ShowModal() == wxID_OK)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    51
    {
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    52
        wxArrayString files;
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    53
        fd.GetFilenames(files);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    54
        _pagelist->add_files(files);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    55
    }
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    56
}
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    57
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    58
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    59
MainWindow::on_quit(wxCommandEvent &event)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    60
{
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    61
    Close();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    62
}
1
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    63
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    64
void
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    65
MainWindow::on_generate(wxCommandEvent &event)
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    66
{
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    67
    _pagelist->generate(wxT("out.djvu"));
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    68
}