@@ -9,6 +9,7 @@ Napi::Object FlexLayoutWrap::init(Napi::Env env, Napi::Object exports) {
99 char CLASSNAME[] = " FlexLayout" ;
1010 Napi::Function func = DefineClass (env, CLASSNAME, {
1111 InstanceMethod (" addWidget" , &FlexLayoutWrap::addWidget),
12+ InstanceMethod (" insertChildBefore" , &FlexLayoutWrap::insertChildBefore),
1213 InstanceMethod (" removeWidget" , &FlexLayoutWrap::removeWidget),
1314 InstanceMethod (" setFlexNode" , &FlexLayoutWrap::setFlexNode),
1415 });
@@ -57,6 +58,22 @@ Napi::Value FlexLayoutWrap::addWidget(const Napi::CallbackInfo& info) {
5758 return env.Null ();
5859}
5960
61+ Napi::Value FlexLayoutWrap::insertChildBefore (const Napi::CallbackInfo& info) {
62+ Napi::Env env = info.Env ();
63+ Napi::HandleScope scope (env);
64+
65+ Napi::Object qwidgetObject = info[0 ].As <Napi::Object>();
66+ Napi::External<YGNode> beforeChildFlexNodeObject = info[1 ].As <Napi::External<YGNode>>();
67+ Napi::External<YGNode> childFlexNodeObject = info[2 ].As <Napi::External<YGNode>>();
68+ QWidgetWrap* widget = Napi::ObjectWrap<QWidgetWrap>::Unwrap (qwidgetObject);
69+ YGNodeRef childNodeRef = childFlexNodeObject.Data ();
70+ YGNodeRef beforeChildNodeRef = beforeChildFlexNodeObject.Data ();
71+
72+ this ->instance ->insertChildBefore (widget->getInternalInstance (), beforeChildNodeRef, childNodeRef);
73+
74+ return env.Null ();
75+ }
76+
6077Napi::Value FlexLayoutWrap::removeWidget (const Napi::CallbackInfo& info) {
6178 Napi::Env env = info.Env ();
6279 Napi::HandleScope scope (env);
0 commit comments