MainWindow.cpp
author viric@mandarina
Wed, 02 Apr 2008 21:47:47 +0200
changeset 0 97dd4d2c08b6
child 1 5b075fa903ae
permissions -rw-r--r--
Initial base with a PageList widget.
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)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     6
    EVT_MENU(wxID_OPEN, MainWindow::on_open)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     7
    EVT_MENU(wxID_CLOSE, MainWindow::on_quit)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     8
END_EVENT_TABLE()
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     9
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    10
MainWindow::MainWindow()
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    11
    :wxFrame(0, wxID_ANY, _("wxDjvuMaker"), wxDefaultPosition,
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    12
            wxSize(200,200))
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    13
{
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    14
    create_menus();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    15
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    16
    wxBoxSizer *s = new wxBoxSizer(wxVERTICAL);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    17
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    18
    _pagelist = new PageList(this);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    19
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    20
    s->Add(_pagelist);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    21
}
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
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    25
MainWindow::create_menus()
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    26
{
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    27
    _menubar = new wxMenuBar();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    28
    _menufile = new wxMenu();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    29
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    30
    _menufile->Append(wxID_OPEN, _("&Open"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    31
    _menufile->Append(wxID_CLOSE, _("&Quit"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    32
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    33
    _menubar->Append(_menufile, _("&File"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    34
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    35
    SetMenuBar(_menubar);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    36
}
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    37
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    38
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    39
MainWindow::on_open(wxCommandEvent &event)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    40
{
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    41
    wxFileDialog fd(this, _("Add pages"), wxT(""),
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    42
            wxT(""), wxT("*.jpg"), wxFD_OPEN | wxFD_MULTIPLE | wxFD_FILE_MUST_EXIST
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    43
            | wxFD_PREVIEW);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    44
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    45
    if (fd.ShowModal() == wxID_OK)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    46
    {
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    47
        wxArrayString files;
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    48
        fd.GetFilenames(files);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    49
        _pagelist->add_files(files);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    50
    }
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
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    53
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    54
MainWindow::on_quit(wxCommandEvent &event)
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
    Close();
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    57
}