changeset 613:8c9cdcc9bc4f

Renaming pychan_test.py to pychan_demo.py to make it a bit more obvious which file to execute.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Fri, 24 Sep 2010 15:19:58 +0000
parents 867aad1c01cd
children 567d53c1c010
files demos/pychan_demo/colortester.py demos/pychan_demo/dynamic.py demos/pychan_demo/poc_gui_animation.py demos/pychan_demo/pychan_demo.py demos/pychan_demo/pychan_test.py demos/pychan_demo/sliders.py demos/pychan_demo/styling.py
diffstat 7 files changed, 192 insertions(+), 192 deletions(-) [+]
line wrap: on
line diff
--- a/demos/pychan_demo/colortester.py	Wed Sep 22 14:05:33 2010 +0000
+++ b/demos/pychan_demo/colortester.py	Fri Sep 24 15:19:58 2010 +0000
@@ -23,7 +23,7 @@
 
 """ pychan demo app for testing rgba colors on widgets """
 
-from pychan_test import PyChanExample
+from pychan_demo import PyChanExample
 from fife.extensions import pychan
 
 class ColorExample(PyChanExample):
--- a/demos/pychan_demo/dynamic.py	Wed Sep 22 14:05:33 2010 +0000
+++ b/demos/pychan_demo/dynamic.py	Fri Sep 24 15:19:58 2010 +0000
@@ -22,7 +22,7 @@
 # ####################################################################
 
 from fife.extensions import pychan
-from pychan_test import PyChanExample
+from pychan_demo import PyChanExample
 
 class DynamicExample(PyChanExample):
 	def __init__(self):
--- a/demos/pychan_demo/poc_gui_animation.py	Wed Sep 22 14:05:33 2010 +0000
+++ b/demos/pychan_demo/poc_gui_animation.py	Fri Sep 24 15:19:58 2010 +0000
@@ -22,7 +22,7 @@
 
 """ proof-of-concept pychan demo app to test gui animations """
 
-from pychan_test import PyChanExample
+from pychan_demo import PyChanExample
 from fife.extensions import pychan
 
 from fife.extensions.pychan.tools import callbackWithArguments as cbwa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/demos/pychan_demo/pychan_demo.py	Fri Sep 24 15:19:58 2010 +0000
@@ -0,0 +1,187 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# ####################################################################
+#  Copyright (C) 2005-2009 by the FIFE team
+#  http://www.fifengine.de
+#  This file is part of FIFE.
+#
+#  FIFE is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License, or (at your option) any later version.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the
+#  Free Software Foundation, Inc.,
+#  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+# ####################################################################
+
+# This is the pychan demo client for FIFE.
+
+import sys, os, re
+
+fife_path = os.path.join('..','..','engine','python')
+if os.path.isdir(fife_path) and fife_path not in sys.path:
+	sys.path.insert(0,fife_path)
+
+from fife import fife
+print "Using the FIFE python module found here: ", os.path.dirname(fife.__file__)
+
+from fife.extensions import fifelog
+from fife.extensions import basicapplication
+from fife.extensions import pychan
+from fife.extensions.pychan.dialogs import trace
+
+class PyChanExample(object):
+	"""
+	Example class.
+	"""
+	def __init__(self,xmlFile):
+		self.xmlFile = xmlFile
+		self.widget = None
+
+	def start(self):
+		"""
+		The Example Protocoll: start
+		"""
+		# For simplicity the most basic examples should define
+		# a okButton and/or a closeButton. Those are mapped
+		# to the stop handler.
+		self.widget = pychan.loadXML(self.xmlFile)
+		eventMap = {
+			'closeButton':self.stop,
+			'okButton'   :self.stop
+		}
+		# Since the basic example are not required to
+		# supply close and ok button, we 'ignoreMissing'
+		self.widget.mapEvents(eventMap, ignoreMissing = True)
+		self.widget.show()
+
+		#from pprint import pprint
+		#pprint(self.widget.getNamedChildren())
+
+	def stop(self):
+		"""
+		The Example Protocoll: stop
+		"""
+		if self.widget:
+			self.widget.hide()
+		self.widget = None
+
+class TextSetter(object):
+	def __init__(self,text):
+		self.text = text
+	def __call__(self,widget):
+		widget.text = self.text
+
+class DemoApplication(basicapplication.ApplicationBase):
+	def __init__(self):
+		# Let the ApplicationBase initialise FIFE
+		super(DemoApplication,self).__init__()
+
+		# Init Pychan
+		pychan.loadFonts("fonts/freefont.fontdef")
+		pychan.manager.setDefaultFont("FreeSans")
+		pychan.setupModalExecution(self.mainLoop,self.breakFromMainLoop)
+
+		# Build the main GUI
+		self.gui = pychan.loadXML('gui/demoapp.xml')
+		self.gui.min_size = self.engine.getRenderBackend().getScreenWidth(),self.engine.getRenderBackend().getScreenHeight()
+
+		eventMap = {
+			'creditsLink'  : self.showCredits,
+			'closeButton'  : self.quit,
+			'demoList' : self.selectExample,
+		}
+		self.gui.mapEvents(eventMap)
+
+		# A simple hover-effect for the credits label
+		credits = self.gui.findChild(name="creditsLink")
+		# setEnterCallback is deprecated - we use it here to test it.
+		credits.setEnterCallback(TextSetter(u"CREDITS"))
+		# Note that we can't simply write:
+		# credits.capture(credits._setText(u"Credits"), event_name="mouseExited")
+		# that's because that would call credits._setText _NOW_ and we want to call
+		# it later.
+		credits.capture(lambda : credits._setText(u"Credits"), event_name="mouseExited")
+
+
+		# import example modules
+		from dynamic import DynamicExample
+		from styling import StylingExample
+		from sliders import SliderExample
+		from colortester import ColorExample
+		from poc_gui_animation import PocAnimations
+
+		# Our list of examples
+		# We keep a dictionary of these and fill
+		# the ListBox on the left with its names.
+		self.examples = {
+			'Absolute Positioning' : PyChanExample('gui/absolute.xml'),
+			'All Widgets' : PyChanExample('gui/all_widgets.xml'),
+			'Basic Styling' : StylingExample(),
+			'Dynamic Widgets' : DynamicExample(),
+			'Sliders' : SliderExample(),
+			'ScrollArea' : PyChanExample('gui/scrollarea.xml'),
+			'Colortester': ColorExample(),
+			'GuiAnimations' : PocAnimations(),
+		}
+		self.demoList = self.gui.findChild(name='demoList')
+		self.demoList.items = sorted(self.examples.keys())
+
+		# Finally show the main GUI
+		self.gui.show()
+		
+		self.currentExample = None
+		self.creditsWidget = None
+
+	# We use the trace decorator which can help debugging the examples.
+	# mostly it's for show though :-)
+	@trace
+	def selectExample(self):
+		"""
+		Callback handler for clicking on the example list.
+		"""
+		if self.demoList.selected_item is None:
+			return
+		#print "selected",self.demoList.selected_item
+		if self.currentExample:
+			self.currentExample.stop()
+		self.currentExample = self.examples[self.demoList.selected_item]
+		self.gui.findChild(name="xmlSource").text = unicode(open(self.currentExample.xmlFile).read(), 'utf8')
+		self.currentExample.start()
+
+	def showCredits(self):
+		"""
+		Callback handler from the credits link/label.
+		"""
+		# We use PyChan's synchronous execution feature here.
+		pychan.loadXML('gui/credits.xml').execute({ 'okButton' : "Yay!" })
+		
+class TestXMLApplication(basicapplication.ApplicationBase):
+	"""
+	Test Application. Run the pychan_test.py file
+	with the XML file you want to load as argument.
+	"""
+	def __init__(self,xmlfile):
+		super(TestXMLApplication,self).__init__()
+		pychan.init(self.engine,debug=True)
+		self.start()
+	@trace
+	def start(self):
+		self.widget = pychan.loadXML(xmlfile)
+		self.widget.show()
+
+if __name__ == '__main__':
+	import sys
+	if len(sys.argv) == 2:
+		app = TestXMLApplication(sys.argv[1])
+	else:
+		app = DemoApplication()
+	app.run()
--- a/demos/pychan_demo/pychan_test.py	Wed Sep 22 14:05:33 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# ####################################################################
-#  Copyright (C) 2005-2009 by the FIFE team
-#  http://www.fifengine.de
-#  This file is part of FIFE.
-#
-#  FIFE is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Lesser General Public
-#  License as published by the Free Software Foundation; either
-#  version 2.1 of the License, or (at your option) any later version.
-#
-#  This library is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Lesser General Public License for more details.
-#
-#  You should have received a copy of the GNU Lesser General Public
-#  License along with this library; if not, write to the
-#  Free Software Foundation, Inc.,
-#  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-# ####################################################################
-
-# This is the pychan demo client for FIFE.
-
-import sys, os, re
-
-fife_path = os.path.join('..','..','engine','python')
-if os.path.isdir(fife_path) and fife_path not in sys.path:
-	sys.path.insert(0,fife_path)
-
-from fife import fife
-print "Using the FIFE python module found here: ", os.path.dirname(fife.__file__)
-
-from fife.extensions import fifelog
-from fife.extensions import basicapplication
-from fife.extensions import pychan
-from fife.extensions.pychan.dialogs import trace
-
-class PyChanExample(object):
-	"""
-	Example class.
-	"""
-	def __init__(self,xmlFile):
-		self.xmlFile = xmlFile
-		self.widget = None
-
-	def start(self):
-		"""
-		The Example Protocoll: start
-		"""
-		# For simplicity the most basic examples should define
-		# a okButton and/or a closeButton. Those are mapped
-		# to the stop handler.
-		self.widget = pychan.loadXML(self.xmlFile)
-		eventMap = {
-			'closeButton':self.stop,
-			'okButton'   :self.stop
-		}
-		# Since the basic example are not required to
-		# supply close and ok button, we 'ignoreMissing'
-		self.widget.mapEvents(eventMap, ignoreMissing = True)
-		self.widget.show()
-
-		#from pprint import pprint
-		#pprint(self.widget.getNamedChildren())
-
-	def stop(self):
-		"""
-		The Example Protocoll: stop
-		"""
-		if self.widget:
-			self.widget.hide()
-		self.widget = None
-
-class TextSetter(object):
-	def __init__(self,text):
-		self.text = text
-	def __call__(self,widget):
-		widget.text = self.text
-
-class DemoApplication(basicapplication.ApplicationBase):
-	def __init__(self):
-		# Let the ApplicationBase initialise FIFE
-		super(DemoApplication,self).__init__()
-
-		# Init Pychan
-		pychan.loadFonts("fonts/freefont.fontdef")
-		pychan.manager.setDefaultFont("FreeSans")
-		pychan.setupModalExecution(self.mainLoop,self.breakFromMainLoop)
-
-		# Build the main GUI
-		self.gui = pychan.loadXML('gui/demoapp.xml')
-		self.gui.min_size = self.engine.getRenderBackend().getScreenWidth(),self.engine.getRenderBackend().getScreenHeight()
-
-		eventMap = {
-			'creditsLink'  : self.showCredits,
-			'closeButton'  : self.quit,
-			'demoList' : self.selectExample,
-		}
-		self.gui.mapEvents(eventMap)
-
-		# A simple hover-effect for the credits label
-		credits = self.gui.findChild(name="creditsLink")
-		# setEnterCallback is deprecated - we use it here to test it.
-		credits.setEnterCallback(TextSetter(u"CREDITS"))
-		# Note that we can't simply write:
-		# credits.capture(credits._setText(u"Credits"), event_name="mouseExited")
-		# that's because that would call credits._setText _NOW_ and we want to call
-		# it later.
-		credits.capture(lambda : credits._setText(u"Credits"), event_name="mouseExited")
-
-
-		# import example modules
-		from dynamic import DynamicExample
-		from styling import StylingExample
-		from sliders import SliderExample
-		from colortester import ColorExample
-		from poc_gui_animation import PocAnimations
-
-		# Our list of examples
-		# We keep a dictionary of these and fill
-		# the ListBox on the left with its names.
-		self.examples = {
-			'Absolute Positioning' : PyChanExample('gui/absolute.xml'),
-			'All Widgets' : PyChanExample('gui/all_widgets.xml'),
-			'Basic Styling' : StylingExample(),
-			'Dynamic Widgets' : DynamicExample(),
-			'Sliders' : SliderExample(),
-			'ScrollArea' : PyChanExample('gui/scrollarea.xml'),
-			'Colortester': ColorExample(),
-			'GuiAnimations' : PocAnimations(),
-		}
-		self.demoList = self.gui.findChild(name='demoList')
-		self.demoList.items = sorted(self.examples.keys())
-
-		# Finally show the main GUI
-		self.gui.show()
-		
-		self.currentExample = None
-		self.creditsWidget = None
-
-	# We use the trace decorator which can help debugging the examples.
-	# mostly it's for show though :-)
-	@trace
-	def selectExample(self):
-		"""
-		Callback handler for clicking on the example list.
-		"""
-		if self.demoList.selected_item is None:
-			return
-		#print "selected",self.demoList.selected_item
-		if self.currentExample:
-			self.currentExample.stop()
-		self.currentExample = self.examples[self.demoList.selected_item]
-		self.gui.findChild(name="xmlSource").text = unicode(open(self.currentExample.xmlFile).read(), 'utf8')
-		self.currentExample.start()
-
-	def showCredits(self):
-		"""
-		Callback handler from the credits link/label.
-		"""
-		# We use PyChan's synchronous execution feature here.
-		pychan.loadXML('gui/credits.xml').execute({ 'okButton' : "Yay!" })
-		
-class TestXMLApplication(basicapplication.ApplicationBase):
-	"""
-	Test Application. Run the pychan_test.py file
-	with the XML file you want to load as argument.
-	"""
-	def __init__(self,xmlfile):
-		super(TestXMLApplication,self).__init__()
-		pychan.init(self.engine,debug=True)
-		self.start()
-	@trace
-	def start(self):
-		self.widget = pychan.loadXML(xmlfile)
-		self.widget.show()
-
-if __name__ == '__main__':
-	import sys
-	if len(sys.argv) == 2:
-		app = TestXMLApplication(sys.argv[1])
-	else:
-		app = DemoApplication()
-	app.run()
--- a/demos/pychan_demo/sliders.py	Wed Sep 22 14:05:33 2010 +0000
+++ b/demos/pychan_demo/sliders.py	Fri Sep 24 15:19:58 2010 +0000
@@ -21,7 +21,7 @@
 #  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 # ####################################################################
 
-from pychan_test import PyChanExample
+from pychan_demo import PyChanExample
 from fife.extensions import pychan
 
 class SliderExample(PyChanExample):
--- a/demos/pychan_demo/styling.py	Wed Sep 22 14:05:33 2010 +0000
+++ b/demos/pychan_demo/styling.py	Fri Sep 24 15:19:58 2010 +0000
@@ -25,7 +25,7 @@
 
 from fife.extensions import pychan
 
-from pychan_test import PyChanExample
+from pychan_demo import PyChanExample
 
 STYLES= {
 'new default': {