|
@@ -3379,6 +3379,16 @@ static void DemoWindowWidgetsSelectionAndMultiSelect(ImGuiDemoWindowData* demo_d
|
|
|
// [SECTION] DemoWindowWidgetsTabs()
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
+static void EditTabBarFittingPolicyFlags(ImGuiTabBarFlags* p_flags)
|
|
|
+{
|
|
|
+ if ((*p_flags & ImGuiTabBarFlags_FittingPolicyMask_) == 0)
|
|
|
+ *p_flags |= ImGuiTabBarFlags_FittingPolicyDefault_;
|
|
|
+ if (ImGui::CheckboxFlags("ImGuiTabBarFlags_FittingPolicyShrink", p_flags, ImGuiTabBarFlags_FittingPolicyShrink))
|
|
|
+ *p_flags &= ~(ImGuiTabBarFlags_FittingPolicyMask_ ^ ImGuiTabBarFlags_FittingPolicyShrink);
|
|
|
+ if (ImGui::CheckboxFlags("ImGuiTabBarFlags_FittingPolicyScroll", p_flags, ImGuiTabBarFlags_FittingPolicyScroll))
|
|
|
+ *p_flags &= ~(ImGuiTabBarFlags_FittingPolicyMask_ ^ ImGuiTabBarFlags_FittingPolicyScroll);
|
|
|
+}
|
|
|
+
|
|
|
static void DemoWindowWidgetsTabs()
|
|
|
{
|
|
|
IMGUI_DEMO_MARKER("Widgets/Tabs");
|
|
@@ -3421,12 +3431,7 @@ static void DemoWindowWidgetsTabs()
|
|
|
ImGui::CheckboxFlags("ImGuiTabBarFlags_TabListPopupButton", &tab_bar_flags, ImGuiTabBarFlags_TabListPopupButton);
|
|
|
ImGui::CheckboxFlags("ImGuiTabBarFlags_NoCloseWithMiddleMouseButton", &tab_bar_flags, ImGuiTabBarFlags_NoCloseWithMiddleMouseButton);
|
|
|
ImGui::CheckboxFlags("ImGuiTabBarFlags_DrawSelectedOverline", &tab_bar_flags, ImGuiTabBarFlags_DrawSelectedOverline);
|
|
|
- if ((tab_bar_flags & ImGuiTabBarFlags_FittingPolicyMask_) == 0)
|
|
|
- tab_bar_flags |= ImGuiTabBarFlags_FittingPolicyDefault_;
|
|
|
- if (ImGui::CheckboxFlags("ImGuiTabBarFlags_FittingPolicyResizeDown", &tab_bar_flags, ImGuiTabBarFlags_FittingPolicyResizeDown))
|
|
|
- tab_bar_flags &= ~(ImGuiTabBarFlags_FittingPolicyMask_ ^ ImGuiTabBarFlags_FittingPolicyResizeDown);
|
|
|
- if (ImGui::CheckboxFlags("ImGuiTabBarFlags_FittingPolicyScroll", &tab_bar_flags, ImGuiTabBarFlags_FittingPolicyScroll))
|
|
|
- tab_bar_flags &= ~(ImGuiTabBarFlags_FittingPolicyMask_ ^ ImGuiTabBarFlags_FittingPolicyScroll);
|
|
|
+ EditTabBarFittingPolicyFlags(&tab_bar_flags);
|
|
|
|
|
|
// Tab Bar
|
|
|
ImGui::AlignTextToFramePadding();
|
|
@@ -3475,12 +3480,8 @@ static void DemoWindowWidgetsTabs()
|
|
|
ImGui::Checkbox("Show Trailing TabItemButton()", &show_trailing_button);
|
|
|
|
|
|
// Expose some other flags which are useful to showcase how they interact with Leading/Trailing tabs
|
|
|
- static ImGuiTabBarFlags tab_bar_flags = ImGuiTabBarFlags_AutoSelectNewTabs | ImGuiTabBarFlags_Reorderable | ImGuiTabBarFlags_FittingPolicyResizeDown;
|
|
|
- ImGui::CheckboxFlags("ImGuiTabBarFlags_TabListPopupButton", &tab_bar_flags, ImGuiTabBarFlags_TabListPopupButton);
|
|
|
- if (ImGui::CheckboxFlags("ImGuiTabBarFlags_FittingPolicyResizeDown", &tab_bar_flags, ImGuiTabBarFlags_FittingPolicyResizeDown))
|
|
|
- tab_bar_flags &= ~(ImGuiTabBarFlags_FittingPolicyMask_ ^ ImGuiTabBarFlags_FittingPolicyResizeDown);
|
|
|
- if (ImGui::CheckboxFlags("ImGuiTabBarFlags_FittingPolicyScroll", &tab_bar_flags, ImGuiTabBarFlags_FittingPolicyScroll))
|
|
|
- tab_bar_flags &= ~(ImGuiTabBarFlags_FittingPolicyMask_ ^ ImGuiTabBarFlags_FittingPolicyScroll);
|
|
|
+ static ImGuiTabBarFlags tab_bar_flags = ImGuiTabBarFlags_AutoSelectNewTabs | ImGuiTabBarFlags_Reorderable | ImGuiTabBarFlags_FittingPolicyShrink;
|
|
|
+ EditTabBarFittingPolicyFlags(&tab_bar_flags);
|
|
|
|
|
|
if (ImGui::BeginTabBar("MyTabBar", tab_bar_flags))
|
|
|
{
|