dbb58723aea5a5a46fc3ee1d77609d02df0f8e3f
[sdk] / bindings / python / pyEcere.py
1 import sys
2 from _pyEcere import *
3
4 #   lib.PrintLn(lib.class_String, fun.encode('utf8'), ffi.NULL)
5
6 def app_init():
7    app = lib.eC_init(True, len(sys.argv), [ffi.new("char[]", i.encode('utf8')) for i in sys.argv])
8    lib.ecere_init(app)
9    rApp = ffi.new("Instance *"); rApp[0] = app; lib.Instance_evolve(rApp, lib.class_GuiApplication); app = rApp[0]
10
11 class Size:
12    def __init__(self, w = 0, h = 0):
13       self.this = ffi.new("Size *")
14       self.this.w = w
15       self.this.h = h
16
17 class Instance(object):
18    def __init__(self): self.this = ffi.NULL
19
20 class Window(Instance):
21    def __init__(self, hasClose = None, clientSize = None):
22       self.this = lib.Instance_new(lib.class_Window)
23       if hasClose != None:     self.hasClose = hasClose
24       if clientSize != None:   self.clientSize = clientSize
25
26    def create(self): lib.Window_create(self.this)
27    def modal(self): lib.Window_modal(self.this)
28
29    @property
30    def clientSize(self): value = Size(); lib.Window_get_size(self.this, value.this); return value
31    @clientSize.setter
32    def clientSize(self, value): lib.Window_set_size(self.this, value.this)
33
34    @property
35    def hasClose(self): value = ffi.new("bool *"); lib.Window_get_hasClose(self.this, value); return value
36    @hasClose.setter
37    def hasClose(self, value): lib.Window_set_hasClose(self.this, value)