⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grid.py

📁 用python写的ide开发环境,巨强大,不过需要wxpython的支持
💻 PY
📖 第 1 页 / 共 2 页
字号:
            self.properties['lines_color'].set_value(self.lines_color)        self.widget.SetRowLabelSize(self.row_label_size)        self.widget.SetColLabelSize(self.col_label_size)        self.widget.EnableEditing(self.enable_editing)        self.widget.EnableGridLines(self.enable_grid_lines)        self.widget.EnableDragColSize(self.enable_col_resize)        self.widget.EnableDragRowSize(self.enable_row_resize)        self.widget.EnableDragGridSize(self.enable_grid_resize)        self.widget.SetGridLineColour(misc.string_to_color(self.lines_color))        self.widget.SetLabelBackgroundColour(misc.string_to_color(            self.label_bg_color))        i = 0        for l, s in self.columns:            try: s1 = int(s)            except: s1 = 0            self.widget.SetColLabelValue(i, l)            if s1 > 0:                self.widget.SetColSize(i, s1)            i += 1        self.set_selection_mode(self.selection_mode)        # following two events are to permit select grid from designer frame        EVT_GRID_CELL_LEFT_CLICK(self.widget, self.on_set_focus)          EVT_GRID_LABEL_LEFT_CLICK(self.widget, self.on_set_focus)        # these are to show the popup menu on right click        EVT_GRID_CELL_RIGHT_CLICK(self.widget, self.popup_menu)        EVT_GRID_LABEL_RIGHT_CLICK(self.widget, self.popup_menu)    def get_create_grid(self):        return self.create_grid    def set_create_grid(self, value):        self.create_grid = bool(int(value))    def get_row_label_size(self):        return self.row_label_size    def set_row_label_size(self, value):        self.row_label_size = int(value)        if value and self.widget:            self.widget.SetRowLabelSize(self.row_label_size)    def get_col_label_size(self):        return self.col_label_size    def set_col_label_size(self, value):        self.col_label_size = int(value)        if value and self.widget:            self.widget.SetColLabelSize(self.col_label_size)    def get_enable_editing(self):        return self.enable_editing    def set_enable_editing(self, value):        self.enable_editing = bool(int(value))        # Do nothing.##        if value and self.widget:##            self.widget.EnableEditing(self.enable_editing) # NO!    def get_enable_grid_lines(self):        return self.enable_grid_lines    def set_enable_grid_lines(self, value):        self.enable_grid_lines = bool(int(value))        if self.widget:            self.widget.EnableGridLines(self.enable_grid_lines)            #self.widget.Update()    def get_rows_number(self):        return self.rows_number    def set_rows_number(self, value):        self.rows_number = int(value)     # the value the user entered        if value > 0 and self.widget:            # the value that the grid has            actual_rows_number = self.widget.GetNumberRows()            if self.rows_number > actual_rows_number:                # we have to add rows                self.widget.AppendRows(self.rows_number - actual_rows_number)            if actual_rows_number > self.rows_number:                # we have to delete rows                self.widget.DeleteRows(self.rows_number,                                       actual_rows_number - self.rows_number)            #self.widget.Update()    def get_enable_col_resize(self):        return self.enable_col_resize    def set_enable_col_resize(self, value):        self.enable_col_resize = bool(int(value))        if self.widget:            self.widget.EnableDragColSize(self.enable_col_resize)    def get_enable_row_resize(self):        return self.enable_row_resize    def set_enable_row_resize(self, value):        self.enable_row_resize = bool(int(value))        if self.widget:            self.widget.EnableDragRowSize(self.enable_row_resize)    def get_enable_grid_resize(self):        return self.enable_grid_resize    def set_enable_grid_resize(self, value):        self.enable_grid_resize = bool(int(value))        if self.widget:            self.widget.EnableDragGridSize(self.enable_grid_resize)    def get_lines_color(self):        return self.lines_color    def set_lines_color(self, value):        self.lines_color = str(value)        if self.widget:            self.widget.SetGridLineColour(misc.string_to_color(                self.lines_color))    def get_label_bg_color(self):        return self.label_bg_color    def set_label_bg_color(self, value):        self.label_bg_color = str(value)        if self.widget:            self.widget.SetLabelBackgroundColour(misc.string_to_color(                self.label_bg_color))    def get_selection_mode(self):        return self.selection_mode##         if self.selection_mode == wxGrid.wxGridSelectCells:   return 0##         if self.selection_mode == wxGrid.wxGridSelectRows:    return 1##         if self.selection_mode == wxGrid.wxGridSelectColumns: return 2    def set_selection_mode(self, value):        _sel_modes = {            'wxGrid.wxGridSelectCells': 0,            'wxGrid.wxGridSelectRows': 1,            'wxGrid.wxGridSelectColumns': 2,            }        if value in _sel_modes:            self.selection_mode = _sel_modes[value]        else:            try: value = int(value)            except: pass            else: self.selection_mode = value##         if value == 0:##             self.selection_mode = wxGrid.wxGridSelectCells##         elif value == 1:##             self.selection_mode = wxGrid.wxGridSelectRows##         else:##             self.selection_mode = wxGrid.wxGridSelectColumns        # no operation on the grid.    def get_columns(self):        return self.columns    def set_columns(self, cols):        # first of all, adjust col number        _oldcolnum = len(self.columns)         _colnum = len(cols)        self.columns = cols        if not self.widget: return        if _colnum > _oldcolnum:            self.widget.AppendCols(_colnum - _oldcolnum)        if _colnum < _oldcolnum:            self.widget.DeleteCols(0, _oldcolnum - _colnum)        i = 0        for l, s in cols:            try: s1 = int(s)            except: s1 = 0            self.widget.SetColLabelValue(i, misc.wxstr(l))            if s1 > 0:                self.widget.SetColSize(i, s1)            i += 1        self.widget.ForceRefresh()                def get_property_handler(self, name):        if name == 'columns': return ColsHandler(self)        return ManagedBase.get_property_handler(self, name)# end of class EditGrid        def builder(parent, sizer, pos, number=[1]):    """\    factory function for EditGrid objects.    """    label = 'grid_%d' % number[0]    while common.app_tree.has_name(label):        number[0] += 1        label = 'grid_%d' % number[0]    grid = EditGrid(label, parent, wx.NewId(), sizer, pos,                    common.property_panel)    # A grid should be wx.EXPANDed and 'option' should be 1,    # or you can't see it.    grid.set_option(1)      grid.set_flag("wxEXPAND")    node = Tree.Node(grid)    grid.node = node    grid.show_widget(True)    common.app_tree.insert(node, sizer.node, pos-1)def xml_builder(attrs, parent, sizer, sizeritem, pos=None):    """\    factory to build EditGrid objects from an xml file    """    from xml_parse import XmlParsingError    try: label = attrs['name']    except KeyError: raise XmlParsingError, _("'name' attribute missing")    if sizer is None or sizeritem is None:        raise XmlParsingError, _("sizer or sizeritem object cannot be None")    grid = EditGrid(label, parent, wx.NewId(), sizer,                    pos, common.property_panel, show=False)    sizer.set_item(grid.pos, option=sizeritem.option, flag=sizeritem.flag,                   border=sizeritem.border) #, size=(100,100))  #HELP#    node = Tree.Node(grid)    grid.node = node    if pos is None: common.app_tree.add(node, sizer.node)    else: common.app_tree.insert(node, sizer.node, pos-1)    return griddef initialize():    """\    initialization function for the module: returns a wx.BitmapButton to be    added to the main palette.    """    common.widgets['EditGrid'] = builder    common.widgets_from_xml['EditGrid'] = xml_builder    return common.make_object_button('EditGrid', 'icons/grid.xpm')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -