本文整理汇总了C++中TextView::onDataModelSync方法的典型用法代码示例。如果您正苦于以下问题:C++ TextView::onDataModelSync方法的具体用法?C++ TextView::onDataModelSync怎么用?C++ TextView::onDataModelSync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextView
的用法示例。
在下文中一共展示了TextView::onDataModelSync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
bv1=bv2=false;
n.detach(ntSetBool1, Update::Value, &bv1);
n.notify(Update::Value);
assert(!bv1);
assert(bv2);
bv1=bv2=false;
n.detach(ntSetBool2, Update::Value, &bv2);
n.notify(Update::Value);
assert(!bv1);
assert(!bv2);
}
{
bool b=false;
Button w;
w.attach(ntValue, Update::Value, &b);
w.setValue(true);
assert(b);
assert(w.getValue() == true);
// Setting to current value should NOT send notification to avoid infinite loops
b=false;
w.setValue(w.getValue());
assert(!b);
// Boolean model variable
bool v = false;
w.attachVariable(v);
w.setValue(true); assert(v == true);
w.setValue(false); assert(v == false);
v = true;
w.onDataModelSync(); assert(w.getValue() == true);
w.setValue(true);
assert(w.data().toToken() == "1");
w.setValue(false);
assert(w.data().toToken() == "0");
w.setDataFromString("0"); assert(w.getValue() == false);
w.setDataFromString("1"); assert(w.getValue() == true);
assert(!w.setDataFromString("invalid"));
}
{
Buttons w;
bool b=false;
w.attach(ntValue, Update::Value, &b);
w.setValue(true, 0);
assert(b);
assert(w.getValue(0) == true);
w.data().resize(2,2);
w.data().assignAll(0);
bool v1 = false;
bool v2 = false;
w.attachVariable(v1, 0);
w.attachVariable(v2, 2);
w.setValue(true, 0); assert(v1 == true);
w.setValue(true, 2); assert(v2 == true);
w.setValue(false, 0); assert(v1 == false);
w.setValue(false, 2); assert(v2 == false);