From 65961d64dafcfdc033c38d94526a0932f17c230a Mon Sep 17 00:00:00 2001 From: sirinelli Date: Mon, 18 Jun 2007 22:21:52 +0000 Subject: [PATCH] Add the "copy" option. git-svn-id: https://mpl-properties.googlecode.com/svn/trunk@4 9118569e-0233-0410-8bc3-a9813c38a78a --- mpl-properties.py => mpl_properties.py | 74 +++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 14 deletions(-) rename mpl-properties.py => mpl_properties.py (85%) diff --git a/mpl-properties.py b/mpl_properties.py similarity index 85% rename from mpl-properties.py rename to mpl_properties.py index 54e19fe..cfc1afa 100644 --- a/mpl-properties.py +++ b/mpl_properties.py @@ -49,6 +49,8 @@ class properties: self.display_image(obj) elif type == 'figure': self.display_figure(obj) + elif type == 'text': + self.display_text(obj) def get_value(self, obj, name): if name == 'linestyle': @@ -115,6 +117,10 @@ class properties: return obj.get_position()[1] elif name == 'text': return obj.get_text() + elif name == 'textfontsize': + return obj.get_fontsize() + elif name == 'textrotation': + return obj.get_rotation() @@ -169,6 +175,10 @@ class properties: obj.set_y(float(value)) elif name == 'text': obj.set_text(value) + elif name == 'textfontsize': + obj.set_fontsize(float(value)) + elif name == 'textrotation': + obj.set_rotation(float(value)) def remove(self, widget): self.paramtable.remove(widget) @@ -184,7 +194,7 @@ class properties: default = self.get_value(obj, name) if default == None: default='' - self.param[name] = gtk.Entry(20) + self.param[name] = gtk.Entry(255) self.param[name].set_text(str(default)) self.param[name].connect("activate", self.apply) self.param[name].show() @@ -196,30 +206,30 @@ class properties: self.paramtable.foreach(self.remove) self.param.clear() for name in self.param_lines_order: - self.add_param(self.paramtable, name, self.param_lines[name], line) + self.add_param(self.paramtable, name, self.param_names[name], line) def display_axe(self, ax): self.paramtable.foreach(self.remove) self.param.clear() for name in self.param_axe_order: - self.add_param(self.paramtable, name, self.param_axe[name], ax) + self.add_param(self.paramtable, name, self.param_names[name], ax) def display_figure(self, figure): self.paramtable.foreach(self.remove) self.param.clear() - for name, title in self.param_figure.items(): - self.add_param(self.paramtable, name, title, figure) + for name in self.param_figure_order: + self.add_param(self.paramtable, name, self.param_names[name], figure) def display_text(self, text): self.paramtable.foreach(self.remove) self.param.clear() - for name, title in self.param_text_order: - self.add_param(self.paramtable, name, title, text) + for name in self.param_text_order: + self.add_param(self.paramtable, name, self.param_names[name], text) def display_image(self, im): self.paramtable.foreach(self.remove) self.param.clear() for name in self.param_image_order: - self.add_param(self.paramtable, name, self.param_image[name], im) + self.add_param(self.paramtable, name, self.param_name[name], im) def apply(self, widget): obj = self.selected @@ -259,12 +269,45 @@ class properties: def update(self, widget): self.window.destroy() - fig_prop() + properties() def copy(self, widget): model, iter = self.treeview.get_selection().get_selected() + self.wincopy = gtk.Window(gtk.WINDOW_TOPLEVEL) + self.wincopy.set_transient_for(self.window) + self.wincopy.set_title('Copy ' + model.get_value(iter, 0)) + vbox = gtk.VBox() + self.wincopy.add(vbox) + scroll = gtk.ScrolledWindow() + vbox.pack_start(scroll) + treeview = gtk.TreeView(model) + renderer = gtk.CellRendererText() + column = gtk.TreeViewColumn('Object ID', renderer, text=0) + treeview.set_headers_visible(False) + treeview.append_column(column) + treeview.show() + scroll.add(treeview) + scroll.show() + hbox = gtk.HBox() + vbox.pack_start(hbox) + button = gtk.Button('Cancel') + button.connect("clicked", self.close_copy) + button.show() + hbox.pack_start(button) + button = gtk.Button('Copy') + button.connect("clicked", self.do_copy) + button.show() + hbox.pack_start(button) + hbox.show() + vbox.show() + self.wincopy.show() if self.type_selected=='line': - print line + print 'line' + + def do_copy(self, widget): + print 'Do copy' + def close_copy(self, widget): + self.wincopy.destroy() def __init__(self): self.selected=None @@ -297,7 +340,9 @@ class properties: 'figheight': 'Height', 'textx': 'X position', 'texty': 'Y position', - 'text': 'Text'} + 'text': 'Text', + 'textfontsize': 'Fontsize', + 'textrotation': 'Rotation'} self.param_lines_order = ['label', 'linestyle', 'linecolor', 'linewidth', 'marker'] self.param_image_order = ['label', 'cmap', 'interp'] @@ -308,7 +353,8 @@ class properties: 'ylabel', 'ylabelfontsize', 'xfontsize', 'yfontsize'] self.param_figure_order = ['figwidth', 'figheight'] - self.param_text_order = ['textx', 'texty', 'text'] + self.param_text_order = ['textx', 'texty', 'text', 'textfontsize', + 'textrotation'] self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) @@ -322,8 +368,8 @@ class properties: self.treeview = gtk.TreeView(self.treestore) self.treeview.set_headers_visible(False) renderer = gtk.CellRendererText() - column = gtk.TreeViewColumn('Object ID', renderer, text=0) - self.treeview.append_column(column) + self.column = gtk.TreeViewColumn('Object ID', renderer, text=0) + self.treeview.append_column(self.column) for figure in P.matplotlib._pylab_helpers.Gcf.get_all_fig_managers(): fig = figure.num iter_fig = self.treestore.append(None, ['Figure %d'%fig, 'figure' ,figure, fig, fig]) -- 2.11.4.GIT