PageList.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
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(PageList, wxListCtrl)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     6
    EVT_CONTEXT_MENU(PageList::on_context_menu)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     7
END_EVENT_TABLE()
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
     8
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
PageList::PageList(wxWindow *parent)
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    11
    :wxListCtrl(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize,
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    12
            wxLC_REPORT)
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
    InsertColumn(0, _("File"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    15
    InsertColumn(1, _("Crop area"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    16
    InsertColumn(2, _("Binarizer"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    17
    InsertColumn(3, _("Packing"));
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
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    20
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    21
PageList::add_files(const wxArrayString &filenames)
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
    for(unsigned int i=0; i < filenames.GetCount(); ++i)
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
        wxListItem item;
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    26
        item.SetText(filenames[i]);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    27
        item.SetColumn(0);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    28
        long pos = InsertItem(item);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    29
        /* Test */
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    30
        SetItem(pos, 1, wxT("test"));
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    31
    }
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    32
    SetColumnWidth(0, wxLIST_AUTOSIZE);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    33
}
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
void
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    36
PageList::on_context_menu(wxContextMenuEvent &event)
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
    wxString title;
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
    /* Try to guess what we should apply actions to. */
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    41
    if (GetSelectedItemCount() == 0)
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
        return;
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
    else if (GetSelectedItemCount() == 1)
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
        title = GetItemText(GetNextItem(-1, wxLIST_NEXT_ALL,
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    48
                    wxLIST_STATE_SELECTED));
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
    else
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
        title = _("Selection");
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    53
    }
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    54
    wxMenu *menu = new wxMenu(title);
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
    menu->Append(wxID_CLOSE, wxT("Hello"));
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
    PopupMenu(menu);
97dd4d2c08b6 Initial base with a PageList widget.
viric@mandarina
parents:
diff changeset
    59
}
1
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    60
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    61
void
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    62
PageList::generate(const wxString &outputfile)
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
    wxMessageDialog w(this, outputfile);
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    65
    w.ShowModal();
5b075fa903ae Adding a Generate menu item.
viric@mandarina
parents: 0
diff changeset
    66
}