view clients/editor/fifedit.py @ 144:d2f1e81fbe2c

* Fixed a scons issue, where libraries checked for C instead of C++ * Fixed a shutdown order problem - deleting a GLImage will reference the RenderBackend, thus image pools must be deleted first. * Added an explicit Engine.destroy method to force the shutdown, in case python fails to do so. Necessary - see above. * The Pool::printStatistics now gives out information how many resources are loaded. Called before destruction. Add 'pool' to the LogModules to check memory pooling issues.
author phoku@33b003aa-7bff-0310-803a-e67f0ece8222
date Thu, 09 Oct 2008 06:18:36 +0000
parents 4a0efb7baf70
children 28532ae6f9f6
line wrap: on
line source

# coding: utf-8

import fife
import pychan
import pychan.widgets as widgets

class Fifedit():
	"""
	Fifedit is the editor tool. It is designed to be embedded in clients, most notably the editor.
	Fifedit is a plugin system for editing tools. See L{registerPlugin}.
	"""
	def __init__(self, engine):
		pychan.init(engine,debug=False)
		self.gui = pychan.loadXML('content/gui/rootpanel.xml')
		eventMap = {
			'quitButton'  : self.quit
		}
		self.gui.mapEvents(eventMap)
		self.gui.show()

		self.active = True

	# To create a plugin, just define menu_items with string keys and function values.
	# The key will be displayed on the Editor menu, and the value will be called when the key is clicked.
	def registerPlugin(self, plugin):
		plugin.install(self.gui)

	def quit(self):
		self.gui.hide()
		self.active = False