mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	Additional duplicated comments about usage of std::string and input text resize callback (#2006, #1443, #1008)
This commit is contained in:
		
							
								
								
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							@@ -468,7 +468,7 @@ namespace ImGui
 | 
				
			|||||||
    IMGUI_API bool          VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format = NULL, float power = 1.0f);
 | 
					    IMGUI_API bool          VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format = NULL, float power = 1.0f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Widgets: Input with Keyboard
 | 
					    // Widgets: Input with Keyboard
 | 
				
			||||||
    // - If you want to use InputText() with a dynamic string type such as std::string or your own, see misc/cpp/imgui_stdlib.h
 | 
					    // - If you want to use InputText() with std::string or any custom dynamic string type, see misc/cpp/imgui_stdlib.h and comments in imgui_demo.cpp.
 | 
				
			||||||
    // - Most of the ImGuiInputTextFlags flags are only useful for InputText() and not for InputFloatX, InputIntX, InputDouble etc.
 | 
					    // - Most of the ImGuiInputTextFlags flags are only useful for InputText() and not for InputFloatX, InputIntX, InputDouble etc.
 | 
				
			||||||
    IMGUI_API bool          InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL);
 | 
					    IMGUI_API bool          InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL);
 | 
				
			||||||
    IMGUI_API bool          InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0,0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL);
 | 
					    IMGUI_API bool          InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0,0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -514,6 +514,8 @@ static void ShowDemoWindowWidgets()
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					            // To wire InputText() with std::string or any other custom string type, 
 | 
				
			||||||
 | 
					            // see the "Text Input > Resize Callback" section of this demo, and the misc/cpp/imgui_stdlib.h file.
 | 
				
			||||||
            static char str0[128] = "Hello, world!";
 | 
					            static char str0[128] = "Hello, world!";
 | 
				
			||||||
            ImGui::InputText("input text", str0, IM_ARRAYSIZE(str0));
 | 
					            ImGui::InputText("input text", str0, IM_ARRAYSIZE(str0));
 | 
				
			||||||
            ImGui::SameLine(); HelpMarker("USER:\nHold SHIFT or use mouse to select text.\n" "CTRL+Left/Right to word jump.\n" "CTRL+A or double-click to select all.\n" "CTRL+X,CTRL+C,CTRL+V clipboard.\n" "CTRL+Z,CTRL+Y undo/redo.\n" "ESCAPE to revert.\n\nPROGRAMMER:\nYou can use the ImGuiInputTextFlags_CallbackResize facility if you need to wire InputText() to a dynamic string type. See misc/cpp/imgui_stdlib.h for an example (this is not demonstrated in imgui_demo.cpp).");
 | 
					            ImGui::SameLine(); HelpMarker("USER:\nHold SHIFT or use mouse to select text.\n" "CTRL+Left/Right to word jump.\n" "CTRL+A or double-click to select all.\n" "CTRL+X,CTRL+C,CTRL+V clipboard.\n" "CTRL+Z,CTRL+Y undo/redo.\n" "ESCAPE to revert.\n\nPROGRAMMER:\nYou can use the ImGuiInputTextFlags_CallbackResize facility if you need to wire InputText() to a dynamic string type. See misc/cpp/imgui_stdlib.h for an example (this is not demonstrated in imgui_demo.cpp).");
 | 
				
			||||||
@@ -989,6 +991,8 @@ static void ShowDemoWindowWidgets()
 | 
				
			|||||||
        ImGui::TreePop();
 | 
					        ImGui::TreePop();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // To wire InputText() with std::string or any other custom string type, 
 | 
				
			||||||
 | 
					    // see the "Text Input > Resize Callback" section of this demo, and the misc/cpp/imgui_stdlib.h file.
 | 
				
			||||||
    if (ImGui::TreeNode("Text Input"))
 | 
					    if (ImGui::TreeNode("Text Input"))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if (ImGui::TreeNode("Multi-line Text Input"))
 | 
					        if (ImGui::TreeNode("Multi-line Text Input"))
 | 
				
			||||||
@@ -1008,7 +1012,7 @@ static void ShowDemoWindowWidgets()
 | 
				
			|||||||
                "\tlock cmpxchg8b eax\n";
 | 
					                "\tlock cmpxchg8b eax\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            static ImGuiInputTextFlags flags = ImGuiInputTextFlags_AllowTabInput;
 | 
					            static ImGuiInputTextFlags flags = ImGuiInputTextFlags_AllowTabInput;
 | 
				
			||||||
            HelpMarker("You can use the ImGuiInputTextFlags_CallbackResize facility if you need to wire InputTextMultiline() to a dynamic string type. See misc/cpp/imgui_stdlib.h for an example. (This is not demonstrated in imgui_demo.cpp)");
 | 
					            HelpMarker("You can use the ImGuiInputTextFlags_CallbackResize facility if you need to wire InputTextMultiline() to a dynamic string type. See misc/cpp/imgui_stdlib.h for an example. (This is not demonstrated in imgui_demo.cpp because we don't want to include <string> in here)");
 | 
				
			||||||
            ImGui::CheckboxFlags("ImGuiInputTextFlags_ReadOnly", (unsigned int*)&flags, ImGuiInputTextFlags_ReadOnly);
 | 
					            ImGui::CheckboxFlags("ImGuiInputTextFlags_ReadOnly", (unsigned int*)&flags, ImGuiInputTextFlags_ReadOnly);
 | 
				
			||||||
            ImGui::CheckboxFlags("ImGuiInputTextFlags_AllowTabInput", (unsigned int*)&flags, ImGuiInputTextFlags_AllowTabInput);
 | 
					            ImGui::CheckboxFlags("ImGuiInputTextFlags_AllowTabInput", (unsigned int*)&flags, ImGuiInputTextFlags_AllowTabInput);
 | 
				
			||||||
            ImGui::CheckboxFlags("ImGuiInputTextFlags_CtrlEnterForNewLine", (unsigned int*)&flags, ImGuiInputTextFlags_CtrlEnterForNewLine);
 | 
					            ImGui::CheckboxFlags("ImGuiInputTextFlags_CtrlEnterForNewLine", (unsigned int*)&flags, ImGuiInputTextFlags_CtrlEnterForNewLine);
 | 
				
			||||||
@@ -1037,8 +1041,9 @@ static void ShowDemoWindowWidgets()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if (ImGui::TreeNode("Resize Callback"))
 | 
					        if (ImGui::TreeNode("Resize Callback"))
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            // If you have a custom string type you would typically create a ImGui::InputText() wrapper than takes your type as input.
 | 
					            // To wire InputText() with std::string or any other custom string type, 
 | 
				
			||||||
            // See misc/cpp/imgui_stdlib.h and .cpp for an implementation of this using std::string.
 | 
					            // you can use the ImGuiInputTextFlags_CallbackResize flag + create a custom ImGui::InputText() wrapper using your prefered type.
 | 
				
			||||||
 | 
					            // See misc/cpp/imgui_stdlib.h for an implementation of this using std::string.
 | 
				
			||||||
            HelpMarker("Demonstrate using ImGuiInputTextFlags_CallbackResize to wire your resizable string type to InputText().\n\nSee misc/cpp/imgui_stdlib.h for an implementation of this for std::string.");
 | 
					            HelpMarker("Demonstrate using ImGuiInputTextFlags_CallbackResize to wire your resizable string type to InputText().\n\nSee misc/cpp/imgui_stdlib.h for an implementation of this for std::string.");
 | 
				
			||||||
            struct Funcs
 | 
					            struct Funcs
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user