mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Tables: added ImGuiTableFlags_SortTristate. Renamed ImGuiTableFlags_MultiSortable to ImGuiTableFlags_SortMulti. Removed now unused FlagsIn storage.
This commit is contained in:
		| @@ -4572,8 +4572,6 @@ static void ShowDemoWindowTables() | ||||
|         ImGui::SetNextItemOpen(open_action != 0); | ||||
|     if (ImGui::TreeNode("Sorting")) | ||||
|     { | ||||
|         HelpMarker("Use Shift+Click to sort on multiple columns"); | ||||
|  | ||||
|         // Create item list | ||||
|         static ImVector<MyItem> items; | ||||
|         if (items.Size == 0) | ||||
| @@ -4589,10 +4587,16 @@ static void ShowDemoWindowTables() | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         ImGuiTableFlags flags = | ||||
|             ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable | ImGuiTableFlags_MultiSortable | ||||
|         // Options | ||||
|         static ImGuiTableFlags flags = | ||||
|             ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable | ImGuiTableFlags_Sortable | ImGuiTableFlags_SortMulti | ||||
|             | ImGuiTableFlags_RowBg | ImGuiTableFlags_BordersOuter | ImGuiTableFlags_BordersV | ImGuiTableFlags_NoBordersInBody | ||||
|             | ImGuiTableFlags_ScrollY; | ||||
|         ImGui::CheckboxFlags("ImGuiTableFlags_SortMulti", &flags, ImGuiTableFlags_SortMulti); | ||||
|         ImGui::SameLine(); HelpMarker("When sorting is enabled: hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1)."); | ||||
|         ImGui::CheckboxFlags("ImGuiTableFlags_SortTristate", &flags, ImGuiTableFlags_SortTristate); | ||||
|         ImGui::SameLine(); HelpMarker("When sorting is enabled: allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0)."); | ||||
|  | ||||
|         if (ImGui::BeginTable("##table", 4, flags, ImVec2(0, TEXT_BASE_HEIGHT * 15), 0.0f)) | ||||
|         { | ||||
|             // Declare columns | ||||
| @@ -4651,11 +4655,11 @@ static void ShowDemoWindowTables() | ||||
|     if (ImGui::TreeNode("Advanced")) | ||||
|     { | ||||
|         static ImGuiTableFlags flags = | ||||
|             ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable | ImGuiTableFlags_MultiSortable | ||||
|             ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable | ||||
|             | ImGuiTableFlags_Sortable | ImGuiTableFlags_SortMulti | ||||
|             | ImGuiTableFlags_RowBg | ImGuiTableFlags_Borders | ImGuiTableFlags_NoBordersInBody | ||||
|             | ImGuiTableFlags_ScrollX | ImGuiTableFlags_ScrollY | ||||
|             | ImGuiTableFlags_ColumnsWidthFixed | ||||
|             ; | ||||
|             | ImGuiTableFlags_ColumnsWidthFixed; | ||||
|  | ||||
|         enum ContentsType { CT_Text, CT_Button, CT_SmallButton, CT_FillButton, CT_Selectable, CT_SelectableSpanRow }; | ||||
|         static int contents_type = CT_Button; | ||||
| @@ -4683,7 +4687,6 @@ static void ShowDemoWindowTables() | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_Reorderable", &flags, ImGuiTableFlags_Reorderable); | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_Hideable", &flags, ImGuiTableFlags_Hideable); | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_Sortable", &flags, ImGuiTableFlags_Sortable); | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_MultiSortable", &flags, ImGuiTableFlags_MultiSortable); | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_NoSavedSettings", &flags, ImGuiTableFlags_NoSavedSettings); | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_ContextMenuInBody", &flags, ImGuiTableFlags_ContextMenuInBody); | ||||
|                 ImGui::TreePop(); | ||||
| @@ -4744,6 +4747,15 @@ static void ShowDemoWindowTables() | ||||
|                 ImGui::TreePop(); | ||||
|             } | ||||
|  | ||||
|             if (ImGui::TreeNodeEx("Sorting:", ImGuiTreeNodeFlags_DefaultOpen)) | ||||
|             { | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_SortMulti", &flags, ImGuiTableFlags_SortMulti); | ||||
|                 ImGui::SameLine(); HelpMarker("When sorting is enabled: hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1)."); | ||||
|                 ImGui::CheckboxFlags("ImGuiTableFlags_SortTristate", &flags, ImGuiTableFlags_SortTristate); | ||||
|                 ImGui::SameLine(); HelpMarker("When sorting is enabled: allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0)."); | ||||
|                 ImGui::TreePop(); | ||||
|             } | ||||
|  | ||||
|             if (ImGui::TreeNodeEx("Other:", ImGuiTreeNodeFlags_DefaultOpen)) | ||||
|             { | ||||
|                 ImGui::Checkbox("show_headers", &show_headers); | ||||
| @@ -4799,13 +4811,13 @@ static void ShowDemoWindowTables() | ||||
|             // Declare columns | ||||
|             // We use the "user_id" parameter of TableSetupColumn() to specify a user id that will be stored in the sort specifications. | ||||
|             // This is so our sort function can identify a column given our own identifier. We could also identify them based on their index! | ||||
|             ImGui::TableSetupScrollFreeze(freeze_cols, freeze_rows); | ||||
|             ImGui::TableSetupColumn("ID",          ImGuiTableColumnFlags_DefaultSort | ImGuiTableColumnFlags_WidthFixed | ImGuiTableColumnFlags_NoHide, -1.0f, MyItemColumnID_ID); | ||||
|             ImGui::TableSetupColumn("Name",        ImGuiTableColumnFlags_WidthFixed, -1.0f, MyItemColumnID_Name); | ||||
|             ImGui::TableSetupColumn("Action",      ImGuiTableColumnFlags_NoSort | ImGuiTableColumnFlags_WidthFixed, -1.0f, MyItemColumnID_Action); | ||||
|             ImGui::TableSetupColumn("Quantity (Long Label)", ImGuiTableColumnFlags_PreferSortDescending | ImGuiTableColumnFlags_WidthStretch, 1.0f, MyItemColumnID_Quantity);// , ImGuiTableColumnFlags_WidthAutoResize); | ||||
|             ImGui::TableSetupColumn("Description", ImGuiTableColumnFlags_WidthStretch, 1.0f, MyItemColumnID_Description); | ||||
|             ImGui::TableSetupColumn("Hidden",      ImGuiTableColumnFlags_DefaultHide | ImGuiTableColumnFlags_NoSort); | ||||
|             ImGui::TableSetupScrollFreeze(freeze_cols, freeze_rows); | ||||
|  | ||||
|             // Sort our data if sort specs have been changed! | ||||
|             ImGuiTableSortSpecs* sorts_specs = ImGui::TableGetSortSpecs(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user