Skip to content

Commit 44bbcac

Browse files
feat(js): create_detached
1 parent 96e8d03 commit 44bbcac

File tree

4 files changed

+1397
-1381
lines changed

4 files changed

+1397
-1381
lines changed

src/shell/script/binding_qjs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,7 @@ template<> struct js_bind<mb_shell::js::menu_controller> {
700700
.fun<&mb_shell::js::menu_controller::prepend_menu>("prepend_menu")
701701
.fun<&mb_shell::js::menu_controller::append_menu>("append_menu")
702702
.fun<&mb_shell::js::menu_controller::append_menu_after>("append_menu_after")
703+
.static_fun<&mb_shell::js::menu_controller::create_detached>("create_detached")
703704
;
704705
}
705706

src/shell/script/binding_types.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,4 +1058,13 @@ fs::watch(std::string path, std::function<void(std::string, int)> callback) {
10581058

10591059
return [dispose] { *dispose = true; };
10601060
}
1061+
std::shared_ptr<mb_shell::js::menu_controller>
1062+
menu_controller::create_detached() {
1063+
auto m = std::make_shared<menu_widget>();
1064+
auto ctl = std::make_shared<menu_controller>(m);
1065+
ctl->$menu_detached = m; // to keep it alive
1066+
m->parent = m.get();
1067+
1068+
return ctl;
1069+
}
10611070
} // namespace mb_shell::js

0 commit comments

Comments
 (0)