Mercurial > fife-parpg
diff engine/python/fife/extensions/pychan/widgets/__init__.py @ 378:64738befdf3b
bringing in the changes from the build_system_rework branch in preparation for the 0.3.0 release. This commit will require the Jan2010 devkit. Clients will also need to be modified to the new way to import fife.
author | vtchill@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Mon, 11 Jan 2010 23:34:52 +0000 |
parents | |
children | c770794d0a4a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/python/fife/extensions/pychan/widgets/__init__.py Mon Jan 11 23:34:52 2010 +0000 @@ -0,0 +1,86 @@ +# -*- 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 +# #################################################################### + +### Widget/Container Base Classes ### + +""" +Widget wrappers. + +Please look at the documentation of L{Widget} for details. +""" + +from widget import Widget + +from layout import Spacer +from containers import Container, VBox, HBox, Window +from label import Label, ClickLabel +from icon import Icon +from buttons import Button, ToggleButton, ImageButton +from checkbox import CheckBox +from radiobutton import RadioButton +from textfield import TextField +from textbox import TextBox +from listbox import ListBox +from dropdown import DropDown +from scrollarea import ScrollArea +from slider import Slider + +# Global Widget Class registry + +WIDGETS = { + # Containers + "Container" : Container, + "Window" : Window, + "VBox" : VBox, + "HBox" : HBox, + "ScrollArea" :ScrollArea, + + # Simple Widgets + "Icon" : Icon, + "Label" : Label, + "ClickLabel" : ClickLabel, + + # Button Widgets + "Button" : Button, + "CheckBox" : CheckBox, + "RadioButton" : RadioButton, + "ImageButton" : ImageButton, + "ToggleButton" : ToggleButton, + + #Complexer Widgets / Text io + "TextField" : TextField, + "TextBox" : TextBox, + "ListBox" : ListBox, + "DropDown" : DropDown, + "Slider" : Slider +} + +def registerWidget(cls): + """ + Register a new Widget class for pychan. + """ + global WIDGETS + name = cls.__name__ + if name in WIDGETS: + raise InitializationError("Widget class name '%s' already registered." % name) + WIDGETS[name] = cls