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:
2026-07-26 22:43:21 +08:00
parent f95590e924
commit 0aa5879f35
256 changed files with 12357 additions and 4044 deletions
+19 -6
View File
@@ -23,10 +23,11 @@
#define OAK_VIEWMODEL_H
#include <QAbstractItemModel>
#include <QHash>
#include "engineeventbridge.h"
#include "node/block/block.h"
#include "node/project.h"
#include "undo/undocommand.h"
namespace olive
{
@@ -157,18 +158,30 @@ private:
void disconnect_item(Node *n);
Project *project_;
/**
* @brief Wire the bridge's folder signals to our handlers.
*
* Must be re-run every time bridge_ is recreated (set_project), since
* Qt connections belong to the old bridge instance.
*/
void connect_bridge_signals();
private slots:
void folder_begin_insert_item(Node *n, int insert_index);
void folder_begin_insert_item(Folder *folder, Node *n, int insert_index);
void folder_end_insert_item();
void folder_begin_remove_item(Node *n, int child_index);
void folder_begin_remove_item(Folder *folder, Node *n, int child_index);
void folder_end_remove_item();
void item_renamed();
Project *project_;
EngineEventBridge *bridge_;
QHash<Node *, int64_t> label_changed_subs_;
private slots:
void item_renamed(OakEngineNode *source);
};
}