mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Tab Bar: Allow calling SetTabItemClosed() after a tab has been submitted (will process next frame).
+ larger combo height on TabBarTabListPopupButton()
This commit is contained in:
		| @@ -1696,19 +1696,20 @@ enum ImGuiTabItemFlagsPrivate_ | ||||
|     ImGuiTabItemFlags_NoCloseButton             = 1 << 20   // Track whether p_open was set or not (we'll need this info on the next frame to recompute ContentWidth during layout) | ||||
| }; | ||||
|  | ||||
| // Storage for one active tab item (sizeof() 26~32 bytes) | ||||
| // Storage for one active tab item (sizeof() 28~32 bytes) | ||||
| struct ImGuiTabItem | ||||
| { | ||||
|     ImGuiID             ID; | ||||
|     ImGuiTabItemFlags   Flags; | ||||
|     int                 LastFrameVisible; | ||||
|     int                 LastFrameSelected;      // This allows us to infer an ordered list of the last activated tabs with little maintenance | ||||
|     int                 NameOffset;             // When Window==NULL, offset to name within parent ImGuiTabBar::TabsNames | ||||
|     float               Offset;                 // Position relative to beginning of tab | ||||
|     float               Width;                  // Width currently displayed | ||||
|     float               ContentWidth;           // Width of actual contents, stored during BeginTabItem() call | ||||
|     ImS16               NameOffset;             // When Window==NULL, offset to name within parent ImGuiTabBar::TabsNames | ||||
|     bool                WantClose;              // Marked as closed by SetTabItemClosed() | ||||
|  | ||||
|     ImGuiTabItem()      { ID = 0; Flags = ImGuiTabItemFlags_None; LastFrameVisible = LastFrameSelected = -1; NameOffset = -1; Offset = Width = ContentWidth = 0.0f; } | ||||
|     ImGuiTabItem()      { ID = 0; Flags = ImGuiTabItemFlags_None; LastFrameVisible = LastFrameSelected = -1; NameOffset = -1; Offset = Width = ContentWidth = 0.0f; WantClose = false; } | ||||
| }; | ||||
|  | ||||
| // Storage for a tab bar (sizeof() 92~96 bytes) | ||||
| @@ -1743,7 +1744,7 @@ struct ImGuiTabBar | ||||
|     int                 GetTabOrder(const ImGuiTabItem* tab) const  { return Tabs.index_from_ptr(tab); } | ||||
|     const char*         GetTabName(const ImGuiTabItem* tab) const | ||||
|     { | ||||
|         IM_ASSERT(tab->NameOffset != -1 && tab->NameOffset < TabsNames.Buf.Size); | ||||
|         IM_ASSERT(tab->NameOffset != -1 && (int)tab->NameOffset < TabsNames.Buf.Size); | ||||
|         return TabsNames.Buf.Data + tab->NameOffset; | ||||
|     } | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user