[Add] Initial code for resource editor.
This commit is contained in:
parent
21d25a5585
commit
17e5164ab4
41
utils/resedit/data.py
Normal file
41
utils/resedit/data.py
Normal file
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from xml.dom import minidom
|
||||
|
||||
def load(xmlfile, tag, has_name=True, do_array=None):
|
||||
dom = minidom.parse(xmlfile)
|
||||
xmlNodes = dom.getElementsByTagName(tag)
|
||||
|
||||
dictionary = {}
|
||||
for xmlNode in xmlNodes:
|
||||
mdic = {}
|
||||
# Name is stored as a property and not a node.
|
||||
if(has_name):
|
||||
name = xmlNode.attributes["name"].value
|
||||
|
||||
# Process the nodes.
|
||||
for bignode in filter(lambda x: x.nodeType==x.ELEMENT_NODE, xmlNode.childNodes):
|
||||
# Load the nodes.
|
||||
section = {}
|
||||
array = []
|
||||
for node in filter(lambda x: x.nodeType==x.ELEMENT_NODE,
|
||||
bignode.childNodes):
|
||||
if bignode.nodeName in do_array: # Big ugly hack to use list instead of array.
|
||||
array.append(node.firstChild.data)
|
||||
else: # Normal way (but will overwrite lists).
|
||||
section[node.nodeName] = node.firstChild.data
|
||||
|
||||
if len(array) > 0:
|
||||
mdic[bignode.nodeName] = array
|
||||
else:
|
||||
mdic[bignode.nodeName] = section
|
||||
|
||||
# Append the element to the dictionary.
|
||||
dictionary[name] = mdic
|
||||
|
||||
dom.unlink()
|
||||
return dictionary
|
||||
|
||||
def save(xmlfile, basetag, tag, has_name=True):
|
||||
print "TODO"
|
||||
|
BIN
utils/resedit/data.pyc
Normal file
BIN
utils/resedit/data.pyc
Normal file
Binary file not shown.
11
utils/resedit/resedit.py
Executable file
11
utils/resedit/resedit.py
Executable file
@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import space
|
||||
|
||||
# Load the universe.
|
||||
universe = space.space()
|
||||
universe.loadSystems("../../dat/ssys.xml")
|
||||
universe.loadPlanets("../../dat/planet.xml")
|
||||
universe.debug()
|
||||
universe.window()
|
||||
|
360
utils/resedit/space.glade
Normal file
360
utils/resedit/space.glade
Normal file
@ -0,0 +1,360 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
|
||||
<!--Generated with glade3 3.4.1 on Thu Feb 7 11:50:56 2008 -->
|
||||
<glade-interface>
|
||||
<widget class="GtkWindow" id="winSystems">
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="title" translatable="yes">Systems</property>
|
||||
<property name="default_width">600</property>
|
||||
<property name="default_height">420</property>
|
||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<child>
|
||||
<widget class="GtkHPaned" id="hpaned1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<child>
|
||||
<widget class="GtkTreeView" id="treSystems">
|
||||
<property name="width_request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="headers_clickable">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="resize">False</property>
|
||||
<property name="shrink">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLayout" id="layout1">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<property name="width_request">67</property>
|
||||
<property name="height_request">31</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Name:</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">31</property>
|
||||
<property name="y">26</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkEntry" id="inpName">
|
||||
<property name="width_request">134</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="truncate_multiline">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">95</property>
|
||||
<property name="y">31</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="labPos">
|
||||
<property name="width_request">65</property>
|
||||
<property name="height_request">25</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">X,Y</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">242</property>
|
||||
<property name="y">28</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="butRepos">
|
||||
<property name="width_request">75</property>
|
||||
<property name="height_request">33</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Reposition</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">319</property>
|
||||
<property name="y">23</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label2">
|
||||
<property name="width_request">103</property>
|
||||
<property name="height_request">28</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Interference</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">19</property>
|
||||
<property name="y">75</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkHSeparator" id="hseparator1">
|
||||
<property name="width_request">402</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">6</property>
|
||||
<property name="y">55</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkSpinButton" id="spiInterference">
|
||||
<property name="width_request">74</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="adjustment">0 0 100 1 10 10</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">117</property>
|
||||
<property name="y">79</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label3">
|
||||
<property name="width_request">75</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Asteroids</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">29</property>
|
||||
<property name="y">114</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkSpinButton" id="spiAsteroids">
|
||||
<property name="width_request">72</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="adjustment">0 0 100 1 10 10</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">119</property>
|
||||
<property name="y">113</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label4">
|
||||
<property name="width_request">68</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Stars</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">32</property>
|
||||
<property name="y">144</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkSpinButton" id="spiStars">
|
||||
<property name="width_request">73</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="adjustment">0 0 100 1 10 10</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">120</property>
|
||||
<property name="y">143</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkVSeparator" id="vseparator1">
|
||||
<property name="width_request">20</property>
|
||||
<property name="height_request">259</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">202</property>
|
||||
<property name="y">72</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkDrawingArea" id="draSpace">
|
||||
<property name="width_request">180</property>
|
||||
<property name="height_request">171</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">221</property>
|
||||
<property name="y">88</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkHSeparator" id="hseparator2">
|
||||
<property name="width_request">204</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">5</property>
|
||||
<property name="y">169</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkTreeView" id="treJumps">
|
||||
<property name="width_request">193</property>
|
||||
<property name="height_request">86</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="headers_clickable">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">10</property>
|
||||
<property name="y">205</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="butAddJump">
|
||||
<property name="width_request">70</property>
|
||||
<property name="height_request">27</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Add</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">25</property>
|
||||
<property name="y">298</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="butRmJump">
|
||||
<property name="width_request">70</property>
|
||||
<property name="height_request">29</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Delete</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">121</property>
|
||||
<property name="y">298</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label5">
|
||||
<property name="width_request">126</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Jumps</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">44</property>
|
||||
<property name="y">184</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkLabel" id="labSpace">
|
||||
<property name="width_request">100</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Space</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">263</property>
|
||||
<property name="y">69</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkHSeparator" id="hseparator3">
|
||||
<property name="width_request">190</property>
|
||||
<property name="height_request">20</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">218</property>
|
||||
<property name="y">265</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="butSave">
|
||||
<property name="width_request">87</property>
|
||||
<property name="height_request">38</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Save</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">227</property>
|
||||
<property name="y">290</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="butDone">
|
||||
<property name="width_request">83</property>
|
||||
<property name="height_request">41</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="label" translatable="yes">Done</property>
|
||||
<property name="response_id">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="x">322</property>
|
||||
<property name="y">288</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="resize">True</property>
|
||||
<property name="shrink">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkStatusbar" id="staBottom">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<property name="spacing">2</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</glade-interface>
|
132
utils/resedit/space.py
Normal file
132
utils/resedit/space.py
Normal file
@ -0,0 +1,132 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
try:
|
||||
import gtk,gtk.glade
|
||||
import gobject
|
||||
except:
|
||||
print "You do not have python gtk bindings, or you're missing glade libs"
|
||||
print "To use Lephisto's resedit you must install them"
|
||||
print "http://pygtk.org/ "
|
||||
raise SystemExit
|
||||
|
||||
import data
|
||||
|
||||
class space:
|
||||
|
||||
def __init__(self):
|
||||
self.glade = "space.glade"
|
||||
self.systemsXML = "../../dat/ssys.xml"
|
||||
self.planetsXML = "../../dat/planet.xml"
|
||||
self.loadSystems(self.systemsXML)
|
||||
self.loadPlanets(self.planetsXML)
|
||||
|
||||
def loadSystems(self, xmlfile):
|
||||
self.systems = data.load(xmlfile, "ssys", True, ["jumps","fleets","planets"])
|
||||
|
||||
|
||||
def saveSystems(self, xmlfile):
|
||||
print "TODO"
|
||||
|
||||
|
||||
def loadPlanets(self, xmlfile):
|
||||
self.planets = data.load(xmlfile, "planet", True, ["commodities"])
|
||||
|
||||
|
||||
def savePlanets(self, xmlfile):
|
||||
print "TODO"
|
||||
|
||||
|
||||
def window(self):
|
||||
"""
|
||||
create the window
|
||||
"""
|
||||
# --------------- SYSTEMS --------------------
|
||||
self.swtree = gtk.glade.XML(self.glade, "winSystems")
|
||||
|
||||
# Hook events and stuff.
|
||||
self.__swidget("winSystems").connect("destroy", self.__done)
|
||||
self.__swidget("butDone").connect("clicked", self.__done)
|
||||
self.__swidget("treSystems").connect("row-activated", self.__update)
|
||||
|
||||
# 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)
|
||||
|
||||
# Display the window and such.
|
||||
self.__swidget("winSystems").show_all()
|
||||
|
||||
# ---------------- PLANETS --------------------
|
||||
|
||||
# ---------------------------------------------
|
||||
gtk.main()
|
||||
|
||||
|
||||
def __swidget(self,wgtname):
|
||||
"""
|
||||
get a widget from the winSystems
|
||||
"""
|
||||
return self.swtree.get_widget(wgtname)
|
||||
|
||||
|
||||
def __update(self, wgt=None, foo=None, bar=None):
|
||||
"""
|
||||
Update the window
|
||||
"""
|
||||
# Important thingies.
|
||||
tree = self.__swidget("treSystems")
|
||||
model = tree.get_model()
|
||||
|
||||
# Get system.
|
||||
sel = model.iter_nth_child(None, foo[0])
|
||||
sys_name = model.get_value( sel, 0 )
|
||||
system = self.systems[sys_name]
|
||||
|
||||
# Load it all.
|
||||
dic = {
|
||||
"inpName":sys_name,
|
||||
"spiInterference":system["general"]["interference"],
|
||||
"spiAsteroids":system["general"]["asteroids"],
|
||||
"spiStars":system["general"]["stars"],
|
||||
"labPos":"%s,%s" % (system["pos"]["x"],system["pos"]["y"])
|
||||
}
|
||||
for key, value in dic.items():
|
||||
self.__swidget(key).set_text(value)
|
||||
|
||||
# Load jumps.
|
||||
|
||||
jumps = gtk.ListStore(str)
|
||||
for jump in system["jumps"]: # Load the planets.
|
||||
treenode = jumps.append([jump])
|
||||
col = gtk.TreeViewColumn('Jumps')
|
||||
cell = gtk.CellRendererText()
|
||||
wgt = self.__swidget("treJumps")
|
||||
if wgt.get_column(0):
|
||||
wgt.remove_column( wgt.get_column(0) )
|
||||
wgt.append_column(col)
|
||||
col.pack_start(cell, True)
|
||||
col.add_attribute(cell, 'text', 0)
|
||||
wgt.set_model(jumps)
|
||||
|
||||
def __done(self, widget=None, data=None):
|
||||
"""
|
||||
Window is done
|
||||
"""
|
||||
gtk.main_quit()
|
||||
|
||||
def debug(self):
|
||||
print "SYSTEMS LOADED:"
|
||||
print self.systems
|
||||
print
|
||||
print
|
||||
print "PLANETS LOADED:"
|
||||
print self.planets
|
||||
|
BIN
utils/resedit/space.pyc
Normal file
BIN
utils/resedit/space.pyc
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user