app: migrate all engine access to the C ABI facade (nm U _ZN5olive = 0)
Every app module now reaches liboakengine exclusively through oakengine_* C calls, EngineEventBridge subscriptions and app-side handle headers (cliphandle/keyframehandle/nodevaluehandle/oakvaluehelper). Direct C++ command construction, engine signal connect()s, and engine type usage in MOC-visible signatures are gone: 557 -> 0 undefined olive:: symbols in oak-editor.
This commit is contained in:
@@ -29,6 +29,11 @@ TimeBasedPanel::TimeBasedPanel(const QString &object_name)
|
||||
, widget_(nullptr)
|
||||
, show_and_raise_on_connect_(false)
|
||||
{
|
||||
bridge_ = new EngineEventBridge(this);
|
||||
connect(bridge_, &EngineEventBridge::node_label_changed, this,
|
||||
[this](OakEngineNode *, const QString &label) {
|
||||
set_subtitle(label);
|
||||
});
|
||||
}
|
||||
|
||||
TimeBasedPanel::~TimeBasedPanel()
|
||||
@@ -142,16 +147,19 @@ void TimeBasedPanel::retranslate()
|
||||
}
|
||||
}
|
||||
|
||||
void TimeBasedPanel::connected_node_changed(ViewerOutput *old, ViewerOutput *now)
|
||||
void TimeBasedPanel::connected_node_changed(OakEngineNode *old, OakEngineNode *now)
|
||||
{
|
||||
if (old) {
|
||||
disconnect(old, &ViewerOutput::label_changed, this,
|
||||
&TimeBasedPanel::set_subtitle);
|
||||
if (label_sub_) {
|
||||
bridge_->unsubscribe(label_sub_);
|
||||
label_sub_ = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (now) {
|
||||
connect(now, &ViewerOutput::label_changed, this,
|
||||
&TimeBasedPanel::set_subtitle);
|
||||
label_sub_ = bridge_->subscribe(
|
||||
reinterpret_cast<void *>(now),
|
||||
OAKENGINE_EVENT_NODE_LABEL_CHANGED);
|
||||
|
||||
if (show_and_raise_on_connect_) {
|
||||
this->show();
|
||||
|
||||
Reference in New Issue
Block a user