def __init__(self, nrows=15, height=None, header_height=None, row_height=None, scrolling=True, **kwds): columns = self.predict_attr(kwds, 'columns') if row_height is None: font = self.predict_font(kwds) row_height = font.get_linesize() if header_height is None: header_height = row_height row_width = 0 if columns: for column in columns: row_width += column.width row_width += 2 * self.column_margin * len(columns) contents = [] header = None if header_height: header = TableHeaderView(row_width, header_height) contents.append(header) row_size = (row_width, row_height) if not nrows and height: nrows = height // row_height self.rows = rows = TableRowView(row_size, nrows or 10, scrolling=scrolling) contents.append(rows) s = self.header_spacing Column.__init__(self, contents, align='l', spacing=s, **kwds) if header: header.font = self.header_font or self.font header.fg_color = fg_color = self.header_fg_color or self.fg_color header.bg_color = bg_color = self.header_bg_color or self.bg_color rows.font = self.font rows.fg_color = self.fg_color rows.bg_color = self.bg_color rows.sel_color = self.sel_color
def __init__(self, *args, **kwargs): kwargs['margin'] = kwargs.get('margin', 0) self.selected_item_index = None self.rows = kwargs.pop('rows', []) self.align = kwargs.get('align', 'l') self.spacing = kwargs.get('spacing', 4) self.draw_zebra = kwargs.pop('draw_zebra', True) # self.row_height = kwargs.pop('row_height', max([a.height for a in self.rows] + [self.font.size(' ')[1],])) self.row_height = kwargs.pop( 'row_height', max([a.height for a in self.rows] + [ self.font.get_linesize(), ])) self.inner_width = kwargs.pop('inner_width', 500) self.scrolling = kwargs.get('scrolling', True) self.hscrolling = kwargs.get('hscrolling', True) self.scrollRow = scrollRow = ScrollRow( (self.inner_width, self.row_height), 10, draw_zebra=self.draw_zebra, spacing=0, scrolling=self.scrolling, hscrolling=self.hscrolling) self.selected = None Column.__init__(self, [ scrollRow, ], **kwargs) self.shrink_wrap()
def __init__(self, *args, **kwargs): self.menu = [ ("Add", "add_item"), ("Delete", "delete_item"), ("New child", "add_child"), ("Rename", "rename_item"), ("", ""), ("Cut", "cut_item"), ("Copy", "copy_item"), ("Paste", "paste_item"), ("Paste as child", "paste_child"), ] if not hasattr(self, 'map_types_item'): global map_types_item self.map_types_item = setup_map_types_item() self.selected_item_index = None # cached_item_index is set to False during startup to avoid a predefined selected item to be unselected when closed # the first time. self.cached_selected_item_index = False self.selected_item = None self.clicked_item = None self.copyBuffer = kwargs.pop('copyBuffer', None) self._parent = kwargs.pop('_parent', None) self.styles = kwargs.pop('styles', {}) self.compound_types = [ dict, ] + kwargs.pop('compound_types', []) self.item_types = self.compound_types + kwargs.pop( 'item_types', [a[0] for a in self.map_types_item.values()] or [int, float, unicode, bool]) for t in self.item_types: if 'create_%s' % t.__name__ in globals().keys(): setattr(self, 'create_%s' % t.__name__, globals()['create_%s' % t.__name__]) self.show_fields = kwargs.pop('show_fields', False) self.deployed = [] self.data = data = kwargs.pop("data", {}) self.draw_zebra = draw_zebra = kwargs.pop('draw_zebra', True) # self.inner_width = kwargs.pop('inner_width', 'auto') self.inner_width = kwargs.pop('inner_width', 500) self.__num_rows = len(data.keys()) self.build_layout() # row_height = self.font.size(' ')[1] row_height = self.font.get_linesize() self.treeRow = treeRow = TreeRow((self.inner_width, row_height), 10, draw_zebra=draw_zebra) Column.__init__(self, [ treeRow, ], **kwargs)
def __init__(self, *args, **kwargs): kwargs['margin'] = kwargs.get('margin', 0) self.selected_item_index = None self.rows = kwargs.pop('rows', []) self.align = kwargs.get('align', 'l') self.spacing = kwargs.get('spacing', 4) self.draw_zebra = kwargs.pop('draw_zebra', True) # self.row_height = kwargs.pop('row_height', max([a.height for a in self.rows] + [self.font.size(' ')[1],])) self.row_height = kwargs.pop('row_height', max([a.height for a in self.rows] + [self.font.get_linesize(),])) self.inner_width = kwargs.pop('inner_width', 500) self.scrolling = kwargs.get('scrolling', True) self.hscrolling = kwargs.get('hscrolling', True) self.scrollRow = scrollRow = ScrollRow((self.inner_width, self.row_height), 10, draw_zebra=self.draw_zebra, spacing=0, scrolling=self.scrolling, hscrolling=self.hscrolling) self.selected = None Column.__init__(self, [scrollRow,], **kwargs) self.shrink_wrap()
def __init__(self, *args, **kwargs): self.menu = [ ("Add", "add_item"), ("Delete", "delete_item"), ("New child", "add_child"), ("Rename", "rename_item"), ("", ""), ("Cut", "cut_item"), ("Copy", "copy_item"), ("Paste", "paste_item"), ("Paste as child", "paste_child"), ] if not hasattr(self, "map_types_item"): global map_types_item self.map_types_item = setup_map_types_item() self.selected_item_index = None self.selected_item = None self.clicked_item = None self.copyBuffer = kwargs.pop("copyBuffer", None) self._parent = kwargs.pop("_parent", None) self.styles = kwargs.pop("styles", {}) self.compound_types = [dict] + kwargs.pop("compound_types", []) self.item_types = self.compound_types + kwargs.pop( "item_types", [a[0] for a in self.map_types_item.values()] or [int, float, unicode, bool] ) for t in self.item_types: if "create_%s" % t.__name__ in globals().keys(): setattr(self, "create_%s" % t.__name__, globals()["create_%s" % t.__name__]) self.show_fields = kwargs.pop("show_fields", False) self.deployed = [] self.data = data = kwargs.pop("data", {}) self.draw_zebra = draw_zebra = kwargs.pop("draw_zebra", True) # self.inner_width = kwargs.pop('inner_width', 'auto') self.inner_width = kwargs.pop("inner_width", 500) self.__num_rows = len(data.keys()) self.build_layout() # row_height = self.font.size(' ')[1] row_height = self.font.get_linesize() self.treeRow = treeRow = TreeRow((self.inner_width, row_height), 10, draw_zebra=draw_zebra) Column.__init__(self, [treeRow], **kwargs)
def __init__(self, *args, **kwargs): self.menu = [("Add", "add_item"), ("Delete", "delete_item"), ("New child", "add_child"), ("Rename", "rename_item"), ("", ""), ("Cut", "cut_item"), ("Copy", "copy_item"), ("Paste", "paste_item"), ("Paste as child", "paste_child"), ] if not hasattr(self, 'map_types_item'): global map_types_item self.map_types_item = setup_map_types_item() self.selected_item_index = None # cached_item_index is set to False during startup to avoid a predefined selected item to be unselected when closed # the first time. self.cached_selected_item_index = False self.selected_item = None self.clicked_item = None self.copyBuffer = kwargs.pop('copyBuffer', None) self._parent = kwargs.pop('_parent', None) self.styles = kwargs.pop('styles', {}) self.compound_types = [dict,] + kwargs.pop('compound_types', []) self.item_types = self.compound_types + kwargs.pop('item_types', [a[0] for a in self.map_types_item.values()] or [int, float, unicode, bool]) for t in self.item_types: if 'create_%s'%t.__name__ in globals().keys(): setattr(self, 'create_%s'%t.__name__, globals()['create_%s'%t.__name__]) self.show_fields = kwargs.pop('show_fields', False) self.deployed = [] self.data = data = kwargs.pop("data", {}) self.draw_zebra = draw_zebra = kwargs.pop('draw_zebra', True) # self.inner_width = kwargs.pop('inner_width', 'auto') self.inner_width = kwargs.pop('inner_width', 500) self.__num_rows = len(data.keys()) self.build_layout() # row_height = self.font.size(' ')[1] row_height = self.font.get_linesize() self.treeRow = treeRow = TreeRow((self.inner_width, row_height), 10, draw_zebra=draw_zebra) Column.__init__(self, [treeRow,], **kwargs)
def __init__(self, *args, **kwargs): self.menu = [("Add", "add_item"), ("Delete", "delete_item"), ("New child", "add_child"), ("Rename", "rename_item"), ] self.selected_item_index = None self.selected_item = None self._parent = kwargs.pop('_parent', None) self.styles = kwargs.pop('styles', {}) self.compound_types = [dict,] + kwargs.pop('compound_types', []) self.show_fields = kwargs.pop('show_fields', False) self.deployed = [] self.data = data = kwargs.pop("data", {}) self.draw_zebra = draw_zebra = kwargs.pop('draw_zebra', True) # self.inner_width = kwargs.pop('inner_width', 'auto') self.inner_width = kwargs.pop('inner_width', 500) self.__num_rows = len(data.keys()) self.build_layout() row_height = self.font.size(' ')[1] self.treeRow = treeRow = TreeRow((self.inner_width, row_height), 10, draw_zebra=draw_zebra) Column.__init__(self, [treeRow,], **kwargs)