Ejemplo n.º 1
0
    def __init__(self, parent, evtsrc):
        self.evtsrc = evtsrc
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
        self.InsertColumn(0, 'Level')
        self.InsertColumn(1, 'Time', wx.LIST_FORMAT_RIGHT)
        self.InsertColumn(2, 'Message')

        self.levels = ['ERROR', 'WARNING', 'INFO']
        self.status = None

        self.imagelist = wx.ImageList(16, 16)
        self.imagelist.AddWithColourMask(wx.EmptyBitmap(16, 16), wx.BLACK)
        self.icons = {}
        for i in self.levels:
            image = wx.Image(icons.getPath('%s.png' % i.lower()))
            bitmap = wx.BitmapFromImage(image)
            self.icons[i] = self.imagelist.Add(bitmap)
        self.SetImageList(self.imagelist, wx.IMAGE_LIST_SMALL)

        self.data = 0
        self.itemDataMap = {}
        ColumnSorterMixin.__init__(self, 3)

        self.Bind(wx.EVT_CHAR, self.onChar)
        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onListItemActivated)
        self.Bind(EVT_ADD_MESSAGE, self.onAddMessage)
Ejemplo n.º 2
0
  def __init__(self, parent, ID, n_cols=3, pos=wx.DefaultPosition,
               size=wx.DefaultSize, style=0):
    ulc.UltimateListCtrl.__init__(self, parent, ID, pos, size, agwStyle=style)
    ListCtrlAutoWidthMixin.__init__(self)
    ColumnSorterMixin.__init__(self, n_cols)

    self.data = {}
Ejemplo n.º 3
0
	def __init__(self, parent, evtsrc):
		self.evtsrc = evtsrc
		wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
		self.InsertColumn(0, 'Level')
		self.InsertColumn(1, 'Time', wx.LIST_FORMAT_RIGHT)
		self.InsertColumn(2, 'Message')

		self.levels = ['ERROR', 'WARNING', 'INFO']
		self.status = None

		self.imagelist = wx.ImageList(16, 16)
		self.imagelist.AddWithColourMask(wx.EmptyBitmap(16, 16), wx.BLACK)
		self.icons = {}
		for i in self.levels:
			image = wx.Image(icons.getPath('%s.png' % i.lower()))
			bitmap = wx.BitmapFromImage(image)
			self.icons[i] = self.imagelist.Add(bitmap)
		self.SetImageList(self.imagelist, wx.IMAGE_LIST_SMALL)

		self.data = 0
		self.itemDataMap = {}
		ColumnSorterMixin.__init__(self, 3)

		self.Bind(wx.EVT_CHAR, self.onChar)
		self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onListItemActivated)
		self.Bind(EVT_ADD_MESSAGE, self.onAddMessage)
Ejemplo n.º 4
0
    def __init__(self, parent, id):
        wx.ListCtrl.__init__(self, parent, id, style=wx.LC_REPORT)
        ListCtrlAutoWidthMixin.__init__(self)
        ColumnSorterMixin.__init__(self, 6)
        self.itemDataMap = {}
        self.select = 0

        self.mark_green_id = wx.NewId()
        self.mark_red_id = wx.NewId()
        self.open_file_id = wx.NewId()
        self.open_dir_id = wx.NewId()
        self.clear_id = wx.NewId()
        self.copy_id = wx.NewId()
        self.move_id = wx.NewId()
        self.amazon_id = wx.NewId()
        self.douban_id = wx.NewId()

        self.InsertColumn(0, "Name", width=440)
        self.InsertColumn(1, "Size", format=wx.LIST_FORMAT_RIGHT, width=100)
        self.InsertColumn(2,
                          "Date Modified",
                          format=wx.LIST_FORMAT_RIGHT,
                          width=210)
        self.InsertColumn(3, "Directory", width=400)

        self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.onItemSelected)
        self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.onItemDeselected)
        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onOpenItem)
Ejemplo n.º 5
0
    def __init__(self, parent, data):
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)

        # the column sorter accepts one argument: number of columns to be sorted
        ColumnSorterMixin.__init__(self, len(data))
        # the data must be a dictionary
        self.itemDataMap = data
Ejemplo n.º 6
0
	def __init__(self, parent, id):
		wx.ListCtrl.__init__(self, parent, id, style=wx.LC_REPORT)
		ListCtrlAutoWidthMixin.__init__(self)
		ColumnSorterMixin.__init__(self, 6)
		self.itemDataMap = {}
		self.select = 0

		self.mark_green_id = wx.NewId()
		self.mark_red_id = wx.NewId()
		self.open_file_id = wx.NewId()
		self.open_dir_id = wx.NewId()
		self.clear_id = wx.NewId()
		self.copy_id = wx.NewId()
		self.move_id = wx.NewId()
		self.amazon_id = wx.NewId()
		self.douban_id = wx.NewId()

		self.InsertColumn(0, "Name", width=440)
		self.InsertColumn(1, "Size", format=wx.LIST_FORMAT_RIGHT, width=100)
		self.InsertColumn(2, "Date Modified", format=wx.LIST_FORMAT_RIGHT, width=210)
		self.InsertColumn(3, "Directory", width=400)

		self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.onItemSelected)
		self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.onItemDeselected)
		self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onOpenItem)
Ejemplo n.º 7
0
    def createWidgets(self):
        self.listCtrl = wxskinListCtrl(self,
                                       ID_LISTCTRL,
                                       style=wx.LC_REPORT | wx.SUNKEN_BORDER
                                       | wx.LC_SINGLE_SEL | wx.LC_VRULES
                                       | wx.LC_HRULES)
        self.listCtrl.InsertColumn(0, "Name")
        self.listCtrl.InsertColumn(1, "Number")

        ColumnSorterMixin.__init__(self, 2)

        self.currentItem = 0

        wx.EVT_SIZE(self, self.OnSize)
        wx.EVT_LIST_ITEM_SELECTED(self, ID_LISTCTRL, self.OnItemSelected)
        wx.EVT_LIST_ITEM_ACTIVATED(self, ID_LISTCTRL, self.OnItemActivated)
        wx.EVT_CLOSE(self, self.closeWindow)

        wx.EVT_LEFT_DCLICK(self.listCtrl, self.OnPopupEdit)
        wx.EVT_RIGHT_DOWN(self.listCtrl, self.OnRightDown)

        # for wxMSW and wxGTK respectively
        wx.EVT_COMMAND_RIGHT_CLICK(self.listCtrl, ID_LISTCTRL,
                                   self.OnRightClick)
        wx.EVT_RIGHT_UP(self.listCtrl, self.OnRightClick)
Ejemplo n.º 8
0
 def __init__(self, parent, data):
     wx.ListCtrl.__init__(self,
                          parent,
                          style=wx.LC_REPORT | wx.LC_AUTOARRANGE
                          | wx.LC_SORT_ASCENDING)
     ColumnSorterMixin.__init__(self, len(data))
     self.itemDataMap = data
Ejemplo n.º 9
0
    def __init__(self, parent, id, title):  #This will initiate with an id and a title
        wx.Frame.__init__(self, parent, id, title, size=(550, 300))

        hbox = wx.BoxSizer(wx.HORIZONTAL)  #These are layout items
        panel = wx.Panel(self, -1)  #These are layout items

        self.FileList = MyListCtrl(panel)  #This builds the list control box
        self.FileList.InsertColumn(0,'Filename',width=140)  #Here we build the columns
        self.FileList.InsertColumn(1,'Date Created',width=140)
        self.FileList.InsertColumn(2,'Date Modified',width=140)
        self.FileList.InsertColumn(3,'Size',wx.LIST_FORMAT_RIGHT, width=40)
        
        ColumnSorterMixin.__init__(self, 4)
        # data map used by sorting, needs to get update on drop
        self.itemDataMap = {}

        # up down images stuff
        self.il = wx.ImageList(16, 16)
        self.idx1 = self.il.Add(images.Smiles.GetBitmap())
        self.sm_up = self.il.Add(images.SmallUpArrow.GetBitmap())
        self.sm_dn = self.il.Add(images.SmallDnArrow.GetBitmap())
        self.FileList.SetImageList(self.il, wx.IMAGE_LIST_SMALL)

        DropTarget = FileDrop(self.FileList)  #Establish the listctrl as a drop target
        self.FileList.SetDropTarget(DropTarget)  #Make drop target.

        hbox.Add(self.FileList, 1, wx.EXPAND)
        panel.SetSizer(hbox)
        self.Show(True)
 def itemDataMap(self, value):
     if self._itemDataMap == {}:
         self._itemDataMap = value
         ColumnSorterMixin.__init__(self, 6)
         self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick, self.expr_list)
     else:
         self._itemDataMap = value
Ejemplo n.º 11
0
    def __init__(self, parent, conn, cur):
        wx.Frame.__init__(self, parent, -1, "MDB")
        self.set_icon()
        self.conn = conn
        self.cur = cur
        self.db_thread = None
        self.upd_thread = None

        self.Bind(wx_signal.EVT_FILE_DONE, self.on_file_done)
        self.Bind(wx_signal.EVT_SHOW_MSG, self.on_show_msg)
        self.Bind(wx.EVT_CLOSE, self.on_close)
        self.add_menu()
        self.add_sb()
        self.total_rows = 0

        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.SetSizer(self.sizer)

        self.display_width = wx.GetDisplaySize()[0]
        self.itemDataMap = {}

        self.lst = self.build_list()
        ColumnSorterMixin.__init__(self, 6)
        self.sizer.Add(self.lst, 1, wx.EXPAND)
        self.Layout()
Ejemplo n.º 12
0
    def __init__(self, parent, num_cat):
        wx.Panel.__init__(self, parent, wx.ID_ANY)

        self.my_category = ks.categories[num_cat]
        cols = ["Name"] + self.my_category["attributes"] + ["Comment"]
        self.ctrl_attributes_spreadsheet = wx.ListCtrl(self,
                                                       style=wx.LC_REPORT)

        for i, s in enumerate(cols):
            self.ctrl_attributes_spreadsheet.InsertColumn(i + 1, s)

        self.n_columns = len(cols)
        ColumnSorterMixin.__init__(self, self.n_columns)

        self.itemDataMap = {}
        self.column_min_width = []
        for i in range(self.ctrl_attributes_spreadsheet.GetColumnCount()):
            self.ctrl_attributes_spreadsheet.SetColumnWidth(
                i, wx.LIST_AUTOSIZE_USEHEADER)
            self.column_min_width.append(
                self.ctrl_attributes_spreadsheet.GetColumnWidth(i))

        self.main_sizer = wx.BoxSizer(wx.VERTICAL)
        self.main_sizer.Add(self.ctrl_attributes_spreadsheet,
                            proportion=1,
                            flag=wx.EXPAND | wx.ALL,
                            border=10)
        self.SetSizer(self.main_sizer)
Ejemplo n.º 13
0
    def __init__(self, parent, id, pos=None, size=None, style=None, top=None):
        wx.ListCtrl.__init__(self,
                             parent,
                             id,
                             style=wx.LC_REPORT | wx.SIMPLE_BORDER
                             | wx.LC_HRULES)
        self.top = top
        self.hits_by_index = {}
        self.eips = []
        self.last_focused = None

        ListCtrlAutoWidthMixin.__init__(self)

        self.items_sort_map = {}
        self.itemDataMap = self.items_sort_map

        ColumnSorterMixin.__init__(self, 7)

        self.InsertColumn(0, "#")
        self.InsertColumn(1, "Time")
        self.InsertColumn(2, "EIP")
        self.InsertColumn(3, "TID")
        self.InsertColumn(4, "Module")
        self.InsertColumn(5, "Func?")
        self.InsertColumn(6, "Tag")
Ejemplo n.º 14
0
    def open_folder(self, evt):
        dlg = wx.DirDialog(self, "Choose a directory:",
                          style=wx.DD_DEFAULT_STYLE
                           | wx.DD_DIR_MUST_EXIST
                           #| wx.DD_CHANGE_DIR
                           )

        if dlg.ShowModal() == wx.ID_OK:
            target_dir = dlg.GetPath()
        else:
            return

        dlg.Destroy()

        #create new lst
        self.itemDataMap.clear()
        self.lst.Destroy()
        self.lst = self.build_list()
        ColumnSorterMixin.__init__(self, 6)
        self.sizer.Add(self.lst, 1, wx.EXPAND)
        self.Layout()
        self.Refresh()

        # switch to this dir
        self.total_rows = 0
        self.update_sb()
        os.chdir(target_dir)

        files_with_data, files_wo_data = process_dir('.', self.conn, self.cur)

        for f in files_with_data:
            self.add_row(f)

        if len(files_wo_data) > 0:
            start_dbbuilder(self, files_wo_data)
Ejemplo n.º 15
0
    def __init__(self, parent, ID, headers, placeholder=None):
        AutoWidthListCtrl.__init__(self, parent, ID, wx.DefaultPosition,
                                   wx.DefaultSize,
                                   wx.LC_REPORT | wx.LC_SINGLE_SEL)

        self.headers = headers

        # load in the tiny arrow images that ColumnSorterMixin draws
        # in the headers of sorted columns
        # WARNING: this segfaults if imageList is a local variable.
        # Maybe a wxPython bug... imageList falls out of scope and gets deleted prematurely?
        self.imageList = wx.ImageList(16, 16, True)
        cwd = os.getcwd()
        file1 = cwd + "/londonlaw/guiclient/images/smalluparrow.png"
        file2 = cwd + "/londonlaw/guiclient/images/smalldownarrow.png"
        image = wx.Image(file1, wx.BITMAP_TYPE_ANY)
        image.SetMaskColour(255, 255, 255)
        self.smallUpArrow = self.imageList.Add(wx.Bitmap(image))
        image = wx.Image(file2, wx.BITMAP_TYPE_ANY)
        image.SetMaskColour(255, 255, 255)
        self.smallDnArrow = self.imageList.Add(wx.Bitmap(image))
        self.SetImageList(self.imageList, wx.IMAGE_LIST_SMALL)

        self.placeholder = placeholder
        # data from the server should be formatted as
        # ("game name", "game type", "game status", "number of players")
        if self.placeholder:
            self.itemDataMap = {0: self.placeholder}
        else:
            self.itemDataMap = {}
        self.populateList()

        # this must be called *after* the list has been created
        ColumnSorterMixin.__init__(self, len(self.headers))
Ejemplo n.º 16
0
	def __init__(self, parent, id=wx.ID_ANY,extension_list = None):
		#print 'MyListCtrl init called'
		self.parent = parent
		wx.ListCtrl.__init__(self, parent, id, style=wx.BORDER_RAISED|wx.LC_REPORT)
		
		if extension_list==None:
			raise Exception('extension list not specified')
			
		self.extension_list = extension_list
		
		numcolstosort=4
		ColumnSorterMixin.__init__(self,numcolstosort)
		
		#images = ['images/empty.png', 'images/folder.png', 'images/source_py.png', 'images/image.png', 'images/pdf.png', 'images/up16.png']
		self.InsertColumn(0, 'Name')
		self.InsertColumn(1, 'Ext')
		self.InsertColumn(2, 'Size', wx.LIST_FORMAT_RIGHT)
		self.InsertColumn(3, 'Modified')

		self.SetColumnWidth(0, 220)
		self.SetColumnWidth(1, 70)
		self.SetColumnWidth(2, 100)
		self.SetColumnWidth(3, 420)

		# self.il = wx.ImageList(16, 16)
		# for i in images:
			# self.il.Add(wx.Bitmap(i))
		#self.SetImageList(self.il, wx.IMAGE_LIST_SMALL)
		
		self.all_results_list = []
		self.update()
		self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnDoubleClick, id=id)
Ejemplo n.º 17
0
    def __init__(self, parent, data):
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)

        # the column sorter accepts one argument: number of columns to be sorted
        ColumnSorterMixin.__init__(self, len(data))
        # the data must be a dictionary
        self.itemDataMap = data
Ejemplo n.º 18
0
 def __init__(self, parent, columns):
     wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
     ColumnSorterMixin.__init__(self, columns)
     self.SetFont(wx.Font(16, wx.SWISS, wx.NORMAL, wx.NORMAL))
     self.current = None
     self.parent = parent
     self.R_MOUSE = 0
     self.InsertColumn(0, u"姓名")
     self.InsertColumn(1, u"手机号码")
     self.InsertColumn(2, u"地址")
     self.SetColumnWidth(0, 200)
     self.SetColumnWidth(1, 200)
     self.SetColumnWidth(2, 200)
     self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnSelect)
     self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnDeSelect)
     self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick)
     self.data = None
     self.itemDataMap = {}
     self.refresh_list()
     self.il = wx.ImageList(16, 16)
     a={"sm_up":"GO_UP","sm_dn":"GO_DOWN"}
     for k,v in a.items():
         s="self.%s= self.il.Add(wx.ArtProvider_GetBitmap(wx.ART_%s,wx.ART_TOOLBAR,(16,16)))" % (k,v)
         exec(s)
     self.SetImageList(self.il, wx.IMAGE_LIST_SMALL)
 def __init__(self, parent, id=-1, style=wx.LC_REPORT | wx.ALWAYS_SHOW_SB, size=(700, 400)):
     wx.ListCtrl.__init__(self, parent, id=-1, style=wx.LC_REPORT | wx.ALWAYS_SHOW_SB ,size=(700, 400))
     ListCtrlAutoWidthMixin.__init__(self)
     TextEditMixin.__init__(self)
     if parent.key == 'Teacher':
         ColumnSorterMixin.__init__(self, 4)
     else:
         ColumnSorterMixin.__init__(self, 3)
Ejemplo n.º 20
0
    def __init__(self, parent, output):

        if not output:
            output = {1: ('Pyroxeres', 183.63, 222.59, '0', '0', '0'), 2: ('Kernite', 187.02, 210.63, '0', '0', '0'), 3: ('Veldspar', 161.2, 159.46, '0', '0', '0'), 4: ('Plagioclase', 159.74, 190.96, '0', '0', '0'), 5: ('Hemorphite', 544.28, 306.4, '0', '0', '0'), 6: ('Spodumain', 373.27, 217.27, '0', '0', '0'), 7: ('Crokite', 252.1, 301.74, '0', '0', '0'), 8: ('Arkonor', 241.69, 348.98, '0', '0', '0'), 9: ('Gneiss', 301.02, 252.84, '0', '0', '0'), 10: ('Jaspet', 223.81, 276.76, '0', '0', '0'), 11: ('Hedbergite', 266.84, 390.96, '0', '0', '0'), 12: ('Dark Ochre', 1534.01, 270.89, '0', '0', '0'), 13: ('Scordite', 182.6, 197.74, '0', '0', '0'), 14: ('Bistot', 249.75, 254.24, '0', '0', '0'), 15: ('Omber', 165.12, 159.86, '0', '0', '0'), 16: ('Mercoxit', 540.87, 493.66, '0', '0', '0')}

        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT, size=(580,-1))
        ColumnSorterMixin.__init__(self, len(output))
        self.itemDataMap = output
