mirror of
https://github.com/slint-ui/slint.git
synced 2025-11-03 13:23:00 +00:00
python: hide native module behind python front-end API
Encapsulate the rust code behind a public API (in __init__.py for now)
This commit is contained in:
parent
07c168bbf9
commit
d1529af3cc
7 changed files with 35 additions and 23 deletions
|
|
@ -2,11 +2,11 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.1 OR LicenseRef-Slint-commercial
|
||||
|
||||
import pytest
|
||||
import slint
|
||||
from slint import ValueType;
|
||||
from slint import slint as native
|
||||
from slint.slint import ValueType;
|
||||
|
||||
def test_basic_compiler():
|
||||
compiler = slint.ComponentCompiler()
|
||||
compiler = native.ComponentCompiler()
|
||||
|
||||
assert compiler.include_paths == []
|
||||
compiler.include_paths = ["testing"]
|
||||
|
|
@ -54,7 +54,7 @@ def test_basic_compiler():
|
|||
assert instance != None
|
||||
|
||||
def test_compiler_build_from_path():
|
||||
compiler = slint.ComponentCompiler()
|
||||
compiler = native.ComponentCompiler()
|
||||
|
||||
assert len(compiler.diagnostics) == 0
|
||||
|
||||
|
|
@ -62,5 +62,5 @@ def test_compiler_build_from_path():
|
|||
diags = compiler.diagnostics
|
||||
assert len(diags) == 1
|
||||
|
||||
assert diags[0].level == slint.DiagnosticLevel.Error
|
||||
assert diags[0].level == native.DiagnosticLevel.Error
|
||||
assert diags[0].message.startswith("Could not load Nonexistent.slint:")
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.1 OR LicenseRef-Slint-commercial
|
||||
|
||||
import pytest
|
||||
import slint
|
||||
from slint import ValueType;
|
||||
from slint import slint as native
|
||||
from slint.slint import ValueType;
|
||||
|
||||
def test_property_access():
|
||||
compiler = slint.ComponentCompiler()
|
||||
compiler = native.ComponentCompiler()
|
||||
|
||||
compdef = compiler.build_from_source("""
|
||||
export global TestGlobal {
|
||||
|
|
@ -69,7 +69,7 @@ def test_property_access():
|
|||
assert instance.get_global_property("TestGlobal", "theglobalprop") == "Ok"
|
||||
|
||||
def test_callbacks():
|
||||
compiler = slint.ComponentCompiler()
|
||||
compiler = native.ComponentCompiler()
|
||||
|
||||
compdef = compiler.build_from_source("""
|
||||
export global TestGlobal {
|
||||
|
|
@ -113,8 +113,7 @@ def test_callbacks():
|
|||
|
||||
|
||||
if __name__ == "__main__":
|
||||
compiler = slint.ComponentCompiler()
|
||||
compdef = compiler.build_from_path("../../examples/printerdemo/ui/printerdemo.slint")
|
||||
instance = compdef.create()
|
||||
import slint
|
||||
instance = slint.load_file("../../examples/printerdemo/ui/printerdemo.slint")
|
||||
instance.set_global_callback("PrinterQueue", "start-job", lambda title: print(f"new print job {title}"))
|
||||
instance.run()
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.1 OR LicenseRef-Slint-commercial
|
||||
|
||||
import pytest
|
||||
import slint
|
||||
from slint import ValueType
|
||||
from slint import slint as native
|
||||
from slint.slint import ValueType;
|
||||
from datetime import timedelta
|
||||
|
||||
def test_timer():
|
||||
|
|
@ -13,14 +13,14 @@ def test_timer():
|
|||
global counter
|
||||
counter = counter + 1
|
||||
if counter >= 2:
|
||||
slint.quit_event_loop()
|
||||
native.quit_event_loop()
|
||||
|
||||
test_timer = slint.Timer()
|
||||
test_timer.start(slint.TimerMode.Repeated, timedelta(milliseconds=100), quit_after_two_invocations)
|
||||
slint.run_event_loop()
|
||||
test_timer = native.Timer()
|
||||
test_timer.start(native.TimerMode.Repeated, timedelta(milliseconds=100), quit_after_two_invocations)
|
||||
native.run_event_loop()
|
||||
test_timer.stop()
|
||||
assert(counter == 2)
|
||||
|
||||
def test_single_shot():
|
||||
slint.Timer.single_shot(timedelta(milliseconds=100), slint.quit_event_loop)
|
||||
slint.run_event_loop()
|
||||
native.Timer.single_shot(timedelta(milliseconds=100), native.quit_event_loop)
|
||||
native.run_event_loop()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue