From 18972c5513d2aa0158bb58148658e71e180f5ebb Mon Sep 17 00:00:00 2001 From: omar Date: Wed, 29 Aug 2018 15:15:36 +0200 Subject: [PATCH] Refactor: Added imgui_widgets.cpp headers to easily merge in the functions in all our branches. (#2036) --- imgui_widgets.cpp | 245 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 243 insertions(+), 2 deletions(-) diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index 09283437a..538b90579 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -11,15 +11,256 @@ #endif #include "imgui_internal.h" +#include // toupper, isprint + +// Visual Studio warnings +#ifdef _MSC_VER +#pragma warning (disable: 4127) // condition expression is constant +#pragma warning (disable: 4996) // 'This function or variable may be unsafe': strcpy, strdup, sprintf, vsnprintf, sscanf, fopen +#endif + +// Clang/GCC warnings with -Weverything +#ifdef __clang__ +#pragma clang diagnostic ignored "-Wformat-nonliteral" // warning : format string is not a string literal // passing non-literal to vsnformat(). yes, user passing incorrect format strings can crash the code. +#pragma clang diagnostic ignored "-Wsign-conversion" // warning : implicit conversion changes signedness // +#elif defined(__GNUC__) +#pragma GCC diagnostic ignored "-Wformat-nonliteral" // warning: format not a string literal, format string not checked +#if __GNUC__ >= 8 +#pragma GCC diagnostic ignored "-Wclass-memaccess" // warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#endif +#endif + //------------------------------------------------------------------------- // Forward Declarations //------------------------------------------------------------------------- //------------------------------------------------------------------------- -// Shared Utilities +// SHARED UTILITIES //------------------------------------------------------------------------- //------------------------------------------------------------------------- -// Widgets +// WIDGETS: Text +// - TextUnformatted() +// - Text() +// - TextV() +// - TextColored() +// - TextColoredV() +// - TextDisabled() +// - TextDisabledV() +// - TextWrapped() +// - TextWrappedV() +// - LabelText() +// - LabelTextV() +// - BulletText() +// - BulletTextV() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Main +// - ButtonBehavior() [Internal] +// - Button() +// - SmallButton() +// - InvisibleButton() +// - ArrowButton() +// - CloseButton() [Internal] +// - CollapseButton() [Internal] +// - Image() +// - ImageButton() +// - Checkbox() +// - CheckboxFlags() +// - RadioButton() +// - ProgressBar() +// - Bullet() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Combo Box +// - BeginCombo() +// - EndCombo() +// - Combo() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Data Type and Data Formatting Helpers [Internal] +// - PatchFormatStringFloatToInt() +// - DataTypeFormatString() +// - DataTypeApplyOp() +// - DataTypeApplyOpFromText() +// - GetMinimumStepAtDecimalPrecision +// - RoundScalarWithFormat<>() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Drags +// - DragBehaviorT<>() [Internal] +// - DragBehavior() [Internal] +// - DragScalar() +// - DragScalarN() +// - DragFloat() +// - DragFloat2() +// - DragFloat3() +// - DragFloat4() +// - DragFloatRange2() +// - DragInt() +// - DragInt2() +// - DragInt3() +// - DragInt4() +// - DragIntRange2() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Sliders +// - SliderBehaviorT<>() [Internal] +// - SliderBehavior() [Internal] +// - SliderScalar() +// - SliderScalarN() +// - SliderFloat() +// - SliderFloat2() +// - SliderFloat3() +// - SliderFloat4() +// - SliderAngle() +// - SliderInt() +// - SliderInt2() +// - SliderInt3() +// - SliderInt4() +// - VSliderScalar() +// - VSliderFloat() +// - VSliderInt() +//------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + +//------------------------------------------------------------------------- +// WIDGETS: Inputs (_excepted InputText_) +// - ImParseFormatFindStart() +// - ImParseFormatFindEnd() +// - ImParseFormatTrimDecorations() +// - ImParseFormatPrecision() +// - InputScalarAsWidgetReplacement() [Internal] +// - InputScalar() +// - InputScalarN() +// - InputFloat() +// - InputFloat2() +// - InputFloat3() +// - InputFloat4() +// - InputInt() +// - InputInt2() +// - InputInt3() +// - InputInt4() +// - InputDouble() +//------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + +//------------------------------------------------------------------------- +// WIDGETS: InputText +// - InputText() +// - InputTextMultiline() +// - InputTextEx() [Internal] +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Color Editor / Picker +// - ColorEdit3() +// - ColorEdit4() +// - ColorPicker3() +// - RenderColorRectWithAlphaCheckerboard() [Internal] +// - ColorPicker4() +// - ColorButton() +// - SetColorEditOptions() +// - ColorTooltip() [Internal] +// - ColorEditOptionsPopup() [Internal] +// - ColorPickerOptionsPopup() [Internal] +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Trees +// - TreeNode() +// - TreeNodeV() +// - TreeNodeEx() +// - TreeNodeExV() +// - TreeNodeBehavior() [Internal] +// - TreePush() +// - TreePop() +// - TreeAdvanceToLabelPos() +// - GetTreeNodeToLabelSpacing() +// - SetNextTreeNodeOpen() +// - CollapsingHeader() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Selectables +// - Selectable() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: List Box +// - ListBox() +// - ListBoxHeader() +// - ListBoxFooter() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Data Plotting +// - PlotEx() [Internal] +// - PlotLines() +// - PlotHistogram() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Value() helpers +// - Value() +//------------------------------------------------------------------------- + + +//------------------------------------------------------------------------- +// WIDGETS: Menus +// - BeginMainMenuBar() +// - EndMainMenuBar() +// - BeginMenuBar() +// - EndMenuBar() +// - BeginMenu() +// - EndMenu() +// - MenuItem() //-------------------------------------------------------------------------