# lisp_codegen.py : lisp generator functions for wxDialog objects
# $Id: lisp_codegen.py,v 1.1 2005/09/22 06:59:14 efuzzyone Exp $
#
# Copyright (c) 2002-2004 D.H. aka crazyinsomniac on sourceforge.net
# License: MIT (see license.txt)
# THIS PROGRAM COMES WITH NO WARRANTY
import common
class LispCodeGenerator:
#wxDialog( parent, id, title, pos, size, style, name )
new_signature = [
'$parent', '$id', '$title', '$pos', '$size', '$style', '$name'
]
def get_code(self, obj):
return [], [], []
def get_properties_code(self, dialog):
prop = dialog.properties
plgen = common.code_writers['lisp']
out = []
title = prop.get('title')
if title: out.append('(wxWindow_SetTitle (slot-%s self) %s)\n'
% (dialog.name, plgen.quote_str(title)))
icon = prop.get('icon')
if icon:
out.append('my $icon = &Wx::wxNullIcon();\n')
out.append('$icon->CopyFromBitmap(Wx::Bitmap->new(%s, '
'wxBITMAP_TYPE_ANY));\n' % plgen.quote_str(icon))
out.append('$self->SetIcon($icon);\n')
out.extend(plgen.generate_common_properties(dialog))
return out
def get_layout_code(self, dialog):
ret = ['(wxWindow_layout (slot-%s slef))\n' % dialog.name]
try:
if int(dialog.properties['centered']):
ret.append('(wxWindow_Centre (slot-%s slef) wxBOTH)\n' % dialog.name)
except (KeyError, ValueError):
pass
return ret
# end of class LispCodeGenerator
def initialize():
cn = common.class_names
cn['EditDialog'] = 'wxDialog'
common.toplevels['EditDialog'] = 1
plgen = common.code_writers.get('lisp')
if plgen:
plgen.add_widget_handler('wxDialog', LispCodeGenerator())
|