Ejemplo n.º 21
0
    def __init__(self, parent):
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
        ColumnSorterMixin.__init__(self, 1)
        ListCtrlAutoWidthMixin.__init__(self)

        self.InsertColumn(0, _('Filepath'))

        self.itemDataMap = {}
Ejemplo n.º 22
0
 def __init__(self, parent):
     wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT|wx.LC_VIRTUAL|wx.LC_HRULES|wx.LC_VRULES)
     ColumnSorterMixin.__init__(self,7)
     # self.itemDataMap = nacsnif
     self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)
     self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
     self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemDeselected)
     self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick)
Ejemplo n.º 23
0
    def __init__(self, parent, numColumns, style = wx.LC_REPORT|wx.LC_NO_HEADER, tooltip = True):
        wx.ListCtrl.__init__(self, parent, -1, style=style)
        
        ColumnSorterMixin.__init__(self, numColumns)
        ListCtrlAutoWidthMixin.__init__(self)

        self.itemDataMap = {}
        if tooltip:
            self.Bind(wx.EVT_MOTION, self.OnMouseMotion)
Ejemplo n.º 24
0
 def __init__(self, parent):
     wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
     
     #The ColumnSorterMixin accepts one argument. It is the number of columns to be sorted.
     ColumnSorterMixin.__init__(self, len(actresses))
     
     #We must map our data to be displayed in a list control to the itemDataMap attribute. 
     #The data must be in a dictionary data type.
     self.itemDataMap = actresses
Ejemplo n.º 25
0
    def __init__(self, parent, D):
        """ Constructor.
		"""
        wx.ListCtrl.__init__(self,
                             parent,
                             -1,
                             style=wx.LC_REPORT | wx.LC_VIRTUAL | wx.LC_HRULES
                             | wx.LC_VRULES)

        ### local copy
        self.parent = parent

        ### adding some art
        self.il = wx.ImageList(16, 16)
        a = {
            "sm_up": "GO_UP",
            "sm_dn": "GO_DOWN",
            "idx1": "CROSS_MARK",
            "idx2": "TICK_MARK"
        }
        ArtProvider = "wx.ArtProvider_GetBitmap" if wx.VERSION_STRING < '4.0' else "wx.ArtProvider.GetBitmap"

        for k, v in a.items():
            s = "self.%s= self.il.Add(%s(wx.ART_%s,wx.ART_TOOLBAR,(16,16)))" % (
                k, ArtProvider, v)
            exec(s)

        self.SetImageList(self.il, wx.IMAGE_LIST_SMALL)

        ### building the columns
        self.InsertColumn(0, _('Name'), wx.LIST_FORMAT_CENTRE, width=120)
        self.InsertColumn(1, _('Error'), wx.LIST_FORMAT_CENTRE, width=450)
        self.InsertColumn(2, _('Line'), wx.LIST_FORMAT_CENTRE, width=80)
        self.InsertColumn(3, _('Authors'), wx.LIST_FORMAT_CENTRE, width=80)
        self.InsertColumn(4, _('Path'), wx.LIST_FORMAT_CENTRE, width=120)

        ### These two should probably be passed to init more cleanly
        ### setting the numbers of items = number of elements in the dictionary
        self.itemDataMap = D
        self.itemIndexMap = list(D.keys())
        self.SetItemCount(len(D))

        ### mixins
        ListCtrlAutoWidthMixin.__init__(self)
        ColumnSorterMixin.__init__(self, self.GetColumnCount())

        ### sort by genre (column 2), A->Z ascending order (1)
        self.SortListItems(2, 0)

        ### events binding
        self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)
        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
        self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemDeselected)
        self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick)
        self.Bind(wx.EVT_LEFT_DCLICK, self.OnDoubleClick)
        self.Bind(wx.EVT_LEFT_DOWN, self.OnClick)
        self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick)
Ejemplo n.º 26
0
    def __init__(self, mode):
        self.mode = mode
        wx.ListCtrl.__init__(self, mode, style=wx.LC_REPORT)
        ColumnAutoSizeMixin.__init__(self)

        self.mode.createColumns(self)
        self.itemDataMap = {}
        ColumnSorterMixin.__init__(self, self.GetColumnCount())
        # Assign icons for up and down arrows for column sorter
        getIconStorage().assignList(self)
Ejemplo n.º 27
0
 def __init__(self, parent,col,panelType):
     wx.ListCtrl.__init__(self, parent, -1,
             style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL)
     self.SetSingleStyle(wx.LC_HRULES, True)
     ColumnSorterMixin.__init__(self, col)
     ListCtrlAutoWidthMixin.__init__(self)
     if panelType==0:
         self.itemDataMap = PastRecordings
     elif panelType==1:
         self.itemDataMap = FutureRecordings
Ejemplo n.º 28
0
 def __init__(self, parent, colnum):
     wx.ListCtrl.__init__(self, parent, -1,
                          style=wx.LC_REPORT)  #initialises ListCtrl
     CheckListCtrlMixin.__init__(self)  #initialises mixin check box class
     ColumnSorterMixin.__init__(
         self, colnum
     )  #initialises mixin column sorter class with initial number of columns =colnum
     #
     self.itemDataMap = {
     }  #needed by ColumnSorterMixin for sorting the columns. A dictionary with a tuple of values for each column indexed using the data stored in each keys entry
Ejemplo n.º 29
0
	def __init__(self, parent, id):
		wx.ListCtrl.__init__(self, parent, id, style=wx.LC_REPORT)
		ListCtrlAutoWidthMixin.__init__(self)
		ColumnSorterMixin.__init__(self, 6)
		self.itemDataMap = {}

		self.InsertColumn(0, "Name", width=540)
		self.InsertColumn(1, "Size", format=wx.LIST_FORMAT_RIGHT, width=100)
		self.InsertColumn(2, "Date Modified", format=wx.LIST_FORMAT_RIGHT, width=210)
		self.InsertColumn(3, "Directory", width=240)
