mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	Inputtext, Nav: fixed using SetKeyboardFocusHere() on InputTextMultiline(). (#4761)
This commit is contained in:
		| @@ -56,6 +56,7 @@ Other Changes: | ||||
|   Home/End leads to scrolling. Fixed not setting mouse position when a failed move request (e.g. when | ||||
|   already at edge) reactivates the navigation highlight. | ||||
| - InputText, Nav: fixed repeated calls to SetKeyboardFocusHere() preventing to use InputText(). (#4682) | ||||
| - Inputtext, Nav: fixed using SetKeyboardFocusHere() on InputTextMultiline(). (#4761) | ||||
| - InputText: made double-click select word, triple-line select line. Word delimitation logic differs | ||||
|   slightly from the one used by CTRL+arrows. (#2244) | ||||
| - InputText: fixed ReadOnly flag preventing callbacks from receiving the text buffer. (#4762) [@actondev] | ||||
|   | ||||
							
								
								
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -64,7 +64,7 @@ Index of this file: | ||||
| // Version | ||||
| // (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens) | ||||
| #define IMGUI_VERSION               "1.86 WIP" | ||||
| #define IMGUI_VERSION_NUM           18511 | ||||
| #define IMGUI_VERSION_NUM           18512 | ||||
| #define IMGUI_CHECKVERSION()        ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx)) | ||||
| #define IMGUI_HAS_TABLE | ||||
|  | ||||
|   | ||||
| @@ -3966,7 +3966,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ | ||||
|     if (is_resizable) | ||||
|         IM_ASSERT(callback != NULL); // Must provide a callback if you set the ImGuiInputTextFlags_CallbackResize flag! | ||||
|  | ||||
|     if (is_multiline) // Open group before calling GetID() because groups tracks id created within their scope, | ||||
|     if (is_multiline) // Open group before calling GetID() because groups tracks id created within their scope (including the scrollbar) | ||||
|         BeginGroup(); | ||||
|     const ImGuiID id = window->GetID(label); | ||||
|     const ImVec2 label_size = CalcTextSize(label, NULL, true); | ||||
| @@ -4770,9 +4770,22 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ | ||||
|  | ||||
|     if (is_multiline) | ||||
|     { | ||||
|         // For focus requests to work on our multiline we need to ensure our child ItemAdd() call specifies the ImGuiItemFlags_Inputable (ref issue #4761)... | ||||
|         Dummy(ImVec2(text_size.x, text_size.y + style.FramePadding.y)); | ||||
|         ImGuiItemFlags backup_item_flags = g.CurrentItemFlags; | ||||
|         g.CurrentItemFlags |= ImGuiItemFlags_Inputable; | ||||
|         EndChild(); | ||||
|         g.CurrentItemFlags = backup_item_flags; | ||||
|  | ||||
|         // ...and then we need to undo the group overriding last item data, which gets a bit messy as EndGroup() tries to forward scrollbar being active... | ||||
|         ImGuiLastItemData item_data = g.LastItemData; | ||||
|         EndGroup(); | ||||
|         if (g.LastItemData.ID == 0) | ||||
|         { | ||||
|             g.LastItemData.ID = id; | ||||
|             g.LastItemData.InFlags = item_data.InFlags; | ||||
|             g.LastItemData.StatusFlags = item_data.StatusFlags; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // Log as text | ||||
|   | ||||
		Reference in New Issue
	
	Block a user