Selectable or MenuItem should be toggled on click when called with
build_with_ref.
This is the behavior that is done in ImGui when
`bool ImGui::MenuItem(const char* label, const char* shortcut, bool*p_selected, bool enabled)` is called.
This commit adds the API that allows to set the NO_MOVE flag for a child
window. This API was missing: the NO_MOVE flag could only be set for a
Window.
If the NO_MOVE flag is set to True, (by calling
`ChildWindow::movable(false)`), then the window will not move when a
child window is dragged on.
We can see this behavior in imgui's code:
https://github.com/ocornut/imgui/blob/f0f53016/imgui.cpp#L3354
Fix for panic:
thread 'main' panicked at 'A FontStackToken was leaked. Did you call .pop()?', D:\Repos\GitHub\imgui-rs\src\stacks.rs:178:13
stack backtrace:
0: backtrace::backtrace::trace_unsynchronized
at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.34\src\backtrace\mod.rs:66
1: std::sys_common::backtrace::_print
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\sys_common\backtrace.rs:47
2: std::sys_common::backtrace::print
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\sys_common\backtrace.rs:36
3: std::panicking::default_hook::{{closure}}
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\panicking.rs:200
4: std::panicking::default_hook
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\panicking.rs:214
5: std::panicking::rust_panic_with_hook
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\panicking.rs:477
6: std::panicking::begin_panic
7: <imgui::stacks::FontStackToken as core::ops::drop::Drop>::drop
8: imgui:🪟:Window::build
9: <std::sync::mpsc::sync::Packet<T> as core::ops::drop::Drop>::drop
10: <std::sys_common::poison::PoisonError<T> as core::fmt::Debug>::fmt
11: std::rt::lang_start_internal::{{closure}}
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\rt.rs:49
12: std::panicking::try::do_call<closure-0,i32>
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\panicking.rs:296
13: panic_unwind::__rust_maybe_catch_panic
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libpanic_unwind\lib.rs:80
14: std::panicking::try
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\panicking.rs:275
15: std::panic::catch_unwind
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\panic.rs:394
16: std::rt::lang_start_internal
at /rustc/625451e376bb2e5283fc4741caa0a3e8a2ca4d54\/src\libstd\rt.rs:48
17: main
18: invoke_main
at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
19: __scrt_common_main_seh
at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
20: BaseThreadInitThunk
21: RtlUserThreadStart