Ejemplo n.º 30
0
	def __init__(self, parent):
		wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT|wx.LC_SINGLE_SEL)
		self.InsertColumn(0, 'Type')
		self.InsertColumn(1, 'Format')
		self.InsertColumn(2, 'Date Format')

		self.data = 0
		self.itemDataMap = {}
		ColumnSorterMixin.__init__(self, 3)

		self.handlers = {}
Ejemplo n.º 31
0
    def __init__(self, parent):
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
        ColumnSorterMixin.__init__(self, 4)
        ListCtrlAutoWidthMixin.__init__(self)

        self.InsertColumn(0, _('Date'))
        self.InsertColumn(1, _('Time'))
        self.InsertColumn(2, _('Title'))
        self.InsertColumn(3, _('Description'))

        self.itemDataMap = {}
Ejemplo n.º 32
0
    def __init__(self, parent):
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
        ColumnSorterMixin.__init__(self, 4)
        ListCtrlAutoWidthMixin.__init__(self)

        self.InsertColumn(0, _('Date'))
        self.InsertColumn(1, _('Time'))
        self.InsertColumn(2, _('Title'))
        self.InsertColumn(3, _('Description'))

        self.itemDataMap = {}
Ejemplo n.º 33
0
    def __init__(self, parent):
        wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS)

        tID = wx.NewId()

        self.il = wx.ImageList(16, 16)

        self.idx1 = self.il.Add(images.getSmilesBitmap())
        self.sm_up = self.il.Add(images.getSmallUpArrowBitmap())
        self.sm_dn = self.il.Add(images.getSmallDnArrowBitmap())
        self.file1Idx = self.il.Add(images.getFile1Bitmap())

        self.list = MyListCtrl(
            self,
            tID,
            style=wx.LC_REPORT | wx.SUNKEN_BORDER
            | wx.LC_EDIT_LABELS
            #| wx.LC_NO_HEADER
            #| wx.LC_VRULES | wx.LC_HRULES
        )
        self.list.SetImageList(self.il, wx.IMAGE_LIST_SMALL)

        self.PopulateList()

        # Now that the list exists we can init the other base class,
        # see wxPython/lib/mixins/listctrl.py
        ColumnSorterMixin.__init__(self, 3)
        #self.SortListItems(0, True)

        EVT_SIZE(self, self.OnSize)
        EVT_LIST_ITEM_SELECTED(self, tID, self.OnItemSelected)
        EVT_LIST_ITEM_DESELECTED(self, tID, self.OnItemDeselected)
        EVT_LIST_ITEM_ACTIVATED(self, tID, self.OnItemActivated)
        EVT_LIST_DELETE_ITEM(self, tID, self.OnItemDelete)
        EVT_LIST_COL_CLICK(self, tID, self.OnColClick)
        EVT_LIST_COL_RIGHT_CLICK(self, tID, self.OnColRightClick)
        EVT_LIST_COL_BEGIN_DRAG(self, tID, self.OnColBeginDrag)
        EVT_LIST_COL_DRAGGING(self, tID, self.OnColDragging)
        EVT_LIST_COL_END_DRAG(self, tID, self.OnColEndDrag)
        EVT_LIST_BEGIN_LABEL_EDIT(self, tID, self.OnBeginEdit)

        EVT_LEFT_DCLICK(self.list, self.OnDoubleClick)
        EVT_RIGHT_DOWN(self.list, self.OnRightDown)

        # for wxMSW
        EVT_COMMAND_RIGHT_CLICK(self.list, tID, self.OnRightClick)

        # for wxGTK
        EVT_RIGHT_UP(self.list, self.OnRightClick)
Ejemplo n.º 34
0
    def __init__(self, parent=None, id=-1, title="Sort Test"):
        wx.Frame.__init__(self, parent, id, title)

        numColumns = 3

        loadWindowPos(self)
        self.Bind(wx.EVT_CLOSE, self.on_close)

        self.list = wx.ListCtrl(self, id, style=wx.LC_REPORT)
        ColumnSorterMixin.__init__(self, numColumns)

        cols = ["Name", "Address", "Phone", "Age"]

        firsts = "Adam Laura Sara Danielle Dave Kevin Joe Mike Chris Aaron Steve Mary Sally".split(
        )
        lasts = "Clinton Bush Adams Washington Garfield Ford Kennedy Reagan Taft".split(
        )
        stNames = "Fake Apple Banana Orange Blueberry Mango".split()
        sts = "Street Avenue Drive Bouelevard".split()

        # return a random element from a list
        def rnd(lst):
            return lst[randint(0, len(lst) - 1)]

        # generate a bunch of random
        self.itemDataMap = {}
        for i in range(500):
            name = rnd(firsts) + " " + rnd(lasts)
            address = str(randint(1,
                                  1000)) + " " + rnd(stNames) + " " + rnd(sts)
            phone = "%d-%d-%d" % (randint(100, 999), randint(
                100, 999), randint(1000, 9999))
            age = randint(1, 100)

            self.itemDataMap[i] = [name, address, phone, age]

        itemDataMap = self.itemDataMap

        keys = itemDataMap.keys()

        [self.list.InsertColumn(i, cols[i]) for i in range(len(cols))]
        for i in keys:
            o = itemDataMap[i]
            self.list.InsertStringItem(i, o[0])
            for c in range(len(o)):
                self.list.SetStringItem(i, c, str(o[c]))
            self.list.SetItemData(i, i)

        self.SetColumnCount(len(cols))
Ejemplo n.º 35
0
    def __init__(self, *args,  **kwargs):
        #if 'max_columns' in kwargs:
        max_columns = kwargs.pop('max_columns')
        wx.ListCtrl.__init__(self, *args, **kwargs)
        # Now that the list exists we can init the other base class,
        # see wxPython/lib/mixins/listctrl.py
        ColumnSorterMixin.__init__(self, max_columns)

        # Perform init for AutoWidth (resizes the last column to take up
        # the remaining display width)
        ListCtrlAutoWidthMixin.__init__(self)
        
        # maps for PyData support (like TreeCtrl)
        self._py_data_map = {}
        self._wx_data_map = {}
    def __init__(self, parent, id, pos=None, size=None, style=None, top=None):
        wx.ListCtrl.__init__(self, parent, id, style=wx.LC_REPORT | wx.SIMPLE_BORDER | wx.LC_HRULES )
        self.top                 = top
        self.selected_pid        = 0
        self.selected_proc       = None

        ListCtrlAutoWidthMixin.__init__(self)

        self.items_sort_map = {}
        self.itemDataMap    = self.items_sort_map

        ColumnSorterMixin.__init__(self, 2)

        self.InsertColumn(0, "PID")
        self.InsertColumn(1, "Process")
