From fc21c58ab3e1e44e5f046921d1673792c031ce94 Mon Sep 17 00:00:00 2001 From: flatberg Date: Wed, 30 Aug 2006 10:27:45 +0000 Subject: [PATCH] Added icons to navigator --- icons/category_dataset.png | Bin 0 -> 666 bytes icons/dataset.png | Bin 0 -> 671 bytes icons/folder_grey.png | Bin 0 -> 636 bytes icons/graph_dataset.png | Bin 0 -> 762 bytes icons/line_plot.png | Bin 0 -> 727 bytes system/fluents.py | 1 + system/navigator.py | 9 ++++++--- system/plots.py | 4 ++-- system/project.py | 33 +++++++++++++++++++++++---------- 9 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 icons/category_dataset.png create mode 100644 icons/dataset.png create mode 100644 icons/folder_grey.png create mode 100644 icons/graph_dataset.png create mode 100644 icons/line_plot.png diff --git a/icons/category_dataset.png b/icons/category_dataset.png new file mode 100644 index 0000000000000000000000000000000000000000..bddfc9bfd489d330edddf6a0e371a3460a16f93f GIT binary patch literal 666 zcmeAS@N?(olHy`uVBq!ia0y~yU=RXf4mJh`hOl#e;S3B6EX7WqAsieW95oy%9SjT% zk|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+?-kFzI-@IEGmCo}FyyAL1y| zy1)AVo>(!lfP%)RBPXP^JvB_CBwy<0d=0br=ilf1 zF)8nVIn}=48=HfwPk$-Do_Y5p9S0H4_Qhxay6LDf`b_%N&6j`Hw7cy5XH$Q>{BtGi zcpLW2kUqb=_;F;qoI=JW&c!c}t!Qa|wNUBy#ADw=4(ENbX)Mxp`em%a>m}tX)WD(V zpnItEThiB05zG}UIy>gf(&)J2wQ`d-t9Xk^)KcXsacks$Z~7V$<@QBHBV6(N5(bUX zn!X?oSJq31y07luc!@!B(Tq@q&X3O)Po0`)^k&jEzx2dsFJ6SPPRsv!q3wfce;{@0H3$u=BPy1-EyH}%VUZ5Ne=>mMwms$2EG_m~84uiCc5;^3sVy`L@R%W@=nyd1ism6kqO?X+b1g4Xy6ZPS|C<~J-TjFS4tbj768h1)|#z_m%E z%djx%__v?$%G#1@r|C0FX+&gpr{_K2S?(USC&SF%KHE&(m8E{O=)a4<{<~C3&9kWs zWi|Lbd-E4|fA{&CF>l0AT~DgdJ6KwjWnj_Sy*ZTOgUg#g54Z0<_bEs@o8$KJwM#Gk zTRW%2;p2{H!h&@hW8wk{4GuS9Xc8mzRx|%5WvN-CdglY?RtBexi9*? z)=aq3al~!jjR;SsBx%9h9-S^OLMc8u%Bi{!!w=8vte0uXxO~^X^U#uFjd^mLXJ3qY z{X6ZN@V7pzgpWl^Yv0z0ObOqW_?L~LLgxFFiTrnq{+cmp%;s62wfpwk>(|v5C5o5$ zRPWsW?Ddi~jdeakO+$pCa|YYwlXVI zIktq?xQK^=)p~{CT*04ewVRjN$L?3U&7>s6l+bwen|Om{0GHA0htIyfmR0)R7TGdI c?YHpXXvaU+><@$)7#J8lUHx3vIVCg!0NNBIFaQ7m literal 0 HcmV?d00001 diff --git a/icons/folder_grey.png b/icons/folder_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d48df6f275b10f96dde22f55487283cb0e4b02 GIT binary patch literal 636 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj zBuiW)N`mv#O3D+9QW?t2%k?tzvWt@w3sUv+i_&Mmvyoz8VB+(1aSXBOZN0QV?}~%K z@sI1@ZuLLuTCl|J6tjbHZ1a>^Umi+o2nq>33Y;+E!9tA%&Mo#$cjRxEZ`^xtZe+FQ zq?l%lW%GV|7=QMjx4-W3XB+)JpZ8RJ6-qAp7JA$4OqWvL>~Gg6AMcl&l^?Hv_RWtO zMOz>J%Q?1W#v4{4g|B*&E`0vaJ_j$BD!8Y(%Hp*|d!haV*9IXbg8)=I365^R4zxXn}>*tqj_vZ37h6M%291NXb=cUbMsq#rzYk5+d;*s0@*Ept6U2?5u zfvMD@Da(Uhb+%n7bU8g~t>)IsMJGEMO57}aSR9h`l<9j;Q!0{hry+T0l!xaKe<7^k@G?8>=dR`X|q``4vLlT-Qc@142r zrs&qSn|_A`-}MSrGL65z{BHHM+k&hbtPMI#`SZ4JkG~eyYB;x`GHi9n+Pr|=nw!@5 zE(px~_266UFFy{Oy@)Ypo0VwKn)o+SJ?_oS zn^nDI=6(3F=bvf7L{70rPX<%RkP})Adl(YRtr$|ur0E?81;9kyijG(N{p*qym5a;YJO(pG6t!x?P|_euk2?k1e(;bJx$E4?zPxs zvOHf(DERGFJ;5_+O)1*)7c_bErwe_^KX6Xmk;CG-OW71fzjbGr8n(=J-p}-Tf@%Gu URYgA;7#J8lUHx3vIVCg!0RKx*UH||9 literal 0 HcmV?d00001 diff --git a/icons/line_plot.png b/icons/line_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..70de6a78606d45bfa1805886527a0bc8fc85992e GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0y~yU=RXf4mJh`hOl#e;S3B6EX7WqAsieW95oy%9SjT% zk|nMYCBgY=CFO}lsSM@i<$9TU*~Q6;1*v-ZMd`EO*+?-kFlBnWIEGmC-o5Pa5#lJr z{^9+Z>euUD-@f{McCPP{`fRl=E)p|6F4QY=H1SQmxRB$Lv+U~-jacr*OC$7IW0jUT z&uw~<)aEGAAuw}x=FXq#<$pK(Z~yzbEX``hmi);audW<;Z(u*;{DJbi<^YR7AHytS zl$Rd4FLKmA>c8OxF#%7Uw6+malz%Xh!F&%UW4!DArd z{O{`Z*wb%zBpnEtvA68$9rk%wX1>>n;1gx&5cr+<{rhs;$NTtnr`dfw^)Xk)x@$3m zfDmVudFbZjQjO69Cz^h!2Hp6lv`K6EbGhH43=0m_F)VG|rfa@)e z;b7;;y}|m&FDHDOETS;M;r4W+`WhwsmwZV|32YXu41SsCm%e*T`A zE!o<*_WFT?M{oA6xVFl`pj4RWD*xjTThgC@?t3!FxZ~2aZELx+3f)#Tu*vf*O=z0b zlf1O)a<2BeV;kFgBBvJYFme3Czg9AoaYn?6f*G0nRlMbWW@9=zv~ptz{~Jt z&5Z4iH_bUx*a9OfOCQ^7C=lKO56Yd literal 0 HcmV?d00001 diff --git a/system/fluents.py b/system/fluents.py index 6bd4e33..1c23b51 100755 --- a/system/fluents.py +++ b/system/fluents.py @@ -18,6 +18,7 @@ from system import project, workflow, dataset, logger, plots, navigator, dialogs PROGRAM_NAME = 'fluents' VERSION = '0.1.0' DATADIR = os.path.dirname(sys.modules['system'].__file__) +ICONDIR = os.path.join(DATADIR,"..","icons") GLADEFILENAME = os.path.join(DATADIR, 'fluents.glade') class FluentApp: diff --git a/system/navigator.py b/system/navigator.py index fb996cf..33064be 100644 --- a/system/navigator.py +++ b/system/navigator.py @@ -18,6 +18,7 @@ class NavigatorView (gtk.TreeView): # various properties self.set_headers_visible(False) + self.get_hadjustment().set_value(0) # Selection Mode self.get_selection().set_mode(gtk.SELECTION_MULTIPLE) self.get_selection().set_select_function(self.is_selectable) @@ -29,10 +30,12 @@ class NavigatorView (gtk.TreeView): self.connect('row_activated', self.row_activated_handler) self.textrenderer = textrenderer = gtk.CellRendererText() - textrenderer.set_property('foreground_set',True) + pixbufrenderer = gtk.CellRendererPixbuf() self.object_col = gtk.TreeViewColumn('Object') + self.object_col.pack_start(pixbufrenderer,expand=False) self.object_col.pack_start(textrenderer,expand=False) self.object_col.set_attributes(textrenderer, cell_background=3, foreground=4, text=0) + self.object_col.set_attributes(pixbufrenderer, pixbuf=5) self.append_column(self.object_col) # send events to plots / itself @@ -75,10 +78,10 @@ class NavigatorView (gtk.TreeView): tmp = self._previous_selection self._previous_selection = paths # set timestamp on newly selected objects - [self.data_tree.set_value(self.data_tree.get_iter(path),5,time.time()) for path in paths if path not in tmp] + [self.data_tree.set_value(self.data_tree.get_iter(path),6,time.time()) for path in paths if path not in tmp] objs = [self.data_tree.get_iter(path) for path in paths] - objs = [(self.data_tree.get_value(iter,5), self.data_tree.get_value(iter,2)) for iter in objs] + objs = [(self.data_tree.get_value(iter,6), self.data_tree.get_value(iter,2)) for iter in objs] objs.sort() objs = [obj for timestamp, obj in objs] # order dataset diff --git a/system/plots.py b/system/plots.py index 72efd4e..7ad233d 100644 --- a/system/plots.py +++ b/system/plots.py @@ -558,7 +558,7 @@ has no color and size options.""" #remove old selection if self._selection_line: self.ax.lines.remove(self._selection_line) - self._selection_line, = self.ax.plot(xdata_new,ydata_new,marker='o',markersize=self.ms,linestyle=None) + self._selection_line, = self.ax.plot(xdata_new,ydata_new,marker='o',markersize=self.ms,linestyle=None,markerfacecolor='r') self._toolbar.forward() #update data lims before draw self.canvas.draw() @@ -578,7 +578,7 @@ has no color and size options.""" self.xaxis_data = dataset_1._array[:,x_index] self.yaxis_data = dataset_2._array[:,y_index] - ax.scatter(self.xaxis_data,self.yaxis_data,s=s,c=c,faceted=False,edgecolor='k') + ax.scatter(self.xaxis_data,self.yaxis_data,s=s,c=c,faceted=False,edgecolor='k',alpha=.6,cmap = cm.Set1) ax.set_title(self.get_title()) #ax.set_xlabel("%s - %s" % (sel_dim, id_1)) #ax.set_ylabel("%s - %s" % (sel_dim, id_2)) diff --git a/system/project.py b/system/project.py index 0a9b7c3..f83c093 100644 --- a/system/project.py +++ b/system/project.py @@ -1,7 +1,8 @@ - +import os import scipy import gobject import gtk +import fluents import logger from system import dataset, plots @@ -9,7 +10,8 @@ class Project: def __init__(self,name="Testing"): self.data_tree = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_PYOBJECT, gobject.TYPE_STRING, - gobject.TYPE_STRING, gobject.TYPE_DOUBLE) + gobject.TYPE_STRING, gobject.TYPE_OBJECT, + gobject.TYPE_DOUBLE) self.name = name self.dim_names = [] @@ -69,26 +71,36 @@ class Project: has finished and returns its output.""" parent_iter = self.get_data_iter(parents) - it = self.data_tree_insert(parent_iter, fun, None, "grey","black") - + icon_fname = os.path.join(fluents.ICONDIR,"folder_grey.png") + icon = gtk.gdk.pixbuf_new_from_file(icon_fname) + it = self.data_tree_insert(parent_iter, fun, None, None,"black",icon) + for d in data: if isinstance(d, dataset.GraphDataset): self.add_dataset(d) - self.data_tree_insert(it, d.get_name(), d, "LightPink", "black") + icon_fname = os.path.join(fluents.ICONDIR,"graph_dataset.png") + icon = gtk.gdk.pixbuf_new_from_file(icon_fname) + self.data_tree_insert(it, d.get_name(), d, None, "black",icon) elif isinstance(d,dataset.CategoryDataset): + icon_fname = os.path.join(fluents.ICONDIR,"category_dataset.png") + icon = gtk.gdk.pixbuf_new_from_file(icon_fname) self.add_dataset(d) - self.data_tree_insert(it, d.get_name(), d, "LightSalmon", "black") + self.data_tree_insert(it, d.get_name(), d, None, "black",icon) elif isinstance(d, dataset.Dataset): + icon_fname = os.path.join(fluents.ICONDIR,"dataset.png") + icon = gtk.gdk.pixbuf_new_from_file(icon_fname) self.add_dataset(d) - self.data_tree_insert(it, d.get_name(), d, "LightSkyBlue", "black") + self.data_tree_insert(it, d.get_name(), d, None, "black",icon) elif isinstance(d, plots.Plot): - self.data_tree_insert(it, d.get_title(), d, "PaleGreen", "black") + icon_fname = os.path.join(fluents.ICONDIR,"line_plot.png") + icon = gtk.gdk.pixbuf_new_from_file(icon_fname) + self.data_tree_insert(it, d.get_title(), d, None, "black",icon) d.set_selection_listener(self.set_selection) self._selection_observers.append(d) elif isinstance(d, dataset.Selection): self.add_selection(d) - def data_tree_insert(self, parent, text, data, bgcolour,fontcolour,selected = 0): + def data_tree_insert(self, parent, text, data, bgcolour,fontcolour,icon,selected = 0): tree = self.data_tree it = tree.append(parent) tree.set_value(it, 0, text) @@ -96,7 +108,8 @@ class Project: tree.set_value(it, 2, data) tree.set_value(it, 3, bgcolour) tree.set_value(it, 4, fontcolour) - tree.set_value(it, 5, selected) + tree.set_value(it, 5, icon) + tree.set_value(it, 6, selected) return it def add_dataset(self, dataset):