def OnKeyPress(self, evt): key_code = evt.GetKeyCode() if key_code == wx.WXK_DELETE or key_code == wx.WXK_NUMPAD_DELETE: for selected_item in self.selected_items: if selected_item != self.tree.GetRootItem(): text_item = self.tree.GetItemText(selected_item) index = bpr.BitmapData().GetIndexByPath(text_item) bpr.BitmapData().RemoveFileByPath(text_item) data_size = len(bpr.BitmapData().GetData()) if index >= 0 and index < data_size: Publisher.sendMessage('Set bitmap in preview panel', index) elif index == data_size and data_size > 0: Publisher.sendMessage('Set bitmap in preview panel', index - 1) elif data_size == 1: Publisher.sendMessage('Set bitmap in preview panel', 0) else: Publisher.sendMessage( 'Show black slice in single preview image') self.tree.Delete(selected_item) self.tree.Update() self.tree.Refresh() Publisher.sendMessage('Remove preview panel', text_item) evt.Skip()
def OnSelChanged(self, evt): self.selected_items = self.tree.GetSelections() item = self.selected_items[-1] if self._selected_by_user: text_item = self.tree.GetItemText(item) index = bpr.BitmapData().GetIndexByPath(text_item) Publisher.sendMessage('Set bitmap in preview panel', pos=index) evt.Skip()
def OnOpenBitmapFiles(self, rec_data): bmp_data = bmp.BitmapData() if bmp_data.IsAllBitmapSameSize(): matrix, matrix_filename = self.OpenBitmapFiles(bmp_data, rec_data) self.CreateBitmapProject(bmp_data, rec_data, matrix, matrix_filename) self.LoadProject() Publisher.sendMessage("Enable state project", state=True) else: dialogs.BitmapNotSameSize()
def SetBitmapFiles(self, data): self.files = [] bitmap = bitmap_reader.BitmapData() bitmap.SetData(data) pos = 0 for d in data: d.append(pos) info = BitmapInfo(d) self.files.append(info) pos += 1 scroll_range = len(self.files) / NCOLS if scroll_range * NCOLS < len(self.files): scroll_range += 1 self.scroll.SetScrollbar(0, NROWS, scroll_range, NCOLS) self._display_previews()