Ejemplo n.º 37
0
    def __init__(self, *args, **kwargs):
        #if 'max_columns' in kwargs:
        max_columns = kwargs.pop('max_columns')
        wx.ListCtrl.__init__(self, *args, **kwargs)
        # Now that the list exists we can init the other base class,
        # see wxPython/lib/mixins/listctrl.py
        ColumnSorterMixin.__init__(self, max_columns)

        # Perform init for AutoWidth (resizes the last column to take up
        # the remaining display width)
        ListCtrlAutoWidthMixin.__init__(self)

        # maps for PyData support (like TreeCtrl)
        self._py_data_map = {}
        self._wx_data_map = {}
Ejemplo n.º 38
0
    def SortListItems(self, col=-1, ascending=1):
        """
		Sort the list on demand.  Can also be used to set the sort column and order.
		"""

        ColumnSorterMixin.SortListItems(self, col, ascending)
        self.refresh_col_headers()
Ejemplo n.º 39
0
    def SortListItems(self, col=-1, ascending=1):
        if col in self.enabled_columns:
            col = self.enabled_columns.index(col)
        else:
            col = 0

        ColumnSorterMixin.SortListItems(self, col=col, ascending=ascending)
Ejemplo n.º 40
0
    def __init__(self, parent):
        wx.ListCtrl.__init__(self,
                             parent,
                             -1,
                             style=wx.LC_REPORT | wx.LC_VIRTUAL)
        ColumnSorterMixin.__init__(self, 3)
        ListCtrlAutoWidthMixin.__init__(self)
        self.itemDataMap = {}
        self.itemIndexMap = self.itemDataMap.keys()
        self.lookupDict = {}
        self.ascending = False

        self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)
        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
        self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemDeselected)
        self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick)
 def __init__(self,
              parent,
              id=-1,
              style=wx.LC_REPORT | wx.ALWAYS_SHOW_SB,
              size=(700, 400)):
     wx.ListCtrl.__init__(self,
                          parent,
                          id=-1,
                          style=wx.LC_REPORT | wx.ALWAYS_SHOW_SB,
                          size=(700, 400))
     ListCtrlAutoWidthMixin.__init__(self)
     TextEditMixin.__init__(self)
     if parent.key == 'Teacher':
         ColumnSorterMixin.__init__(self, 4)
     else:
         ColumnSorterMixin.__init__(self, 3)
Ejemplo n.º 42
0
	def __init__(self, parent, D):
		""" Constructor.
		"""
		wx.ListCtrl.__init__( self, parent, -1, style=wx.LC_REPORT|wx.LC_VIRTUAL|wx.LC_HRULES|wx.LC_VRULES)

		### local copy
		self.parent = parent

		### adding some art
		self.il = wx.ImageList(16, 16)
		a={"sm_up":"GO_UP","sm_dn":"GO_DOWN","idx1":"CROSS_MARK","idx2":"TICK_MARK"}
		ArtProvider = "wx.ArtProvider_GetBitmap" if wx.VERSION_STRING < '4.0' else "wx.ArtProvider.GetBitmap"

		for k,v in a.items():
			s="self.%s= self.il.Add(%s(wx.ART_%s,wx.ART_TOOLBAR,(16,16)))" % (k,ArtProvider,v)
			exec(s)
			
		self.SetImageList(self.il, wx.IMAGE_LIST_SMALL)

		### building the columns
		self.InsertColumn(0, _('Name'), wx.LIST_FORMAT_CENTRE, width=120)
		self.InsertColumn(1, _('Error'), wx.LIST_FORMAT_CENTRE, width=450)
		self.InsertColumn(2, _('Line'), wx.LIST_FORMAT_CENTRE, width=80)
		self.InsertColumn(3, _('Authors'), wx.LIST_FORMAT_CENTRE, width=80)
		self.InsertColumn(4, _('Path'), wx.LIST_FORMAT_CENTRE, width=120)

		### These two should probably be passed to init more cleanly
		### setting the numbers of items = number of elements in the dictionary
		self.itemDataMap = D
		self.itemIndexMap = D.keys()
		self.SetItemCount(len(D))

		### mixins
		ListCtrlAutoWidthMixin.__init__(self)
		ColumnSorterMixin.__init__(self, self.GetColumnCount())

		### sort by genre (column 2), A->Z ascending order (1)
		self.SortListItems(2, 0)

		### events binding
		self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)
		self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
		self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemDeselected)
		self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick)
		self.Bind(wx.EVT_LEFT_DCLICK, self.OnDoubleClick)
		self.Bind(wx.EVT_LEFT_DOWN, self.OnClick)
		self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick)
Ejemplo n.º 43
0
    def __init__(self, parent=None, id=-1, title="Sort Test"):
        wx.Frame.__init__(self, parent, id, title)
        
        numColumns = 3

        loadWindowPos(self)
        self.Bind(wx.EVT_CLOSE, self.on_close)
        
        self.list=wx.ListCtrl(self,id, style=wx.LC_REPORT)        
        ColumnSorterMixin.__init__(self, numColumns)
                        
        cols = ["Name", "Address", "Phone", "Age"]        
        
        firsts  = "Adam Laura Sara Danielle Dave Kevin Joe Mike Chris Aaron Steve Mary Sally".split()
        lasts   = "Clinton Bush Adams Washington Garfield Ford Kennedy Reagan Taft".split()
        stNames = "Fake Apple Banana Orange Blueberry Mango".split()
        sts     = "Street Avenue Drive Bouelevard".split()
        
        # return a random element from a list
        def rnd(lst): return lst[randint(0,len(lst)-1)]
        
        # generate a bunch of random
        self.itemDataMap = {}
        for i in range(500):
            name = rnd(firsts) + " " + rnd(lasts)
            address = str(randint(1,1000)) + " " + rnd(stNames) + " " + rnd(sts)
            phone = "%d-%d-%d" % (randint(100,999), randint(100,999), randint(1000,9999))
            age = randint(1,100)
            
            self.itemDataMap[i] = [name,address,phone,age]
                
        
        itemDataMap = self.itemDataMap
        
        keys = itemDataMap.keys()
        
        [self.list.InsertColumn(i, cols[i]) for i in range(len(cols))]
        for i in keys:
            o = itemDataMap[i]
            self.list.InsertStringItem(i, o[0])
            for c in range(len(o)):
                self.list.SetStringItem(i,c,str(o[c]))
            self.list.SetItemData(i, i)
            
        self.SetColumnCount(len(cols))
