Example #1
0
    def __init__(
        self, title, selections, prompt, single_select=0, parent=None, pre_lb_cb=None, post_lb_cb=None, ac_cb=None
    ):
        self.choices = []
        wrestlerData = {}
        for i in range(1, len(selections) + 1):
            wrestlerData[i] = selections[i - 1]

        wxDialog.__init__(self, parent, -1, title, pos=wxDefaultPosition)
        dlgSzr = wxBoxSizer(wxVERTICAL)
        dlgSzr.Add(wxStaticText(self, -1, prompt), 0, wxALIGN_CENTER | wxEXPAND | wxALL, border=10)

        if pre_lb_cb:
            # Allow a widget to be inserted before the listbox
            dlgSzr.Add(pre_lb_cb(self), 0, wxALIGN_CENTER)

        styleopts = wxLC_REPORT | wxSUNKEN_BORDER | wxLC_VRULES
        if single_select:
            styleopts = styleopts | wxLC_SINGLE_SEL
        self.listCtrl = JowstListCtrl(self, -1, size=(300, 300), style=styleopts)
        self.listCtrl.parent = self
        self.populateListCtrl(wrestlerData)
        self.itemDataMap = wrestlerData
        wxColumnSorterMixin.__init__(self, 2)
        self.SortListItems(0, True)
        if ac_cb:
            self.ac_cb = ac_cb
            EVT_LEFT_DCLICK(self.listCtrl, self._showActionCard)
        dlgSzr.Add(self.listCtrl, 0, wxALIGN_CENTER | wxEXPAND | wxALL, border=10)

        if post_lb_cb:
            # Allow a widget to be inserted after the listbox
            dlgSzr.Add(post_lb_cb(self), 0, wxALIGN_CENTER)

        buttSzr = wxBoxSizer(wxHORIZONTAL)
        buttSzr.Add(wxButton(self, wxID_OK, "OK"), 0, wxEXPAND)
        buttSzr.Add((10, 0))
        buttSzr.Add(wxButton(self, wxID_CANCEL, "Cancel"), 0, wxEXPAND)
        dlgSzr.Add(buttSzr, 0, wxALIGN_CENTER | wxALL, border=5)

        EVT_LIST_ITEM_SELECTED(self, self.listCtrl.GetId(), self.OnItemSelected)
        EVT_LIST_ITEM_DESELECTED(self, self.listCtrl.GetId(), self.OnItemDeselected)
        dlgSzr.Fit(self)
        self.SetSizer(dlgSzr)
        self.SetAutoLayout(1)
        self.Layout()
        self.Center()
            self.list.SetStringItem(i, 8, "%s" % (data[8]))
            self.list.SetStringItem(i, 9, "%s" % (data[9]))
            self.list.SetStringItem(i, 10, "%s" % (data[10]))
            self.list.SetStringItem(i, 11, "%s" % (data[12]))

            self.list.SetItemData(x, key)

            i = i + 1

        self.list.SetColumnWidth(0, 200)
        self.list.SetColumnWidth(1, 100)
        self.list.SetColumnWidth(2, 40)
        self.list.SetColumnWidth(5, 45)
        self.list.SetColumnWidth(8, 50)

        wxColumnSorterMixin.__init__(self, 9)
        self.SortListItems(0, True)
        EVT_LIST_ITEM_ACTIVATED(self, self.list.GetId(), self.onSelectItem)

    def getColumnText(self, index, col):
        item = self.list.GetItem(index, col)
        return item.GetText()

    def removeItem(self, index):
        self.lastSearchModified = True
        self.list.DeleteItem(index)
        return true

    def onSelectItem(self, event):
        currentItem = event.m_itemIndex
        m_item = inventoried_merchandise(self.getColumnText(currentItem, 10))
