File: codegen.py

package info (click to toggle)
wxglade 0.6.5-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 3,348 kB
  • sloc: python: 24,679; xml: 1,022; makefile: 135; sh: 4
file content (47 lines) | stat: -rw-r--r-- 1,417 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# codegen.py: code generator functions for spacers
# $Id: codegen.py,v 1.9 2007/03/27 07:01:54 agriggio Exp $
#
# Copyright (c) 2002-2007 Alberto Griggio <agriggio@users.sourceforge.net>
# License: MIT (see license.txt)
# THIS PROGRAM COMES WITH NO WARRANTY

import common


class PythonCodeGenerator:
    def get_code(self, spacer):
        prop = spacer.properties
        width = prop.get('width', '0')
        height = prop.get('height', '0')
        # we must use the hack in pygen.add_sizeritem (see py_codegen.py)
        spacer.name = '%s, %s' % (width, height)
        return [], [], []

# end of class PythonCodeGenerator


class CppCodeGenerator:
    def get_code(self, spacer):
        """\
        generates the C++ code for a spacer
        """
        prop = spacer.properties
        width = prop.get('width', '0')
        height = prop.get('height', '0')
        # we must use the hack in cppgen.add_sizeritem (see cpp_codegen.py)
        spacer.name = '%s, %s' % (width, height)
        return [], [], [], []

# end of class CppCodeGenerator


def initialize():
    common.class_names['EditSpacer'] = 'spacer'

    # python code generation functions
    pygen = common.code_writers.get('python')
    if pygen:
        pygen.add_widget_handler('spacer', PythonCodeGenerator())
    cppgen = common.code_writers.get('C++')
    if cppgen:
        cppgen.add_widget_handler('spacer', CppCodeGenerator())