def setup_image_button(image, colnr): col = new_pb_column(" ", resizable=False, expand=False, stock_id=image) setattr(col, "col_descr", colnr) tv.append_column(col)
def setup_treeview_col_c_display_color(self, treeview, name, col_descr, col_index, tv_col_nr): def set_pb(column, cell_renderer, tree_model, iter, col_index): # @ReservedAssignment try: color = tree_model.get_value(iter, col_index) except TypeError: pass # invalid iter else: color = convert_string_to_gdk_color_int(color) phase = tree_model.get_user_data(iter) pb, old_color = getattr(phase, "__col_c_pb", (None, None)) if old_color != color: pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, 10, 20) # @UndefinedVariable pb.fill(color) setattr(phase, "__col_c_pb", (color, pb)) cell_renderer.set_property('pixbuf', pb) treeview.append_column( new_pb_column(name, data_func=(set_pb, (col_index, )), resizable=False, expand=False)) return True
def setup_image_button(image, colnr): col = new_pb_column("", resizable=False, expand=False, stock_id=image) col.set_data("colnr", colnr) widget.append_column(col)
def setup_treeview_col_c_display_color(self, treeview, name, col_descr, col_index, tv_col_nr): def set_pb(column, cell_renderer, tree_model, iter, col_index): # @ReservedAssignment try: color = tree_model.get_value(iter, col_index) except TypeError: pass # invalid iter else: color = convert_string_to_gdk_color_int(color) phase = tree_model.get_user_data(iter) pb, old_color = getattr(phase, "__col_c_pb", (None, None)) if old_color != color: pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, 10, 20) # @UndefinedVariable pb.fill(color) setattr(phase, "__col_c_pb", (color, pb)) cell_renderer.set_property('pixbuf', pb) treeview.append_column(new_pb_column( name, data_func=(set_pb, (col_index,)), resizable=False, expand=False)) return True
def setup_refinables_tree_view(self, store, widget): """ Setup refinables TreeView layout """ widget.set_show_expanders(True) if sys.platform == "win32": def get_label(column, cell, model, itr, user_data=None): ref_prop = model.get_tree_node_object(itr) cell.set_property("text", ref_prop.text_title) return widget.append_column(new_text_column('Name/Prop', xalign=0.0, data_func=get_label)) else: # Labels are parsed for mathtext markup into pb's: def get_pb(column, cell, model, itr, user_data=None): ref_prop = model.get_tree_node_object(itr) try: if not hasattr(ref_prop, "pb") or not ref_prop.pb: ref_prop.pb = create_pb_from_mathtext( ref_prop.title, align='left', weight='medium' ) cell.set_property("pixbuf", ref_prop.pb) except RuntimeError: logger.warning("An error occured when trying to convert a property title to a PixBuf") raise return widget.append_column(new_pb_column('Name/Prop', xalign=0.0, data_func=get_pb)) # Editable floats: def get_value(column, cell, model, itr, *args): col = column.get_col_attr('markup') try: value = model.get_value(itr, col) value = "%.5f" % value except TypeError: value = "" cell.set_property("markup", value) return def on_float_edited(rend, path, new_text, model, col): itr = model.get_iter(path) try: model.set_value(itr, col, float(new_text)) except ValueError: return False return True def_float_args = { "sensitive_col": store.c_refinable, "editable_col": store.c_refinable, "visible_col": store.c_refinable, "data_func": get_value } widget.append_column(new_text_column( "Value", markup_col=store.c_value, edited_callback=( on_float_edited, (store, store.c_value,) ), **def_float_args )) widget.append_column(new_text_column( "Min", markup_col=store.c_value_min, edited_callback=( on_float_edited, (store, store.c_value_min,) ), **def_float_args )) widget.append_column(new_text_column( "Max", markup_col=store.c_value_max, edited_callback=( on_float_edited, (store, store.c_value_max,) ), **def_float_args )) # The 'refine' checkbox: widget.append_column(new_toggle_column( "Refine", toggled_callback=(self.refine_toggled, (store,)), resizable=False, expand=False, active_col=store.c_refine, sensitive_col=store.c_refinable, activatable_col=store.c_refinable, visible_col=store.c_refinable ))
def setup_image_button(image, colnr): col = new_pb_column("", resizable=False, expand=False, stock_id=image) setattr(col, "colnr", colnr) widget.append_column(col)
def setup_refinables_tree_view(self, store, widget): """ Setup refinables TreeView layout """ widget.set_show_expanders(True) if sys.platform == "win32": def get_label(column, cell, model, itr, user_data=None): ref_prop = model.get_tree_node_object(itr) cell.set_property("text", ref_prop.get_text_title()) return widget.append_column(new_text_column('Name/Prop', xalign=0.0, data_func=get_label)) else: # Labels are parsed for mathtext markup into pb's: def get_pb(column, cell, model, itr, user_data=None): ref_prop = model.get_tree_node_object(itr) try: if not hasattr(ref_prop, "pb") or not ref_prop.pb: ref_prop.pb = create_pb_from_mathtext( ref_prop.title, align='left', weight='medium' ) cell.set_property("pixbuf", ref_prop.pb) except RuntimeError: logger.warning("An error occured when trying to convert a property title to a PixBuf") raise return widget.append_column(new_pb_column('Name/Prop', xalign=0.0, data_func=get_pb)) # Editable floats: def get_value(column, cell, model, itr, *args): col = column.get_col_attr('markup') try: value = model.get_value(itr, col) value = "%.5f" % value except TypeError: value = "" cell.set_property("markup", value) return def on_float_edited(rend, path, new_text, model, col): itr = model.get_iter(path) try: model.set_value(itr, col, float(new_text)) except ValueError: return False return True def_float_args = { "sensitive_col": store.c_refinable, "editable_col": store.c_refinable, "visible_col": store.c_refinable, "data_func": get_value } widget.append_column(new_text_column( "Value", markup_col=store.c_value, edited_callback=( on_float_edited, (store, store.c_value,) ), **def_float_args )) widget.append_column(new_text_column( "Min", markup_col=store.c_value_min, edited_callback=( on_float_edited, (store, store.c_value_min,) ), **def_float_args )) widget.append_column(new_text_column( "Max", markup_col=store.c_value_max, edited_callback=( on_float_edited, (store, store.c_value_max,) ), **def_float_args )) # The 'refine' checkbox: widget.append_column(new_toggle_column( "Refine", toggled_callback=(self.refine_toggled, (store,)), resizable=False, expand=False, active_col=store.c_refine, sensitive_col=store.c_refinable, activatable_col=store.c_refinable, visible_col=store.c_refinable ))
def setup_image_button(image, colnr): col = new_pb_column(" ", resizable=False, expand=False, stock_id=image) col.set_data("col_descr", colnr) tv.append_column(col)