Ejemplo n.º 44
0
    def PopulateList(self, data1):
        self.itemDataMap = self.keysmap_to_datamap(data1)
        self.currentItem = -1

        self.list.ClearAll()
        ColumnSorterMixin.__init__(self, 3)
        self.list.InsertColumn(0, "Name")
        self.list.InsertColumn(1, "Email")
        self.list.InsertColumn(2, "Key ID")
        items = data1.items()
        for key, data in items:
            index = self.list.InsertItem(self.list.GetItemCount(),
                                         data['name'])
            self.list.SetItem(index, 1, data['mail'])
            self.list.SetItem(index, 2, data['keyid'])

        self.list.SetColumnWidth(0, 100)
        self.list.SetColumnWidth(1, 100)
        self.list.SetColumnWidth(2, 200)
Ejemplo n.º 45
0
    def __init__(self, parent, id, pos=None, size=None, style=None, top=None):
        wx.ListCtrl.__init__(self,
                             parent,
                             id,
                             style=wx.LC_REPORT | wx.SIMPLE_BORDER
                             | wx.LC_HRULES)
        self.top = top
        self.selected_pid = 0
        self.selected_proc = None

        ListCtrlAutoWidthMixin.__init__(self)

        self.items_sort_map = {}
        self.itemDataMap = self.items_sort_map

        ColumnSorterMixin.__init__(self, 2)

        self.InsertColumn(0, "PID")
        self.InsertColumn(1, "Process")
Ejemplo n.º 46
0
    def __init__(self, parent, headers, size=(-1, 100), callback=None):
        super().__init__(parent, size=size, style=LC_REPORT | BORDER_SUNKEN)
        self._init_row_index()

        for i, text in enumerate(headers):
            self.InsertColumn(i, text)
            self.SetColumnWidth(i, self._default_width)  # Intial Column width
            self._column_width[i] = self._default_width

        ListCtrlAutoWidthMixin.__init__(self)  # clip last column to table size

        if callback:
            self._edit_callback = callback
            TextEditMixin.__init__(self)
            self.Bind(EVT_LIST_END_LABEL_EDIT, self.OnMixUpdate)

        ColumnSorterMixin.__init__(self, 3)
        self.itemDataMap = {}
        self.Bind(EVT_LIST_COL_CLICK, self.OnColClick, self)
Ejemplo n.º 47
0
    def __init__(self, aParent, aResource):
        if aResource.rules:
            rules = wx.LC_HRULES | wx.LC_VRULES
        else:
            rules = 0

        self._rules = aResource.rules
        self._maxColumns = aResource.maxColumns
        self._autoresize = 1

        wx.ListCtrl.__init__(
            self,
            aParent,
            widget.makeNewId(aResource.id),
            aResource.position,
            aResource.size,
            #aResource.items,
            style = rules | wx.LC_REPORT | \
                wx.NO_FULL_REPAINT_ON_RESIZE | wx.CLIP_SIBLINGS,
            name = aResource.name
        )

        widget.Widget.__init__(self, aParent, aResource)

        self.itemDataMap = {}
        # Now that the list exists we can init the other base class,
        # see wxPython/lib/mixins/listctrl.py
        ColumnSorterMixin.__init__(self, self._maxColumns)

        # Perform init for AutoWidth (resizes the last column to take up
        # the remaining display width)
        ListCtrlAutoWidthMixin.__init__(self)

        #if aResource.selected != "" and aResource.selected :
        #    self._setSelection( aResource.selected )

        # After creation we can set the headings
        self._setColumnHeadings(aResource.columnHeadings)

        # And load the list
        self._setItems(aResource.items)

        self._bindEvents(event.WIDGET_EVENTS + MultiColumnListEvents)
Ejemplo n.º 48
0
    def __init__(self, parent, id, pos=None, size=None, style=None, top=None):
        wx.ListCtrl.__init__(self, parent, id, style=style)
        self.parent  = parent
        self.top     = top

        ListCtrlAutoWidthMixin.__init__(self)

        self.items_sort_map = {}
        self.itemDataMap    = self.items_sort_map

        ColumnSorterMixin.__init__(self, 8)

        self.InsertColumn(0, "ID")
        self.InsertColumn(1, "Address")
        self.InsertColumn(2, "Depth")
        self.InsertColumn(3, "Status")
        self.InsertColumn(4, "Username")
        self.InsertColumn(5, "# Hits")
        self.InsertColumn(6, "Boron Tag")
        self.InsertColumn(7, "Reason")
Ejemplo n.º 49
0
    def __init__(self, parent):
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT | wx.LC_VRULES)
        ListCtrlAutoWidthMixin.__init__(self)
        ColumnSorterMixin.__init__(self, 6)

        self.parent = parent
        
        self.itemDataMap = {}
        self._col = self.parent.def_col
        
        self.InsertColumn(0, _("Name"))
        self.InsertColumn(1, _("File Size"))
        self.InsertColumn(2, _("Seeds"))
        self.InsertColumn(3, _("Peers"))
        self.InsertColumn(4, _("Category"))
        self.InsertColumn(5, _("Engine"))
        
        self.setResizeColumn(1)

        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated)
Ejemplo n.º 50
0
    def createWidgets(self):
        self.listCtrl = wxskinListCtrl(self, ID_LISTCTRL, style=wx.LC_REPORT|wx.SUNKEN_BORDER|wx.LC_SINGLE_SEL|wx.LC_VRULES|wx.LC_HRULES)
        self.listCtrl.InsertColumn(0, "Name")
        self.listCtrl.InsertColumn(1, "Number")

        ColumnSorterMixin.__init__(self, 2)

        self.currentItem = 0

        wx.EVT_SIZE(self, self.OnSize)
        wx.EVT_LIST_ITEM_SELECTED(self, ID_LISTCTRL, self.OnItemSelected)
        wx.EVT_LIST_ITEM_ACTIVATED(self, ID_LISTCTRL, self.OnItemActivated)
        wx.EVT_CLOSE(self, self.closeWindow)

        wx.EVT_LEFT_DCLICK(self.listCtrl, self.OnPopupEdit)
        wx.EVT_RIGHT_DOWN(self.listCtrl, self.OnRightDown)

        # for wxMSW and wxGTK respectively
        wx.EVT_COMMAND_RIGHT_CLICK(self.listCtrl, ID_LISTCTRL, self.OnRightClick)
        wx.EVT_RIGHT_UP(self.listCtrl, self.OnRightClick)
Ejemplo n.º 51
0
    def __init__(self, parent, id, pos=None, size=None, style=None, top=None):
        wx.ListCtrl.__init__(self, parent, id, style=style)
        self.parent  = parent
        self.top     = top

        ListCtrlAutoWidthMixin.__init__(self)

        self.items_sort_map = {}
        self.itemDataMap    = self.items_sort_map

        ColumnSorterMixin.__init__(self, 8)

        self.InsertColumn(0, "ID")
        self.InsertColumn(1, "Address")
        self.InsertColumn(2, "Depth")
        self.InsertColumn(3, "Status")
        self.InsertColumn(4, "Username")
        self.InsertColumn(5, "# Hits")
        self.InsertColumn(6, "Boron Tag")
        self.InsertColumn(7, "Reason")
Ejemplo n.º 52
0
    def __init__(self, parent):
        wx.ListCtrl.__init__(self, parent, wx.ID_ANY, style=wx.LC_REPORT)
        ContextMenuMixin.__init__(self)

        self.il = wx.ImageList(self.icon_size, self.icon_size)
        # TODO: use a real icon
        self.il.Add(self.draw_blank())
        self.il.Add(self.draw_sort_arrow('up'))
        self.il.Add(self.draw_sort_arrow('down'))
        self.SetImageList(self.il, wx.IMAGE_LIST_SMALL)

        self.update_enabled_columns()

        for i, name in enumerate(self.enabled_columns):
            column = self.columns[name]
            column.SetColumn(i)
            self.InsertColumnItem(i, column)

        self.itemData_to_row = {}
        self.index_to_itemData = {}

        self.selected_column = None
        self.SelectColumn(self.enabled_columns[0])

        cmenu = wx.Menu()
        for name in self.column_order:
            column = self.columns[name]
            id = wx.NewId()
            cmenu.AppendCheckItem(id, column.GetText())
            cmenu.Check(id, column.enabled)
            self.Bind(wx.EVT_MENU,
                      lambda e, c=column, id=id: self.toggle_column(c, id, e),
                      id=id)
        self.SetColumnContextMenu(cmenu)

        ColumnSorterMixin.__init__(self, len(self.enabled_columns))
        self._last_scrollpos = 0
        if sys.platform != "darwin":
            self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)

        self.default_rect = wx.Rect(0,0)
Ejemplo n.º 53
0
    def __init__(self, parent, style, prefix, minid, maxid, rightalign=[], centeralign=[]):
        if wx.Platform == "__WXMAC__":
            style &= ~wx.LC_VRULES
        wx.ListCtrl.__init__(self, parent, wx.ID_ANY, style=style)

        self.parent = parent

        self.prefix = prefix
        self.minid = minid
        self.maxid = maxid

        # TODO: main column
        self.maincolumn = minid

        self.rightalign = rightalign
        self.centeralign = centeralign

        self.columns = ColumnManager(self)

        self.Bind(wx.EVT_LIST_COL_END_DRAG, self.OnResizeColumn)
        self.Bind(wx.EVT_LIST_COL_RIGHT_CLICK, self.OnColRightClick)
        self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColLeftClick)

        self.loadTranslation()

        self.loadColumns()

        self.loadFont()

        # Add to the list of ManagedList objects
        utility.lists[self] = True

        self.lastcolumnselected = -1

        # Add Bitmaps for UP\DOWN sorting
        self.il = wx.ImageList(16, 16)
        self.il.Add(self.createBlank())  # 0
        self.il.Add(self.createArrow("up"))  # 1
        self.il.Add(self.createArrow("down"))  # 2

        ColumnSorterMixin.__init__(self, int(self.maxid - self.minid))
Ejemplo n.º 54
0
    def __init__(self, parent, id, pos=None, size=None, style=None, top=None):
        wx.ListCtrl.__init__(self, parent, id, style=wx.LC_REPORT | wx.SIMPLE_BORDER | wx.LC_HRULES )
        self.top           = top
        self.hits_by_index = {}
        self.eips          = []
        self.last_focused  = None

        ListCtrlAutoWidthMixin.__init__(self)

        self.items_sort_map = {}
        self.itemDataMap    = self.items_sort_map

        ColumnSorterMixin.__init__(self, 7)

        self.InsertColumn(0, "#")
        self.InsertColumn(1, "Time")
        self.InsertColumn(2, "EIP")
        self.InsertColumn(3, "TID")
        self.InsertColumn(4, "Module")
        self.InsertColumn(5, "Func?")
        self.InsertColumn(6, "Tag")
Ejemplo n.º 55
0
    def __init__(self, parent, columns, columnWidths, style=wx.NO_BORDER):
        wx.ListCtrl.__init__(self, parent, style=style | wx.LC_REPORT | wx.LC_VIRTUAL)

        # Init ColumnSorterMixin
        self.itemDataMap = []
        self.GetListCtrl = lambda: self
        ColumnSorterMixin.__init__(self, len(columns))

        # Setup our variables
        self.rows = []
        self.rowIndexMap = {}
        self.SetItemCount(0)

        # Setup our columns
        if len(columns) != len(columnWidths):
            raise Exception("columnWidths must be the same size as columns!")
        for index in xrange(0, len(columns)):
            name = columns[index]
            width = columnWidths[index]
            self.InsertColumn(index, name)
            self.SetColumnWidth(index, width)