23 lines
567 B
Python
23 lines
567 B
Python
from ngSkinTools2 import signal
|
|
from ngSkinTools2.api.pyside import QtWidgets
|
|
from ngSkinTools2.ui import qt, widgets
|
|
|
|
|
|
def bind(ui, model):
|
|
if isinstance(ui, QtWidgets.QCheckBox):
|
|
ui.setChecked(model())
|
|
|
|
@qt.on(ui.stateChanged)
|
|
def update_model():
|
|
model.set(ui.isChecked())
|
|
|
|
elif isinstance(ui, widgets.NumberSliderGroup):
|
|
ui.set_value(model())
|
|
|
|
@signal.on(ui.valueChanged)
|
|
def update_model():
|
|
model.set(ui.value())
|
|
|
|
else:
|
|
raise Exception("could not bind control to model")
|