File: spacer_base.py

package info (click to toggle)
wxglade 1%3A1.1.1%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,592 kB
  • sloc: python: 30,644; javascript: 740; makefile: 169; cpp: 99; perl: 90; lisp: 62; xml: 61; sh: 3
file content (24 lines) | stat: -rw-r--r-- 961 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"""\
Code generator functions for spacers

@copyright: 2019 Dietmar Schwertberger
@license: MIT (see LICENSE.txt) - THIS PROGRAM COMES WITH NO WARRANTY
"""


class SpacerMixin(object):
    "Generic code to handle spacer code in all language code generators"

    def get_code(self, obj):
        sizer = obj.parent  # parent is always a sizer
        sizer_name = self.codegen._format_classattr(sizer)
        size = (obj.width, obj.height)
        flag = self.cn_f(obj.properties["flag"].get_string_value()) or '0'
        if sizer.WX_CLASS!="wxGridBagSizer":
            size = self.codegen.tmpl_spacersize%size
            stmt = self.codegen.tmpl_sizeritem % ( sizer_name, size, obj.proportion, flag, obj.border )
        else:
            # GridBagSizer
            index = sizer._get_row_col(obj.index)
            stmt = self.codegen.tmpl_gridbagsizerspacer % ( sizer_name, size[0], size[1], index, obj.span, flag, obj.border )
        return [stmt], []