[Add] Preliminary new system support.
This commit is contained in:
parent
f14246c578
commit
740386f7a5
@ -53,23 +53,13 @@ class space:
|
|||||||
"butZoomOut":["clicked", self.__space_zoomout],
|
"butZoomOut":["clicked", self.__space_zoomout],
|
||||||
"butReset":["clicked", self.__space_reset],
|
"butReset":["clicked", self.__space_reset],
|
||||||
"butAddJump":["clicked", self.__jump_add],
|
"butAddJump":["clicked", self.__jump_add],
|
||||||
"butRmJump":["clicked", self.__jump_rm]
|
"butRmJump":["clicked", self.__jump_rm],
|
||||||
|
"butNew":["clicked", self.__new]
|
||||||
}
|
}
|
||||||
for key, val in hooks.items():
|
for key, val in hooks.items():
|
||||||
self.__swidget(key).connect(val[0], val[1])
|
self.__swidget(key).connect(val[0], val[1])
|
||||||
|
|
||||||
# Populate the tree.
|
self.__create_treSystems()
|
||||||
self.tree_systems = gtk.TreeStore(str)
|
|
||||||
for system in self.systems: # Load the planets.
|
|
||||||
treenode = self.tree_systems.append(None, [system])
|
|
||||||
for planet in self.systems[system]['planets']:
|
|
||||||
self.tree_systems.append(treenode, [planet])
|
|
||||||
col = gtk.TreeViewColumn('Systems')
|
|
||||||
cell = gtk.CellRendererText()
|
|
||||||
self.__swidget("treSystems").append_column(col)
|
|
||||||
col.pack_start(cell, True)
|
|
||||||
col.add_attribute(cell, 'text', 0)
|
|
||||||
self.__swidget("treSystems").set_model(self.tree_systems)
|
|
||||||
|
|
||||||
# Custom widget drawing area thingy.
|
# Custom widget drawing area thingy.
|
||||||
self.zoom = 1
|
self.zoom = 1
|
||||||
@ -95,6 +85,19 @@ class space:
|
|||||||
# ---------------------------------------------
|
# ---------------------------------------------
|
||||||
gtk.main()
|
gtk.main()
|
||||||
|
|
||||||
|
def __create_treSystems(self):
|
||||||
|
# Populate the tree.
|
||||||
|
self.tree_systems = gtk.TreeStore(str)
|
||||||
|
for system in self.systems: # Load the planets.
|
||||||
|
treenode = self.tree_systems.append(None, [system])
|
||||||
|
for planet in self.systems[system]['planets']:
|
||||||
|
self.tree_systems.append(treenode, [planet])
|
||||||
|
col = gtk.TreeViewColumn('Systems')
|
||||||
|
cell = gtk.CellRendererText()
|
||||||
|
self.__swidget("treSystems").append_column(col)
|
||||||
|
col.pack_start(cell, True)
|
||||||
|
col.add_attribute(cell, 'text', 0)
|
||||||
|
self.__swidget("treSystems").set_model(self.tree_systems)
|
||||||
|
|
||||||
def __swidget(self,wgtname):
|
def __swidget(self,wgtname):
|
||||||
"""
|
"""
|
||||||
@ -102,7 +105,6 @@ class space:
|
|||||||
"""
|
"""
|
||||||
return self.swtree.get_widget(wgtname)
|
return self.swtree.get_widget(wgtname)
|
||||||
|
|
||||||
|
|
||||||
def __update(self, wgt=None, index=None, iter=None):
|
def __update(self, wgt=None, index=None, iter=None):
|
||||||
"""
|
"""
|
||||||
Update the window
|
Update the window
|
||||||
@ -125,7 +127,7 @@ class space:
|
|||||||
"labPos":"%s,%s" % (system["pos"]["x"],system["pos"]["y"])
|
"labPos":"%s,%s" % (system["pos"]["x"],system["pos"]["y"])
|
||||||
}
|
}
|
||||||
for key, value in dic.items():
|
for key, value in dic.items():
|
||||||
self.__swidget(key).set_text(value)
|
self.__swidget(key).set_text(str(value))
|
||||||
|
|
||||||
# Load jumps.
|
# Load jumps.
|
||||||
|
|
||||||
@ -245,13 +247,7 @@ class space:
|
|||||||
if abs(sx-mx) < r and abs(sy-my) < r:
|
if abs(sx-mx) < r and abs(sy-my) < r:
|
||||||
if event.button == 1 and event.type == gtk.gdk._2BUTTON_PRESS:
|
if event.button == 1 and event.type == gtk.gdk._2BUTTON_PRESS:
|
||||||
tree = self.__swidget("treSystems")
|
tree = self.__swidget("treSystems")
|
||||||
i = 0
|
self.__selfSys(name)
|
||||||
for row in tree.get_model():
|
|
||||||
if row[0] == name:
|
|
||||||
tree.set_cursor(i)
|
|
||||||
self.__update()
|
|
||||||
break
|
|
||||||
i = i + 1
|
|
||||||
elif event.button == 1:
|
elif event.button == 1:
|
||||||
self.space_sel = name
|
self.space_sel = name
|
||||||
self.__space_draw()
|
self.__space_draw()
|
||||||
@ -380,6 +376,25 @@ class space:
|
|||||||
self.__update()
|
self.__update()
|
||||||
self.__space_draw()
|
self.__space_draw()
|
||||||
|
|
||||||
|
def __new(self, wgt=None, event=None):
|
||||||
|
name = "untitled"
|
||||||
|
gen = { "asteroids":0, "interference":0, "stars":100 }
|
||||||
|
pos = { "x":0, "y":0 }
|
||||||
|
new_ssys = { "general":gen, "pos":pos, "jumps":[], "fleets":[], "planets":[] }
|
||||||
|
self.systems[name] = new_ssys
|
||||||
|
self.__create_treSystems()
|
||||||
|
self.__selSys(name)
|
||||||
|
|
||||||
|
def __selSys(self, system):
|
||||||
|
i = 0
|
||||||
|
tree = self.__swidget("treSystems")
|
||||||
|
for row in tree.get_model():
|
||||||
|
if row[0] == system:
|
||||||
|
tree.set_cursor(i)
|
||||||
|
self.__update()
|
||||||
|
break
|
||||||
|
i = i+1
|
||||||
|
|
||||||
def debug(self):
|
def debug(self):
|
||||||
print "SYSTEMS LOADED:"
|
print "SYSTEMS LOADED:"
|
||||||
print self.systems
|
print self.systems
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user