From f14246c578008ff43508f44c170e01fb3f467f9c Mon Sep 17 00:00:00 2001 From: Allanis Date: Sat, 13 Apr 2013 21:07:41 +0100 Subject: [PATCH] [Change] Some interface improvement. --- utils/resedit/space.py | 69 +++++++++++++++++++++++++--------------- utils/resedit/space.pyc | Bin 12193 -> 12518 bytes 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/utils/resedit/space.py b/utils/resedit/space.py index 159cd7c..01c9cb3 100644 --- a/utils/resedit/space.py +++ b/utils/resedit/space.py @@ -46,7 +46,7 @@ class space: # Hook events and stuff. hooks = { "winSystems":["destroy",self.__done], - "treSystems":["row-activated", self.__update], + "treSystems":["button-release-event", self.__update], "butDone":["clicked", self.__done], "butSave":["clicked",self.saveSystems], "butZoomIn":["clicked", self.__space_zoomin], @@ -112,6 +112,8 @@ class space: self.__store(); self.cur_system = self.__curSystem() + if self.cur_system == "": + return system = self.systems[self.cur_system] # Load it all. @@ -144,6 +146,8 @@ class space: def __store(self): sys_name = self.__swidget("inpName").get_text() + if sys_name == "": + return # Renamed the current system. if sys_name != self.cur_system: @@ -195,7 +199,7 @@ class space: iter = tree.get_selection().get_selected()[1] p = model.iter_parent(iter) except: - return None + return "" if p == None: return model.get_value(iter, 0) else: @@ -213,36 +217,49 @@ class space: self.__space_draw() def __space_down(self, wgt, event): - if event.button == 1: - x = event.x - y = event.y + x = event.x + y = event.y - wx, wy, ww, wh = self.__swidget("draSpace").get_allocation() - mx = x - (self.x*self.zoom + ww/2) - my = y - (self.y*self.zoom + wh/2) + wx, wy, ww, wh = self.__swidget("draSpace").get_allocation() - # Modify the current position. - if self.__swidget("butReposition").get_active() and self.cur_system != "": - system = self.systems[self.cur_system] - system["pos"]["x"] = str(int(mx)) - system["pos"]["y"] = str(int(-my)) + mx = x - (self.x*self.zoom + ww/2) + my = y - (self.y*self.zoom + wh/2) - self.__space_draw() + # Modify the current position. + if event.button == 1 and self.__swidget("butReposition").get_active() and self.cur_system != "": - self.__swidget("butReposition").set_active(False) - else: - r = 15 - for name, sys in self.systems.items(): - sx = int(sys["pos"]["x"]) - sy = -int(sys["pos"]["y"]) + system = self.systems[self.cur_system] + system["pos"]["x"] = str(int(mx)) + system["pos"]["y"] = str(int(-my)) - if abs(sx-mx) < r and abs(sy-my) < r: - self.space_sel = name - self.__space_draw() - break + self.__space_draw() + + self.__swidget("butReposition").set_active(False) + + # See if a system is in "click" range. + r = 15 + for name, sys in self.systems.items(): + sx = int(sys["pos"]["x"]) + sy = -int(sys["pos"]["y"]) + + if abs(sx-mx) < r and abs(sy-my) < r: + if event.button == 1 and event.type == gtk.gdk._2BUTTON_PRESS: + tree = self.__swidget("treSystems") + i = 0 + for row in tree.get_model(): + if row[0] == name: + tree.set_cursor(i) + self.__update() + break + i = i + 1 + elif event.button == 1: + self.space_sel = name + self.__space_draw() + break + + self.lx = x + self.ly = y - self.lx = x - self.ly = y return True def __space_drag(self, wgt, event): diff --git a/utils/resedit/space.pyc b/utils/resedit/space.pyc index b20c49fb6c6252d2a303b9fb86198059554e56d6..43bb82014c12c5e4660183c0a59534d22d790a17 100644 GIT binary patch delta 1512 zcmZuxOKclu5T4mxub=DZI)22ilZFyU#0CN_AReM6k;+49vPqN!1h>gLQC$?*_Le%* znj!_MClJyvQAA5gDH4_13$nPR2oM~&aA<|#k_!jg3QkCH;>65vCzTMA_wzq9|BPq8 zZ`M~TcTec*Uq)d6_80p3K-vU=`sLyyq14*u;aT zjH)1G32=RU6jB#%FgY;gl?|)RnIyQTbK348eZLNwnwKlGf1Mho!d^≫RR7 z*!WbumYjUi2euzbflaMPf)89TkQ(d_{l`nhk~b{9JXA5l{8+~ctL|B49Znq^vlnt`+rfn)4)O+oTZe7uCT z7n4hI6gP5}bJW*fDUZT!M!|_eEe^GWtWQq4Ei4R85MxC;acDQerE79gCzqav4()G( zV;R?wd4D6vli<W{~gbX+odhMEgpUNsMszSj4^*P#O@z{g#O8>`KWI=XrHGVSxF}RNh2kGU3odk_3k4T-<3e|O?whd%5#BxTp6~qK z^PThS!cN69{zy0vUA%0aal8b8`r1qT78Zl$7Z-vhzx|Q(W`thjL+%K#x!K1E(@hh; zLe4kjn77r4sMc*YDryYVz76f~h}MJLzt=c&rxmh(f^WF@&Afqf5JfeHz{Uol6+>ep zj7lOmd$J!b$q_@Xc&+u+&9yHClsu&I36KS6=E}U1Rx`f78<)u=|LZ2kBeS&gri#Ic~vr)((WDXl< zCpLzrKu(DE{0EJPXd*;?2t7$5W3F_nozD(Y{G2H3AwQI9KioG+^eHd(*Ji}=2|Ze1 zMP9ywrb6er()NbJ@vbf&9X-r!hM9*%E)(Z-yL6Rr=6<5D_?v+rPJF8?St39#*|ccL z&6A^{qjJ_S>$ymoa4x#)$D~!+9-&4q3N5qCpe(DeiJjqvvOXmOloBp&HA;EP8xz9p01YZf z<&-5znlfrq><-10O>t^JIkG}@j<1bARrpYXOK)kht;O3~yradtTD->(jGb10p?zVD zh+N*B$ne$iUCMs2IblkM*NeZ5|4(qBBzUpW`Mq3vpSSnkZ=Kf(clgJ>JCtv~a`$&c zkGD&cCy1`|g?+D5g(s(eqgBrCKW}|4u0^odf0X~;Ur6k+?}|t5WXeiK>`}hwz?FXh DBy{pf