[Change] Some interface improvement.

This commit is contained in:
Allanis 2013-04-13 21:07:41 +01:00
parent 0d5a1c6517
commit f14246c578
2 changed files with 43 additions and 26 deletions

View File

@ -46,7 +46,7 @@ class space:
# Hook events and stuff. # Hook events and stuff.
hooks = { hooks = {
"winSystems":["destroy",self.__done], "winSystems":["destroy",self.__done],
"treSystems":["row-activated", self.__update], "treSystems":["button-release-event", self.__update],
"butDone":["clicked", self.__done], "butDone":["clicked", self.__done],
"butSave":["clicked",self.saveSystems], "butSave":["clicked",self.saveSystems],
"butZoomIn":["clicked", self.__space_zoomin], "butZoomIn":["clicked", self.__space_zoomin],
@ -112,6 +112,8 @@ class space:
self.__store(); self.__store();
self.cur_system = self.__curSystem() self.cur_system = self.__curSystem()
if self.cur_system == "":
return
system = self.systems[self.cur_system] system = self.systems[self.cur_system]
# Load it all. # Load it all.
@ -144,6 +146,8 @@ class space:
def __store(self): def __store(self):
sys_name = self.__swidget("inpName").get_text() sys_name = self.__swidget("inpName").get_text()
if sys_name == "":
return
# Renamed the current system. # Renamed the current system.
if sys_name != self.cur_system: if sys_name != self.cur_system:
@ -195,7 +199,7 @@ class space:
iter = tree.get_selection().get_selected()[1] iter = tree.get_selection().get_selected()[1]
p = model.iter_parent(iter) p = model.iter_parent(iter)
except: except:
return None return ""
if p == None: if p == None:
return model.get_value(iter, 0) return model.get_value(iter, 0)
else: else:
@ -213,36 +217,49 @@ class space:
self.__space_draw() self.__space_draw()
def __space_down(self, wgt, event): def __space_down(self, wgt, event):
if event.button == 1: x = event.x
x = event.x y = event.y
y = event.y
wx, wy, ww, wh = self.__swidget("draSpace").get_allocation() 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)
# Modify the current position. mx = x - (self.x*self.zoom + ww/2)
if self.__swidget("butReposition").get_active() and self.cur_system != "": my = y - (self.y*self.zoom + wh/2)
system = self.systems[self.cur_system]
system["pos"]["x"] = str(int(mx))
system["pos"]["y"] = str(int(-my))
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) system = self.systems[self.cur_system]
else: system["pos"]["x"] = str(int(mx))
r = 15 system["pos"]["y"] = str(int(-my))
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: self.__space_draw()
self.space_sel = name
self.__space_draw() self.__swidget("butReposition").set_active(False)
break
# 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 return True
def __space_drag(self, wgt, event): def __space_drag(self, wgt, event):

Binary file not shown.