Example #3
0
class BrowseInventoryPopup(wxDialog, wxColumnSorterMixin):
    def GetListCtrl(self):
        return self.list

    def __init__(self, parent, queryTerms):
        self.parent = parent
        self.queryTerms = queryTerms
        wxDialog.__init__(self, parent, -1, "Inventory Browser")

        self.SetSize((800, 600))
        tID = wxNewId()
        self.list = InventoryListCtrl(
            self,
            tID,
            style=wxLC_REPORT | wxSUNKEN_BORDER
            | wxLC_EDIT_LABELS
            #| wxLC_NO_HEADER
            #| wxLC_VRULES | wxLC_HRULES
        )
        self.list.InsertColumn(0, "Title")
        self.list.InsertColumn(1, "Author")
        self.list.InsertColumn(2, "Price")
        self.list.InsertColumn(3, "Publisher")
        self.list.InsertColumn(4, "Status")
        self.list.InsertColumn(5, "ISBN")
        self.list.InsertColumn(6, "Distributor")
        self.list.InsertColumn(7, "Notes")
        self.list.InsertColumn(8, "ID")
        self.list.InsertColumn(9, "Kind")

        inv = self.parent.inventory.getInventory(self.queryTerms)
        self.itemDataMap = inv
        i = 0

        items = inv.items()
        for x in range(len(items)):
            key, data = items[x]
            data_3 = data[3]
            if not (type(data_3) in types.StringTypes):
                data_3 = data_3.tostring()

            data_6 = data[6]
            if not (type(data_6) in types.StringTypes):
                try:
                    data_6 = data_6.tostring()
                except AttributeError, TypeError:
                    data_6 = ""

            self.list.InsertStringItem(i, data[0])
            self.list.SetStringItem(i, 1, data[1])
            self.list.SetStringItem(i, 2, str(data[2]))
            self.list.SetStringItem(i, 3, data_3)
            self.list.SetStringItem(i, 4, data[4])
            self.list.SetStringItem(i, 5, data[5])
            self.list.SetStringItem(i, 6, data[6])
            self.list.SetStringItem(i, 7, "%s" % (data[7]))
            self.list.SetStringItem(i, 8, "%s" % (data[8]))
            self.list.SetStringItem(i, 9, "%s" % (data[9]))
            self.list.SetItemData(x, key)

            i = i + 1

        self.list.SetColumnWidth(0, 200)
        self.list.SetColumnWidth(1, 100)
        self.list.SetColumnWidth(2, 40)
        self.list.SetColumnWidth(5, 35)
        self.list.SetColumnWidth(8, 50)

        wxColumnSorterMixin.__init__(self, 9)
        self.SortListItems(0, True)
        EVT_LIST_ITEM_ACTIVATED(self, self.list.GetId(), self.onSelectItem)
            self.list.SetStringItem(i,5,data[5])
            self.list.SetStringItem(i,6,data[6])
            self.list.SetStringItem(i,7,"%s" % (data[7]))
            self.list.SetStringItem(i,8,"%s" % (data[8]))
            self.list.SetStringItem(i,9,"%s" % (data[9]))
            self.list.SetItemData(x,key)
                 
            i=i+1
            
        self.list.SetColumnWidth(0, 200)
        self.list.SetColumnWidth(1, 100)
        self.list.SetColumnWidth(2, 40)
        self.list.SetColumnWidth(5, 35)
        self.list.SetColumnWidth(8, 50)

        wxColumnSorterMixin.__init__(self, 9)
        self.SortListItems(0, True)
        EVT_LIST_ITEM_ACTIVATED(self,self.list.GetId(), self.onSelectItem)

    def getColumnText(self, index, col):
        item = self.list.GetItem(index, col)
        return item.GetText()
    
    def removeItem(self,index):
        self.lastSearchModified = True
        self.list.DeleteItem(index)
        return true

    def onSelectItem(self,event):
        currentItem = event.m_itemIndex
        m_item=inventoried_merchandise(self.getColumnText(currentItem, 9))