[Add] <resedit> Main window to control subwindows.

This commit is contained in:
Allanis 2013-06-21 21:00:14 +01:00
parent db5d405f47
commit 5715bc91a5
3 changed files with 230 additions and 4 deletions

186
utils/resedit/resedit.glade Normal file
View File

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<glade-interface>
<widget class="GtkWindow" id="winResedit">
<child>
<widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<child>
<widget class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<child>
<widget class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child>
<widget class="GtkMenu" id="menu1">
<property name="visible">True</property>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem1">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-new</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem2">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-open</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem3">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-save</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem4">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-save-as</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
<property name="visible">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem5">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-quit</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<child>
<widget class="GtkMenu" id="menu2">
<property name="visible">True</property>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem6">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-cut</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem7">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-copy</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem8">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-paste</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem9">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-delete</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child>
<widget class="GtkMenu" id="menu3">
<property name="visible">True</property>
<child>
<widget class="GtkImageMenuItem" id="imagemenuitem10">
<property name="visible">True</property>
<property name="label" translatable="yes">gtk-about</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</widget>
</child>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="expand">False</property>
</packing>
</child>
<child>
<widget class="GtkVButtonBox" id="vbuttonbox1">
<property name="visible">True</property>
<child>
<widget class="GtkToggleButton" id="butEditSystem">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">System Editor</property>
<property name="response_id">0</property>
</widget>
</child>
<child>
<widget class="GtkToggleButton" id="butEditPlanet">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="label" translatable="yes">Planet Editor</property>
<property name="response_id">0</property>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<widget class="GtkStatusbar" id="statusbar1">
<property name="visible">True</property>
<property name="spacing">2</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>

View File

@ -14,7 +14,6 @@ import space, faction, fleet
# Load the factions
factions = faction.Factions()
factions.loadFactions("../../dat/faction.xml")
factions.window()
# Load the fleets.
fleets = fleet.Fleets()
@ -24,7 +23,31 @@ fleets.loadFleets("../../dat/fleet.xml")
universe = space.Space(factions.data(), fleets.data())
universe.loadSystems("../../dat/ssys.xml")
universe.loadPlanets("../../dat/planet.xml")
universe.window()
# Load the editor interface.
# Functions.
def winSystem(widget=None, event=None):
if wtree.get_widget("butEditSystem").get_active():
universe.windowSystem()
else:
universe.windowSystemClose()
def winPlanet(widget=None, event=None):
if wtree.get_widget("butEditPlanet").get_active():
universe.windowPlanet()
else:
universe.windowPlanetClose()
wtree = gtk.glade.XML("resedit.glade", "winResedit")
hooks = {
"winResedit":["destroy", gtk.main_quit],
"butEditSystem":["toggled", winSystem],
"butEditPlanet":["toggled", winPlanet]
}
for key, val in hooks.items():
wtree.get_widget(key).connect(val[0], val[1])
wtree.get_widget("winResedit").show_all()
gtk.main()

View File

@ -24,6 +24,9 @@ class Space:
else:
self.fleets = fleets
self.swtree = None
self.pwtree = None
def loadSystems(self, xmlfile):
self.systems = data.load(xmlfile, "ssys", True,
["jumps", "planets"], {"fleets":"chance"} )
@ -52,6 +55,10 @@ class Space:
self.planetTree[planet] = name
def window(self):
self.windowSystem()
self.windowPlanet()
def windowSystem(self):
"""
create the window
"""
@ -111,6 +118,12 @@ class Space:
self.x = self.y = 0
self.lx = self.ly = 0
def windowSystemClose(self):
wgt = self.__swidget("winSystems")
if wgt != None:
wgt.hide_all()
def windowPlanet(self):
# ---------------- PLANETS --------------------
self.pwtree = gtk.glade.XML(self.planet_glade, "winPlanets")
@ -156,7 +169,10 @@ class Space:
wgt.set_model(combo)
wgt.set_active(0)
# ---------------------------------------------
def windowPlanetClose(self):
wgt = self.__pwidget("winPlanets")
if wgt != None:
wgt.hide_all()
def __create_treSystems(self):
# Populate the tree.
@ -467,7 +483,8 @@ class Space:
"""
Window is done
"""
gtk.main_quit()
#gtk.main_quit()
return
def __space_reset(self, wgt=None, event=None):
self.x = self.y = 0