Comments (7)
If by labels you mean LabelText() its a widget that follows the current value of ItemWidth to match the width of a Slider or any other framed widget. You can control that width with PushItemWidth() or SetNextItemWidth() and thereās a section in Demo>Layout detailing it. It defaults to something like 2/3 of the window and its a bit awkward because it doesnāt lend itself to manual resizing (i have some ideas in mind to improve it). Thereās not calculation of either side contents in that situation.
However, it seems like you should be using a table and set column policy to fit/stretch or make the table resizable.
from imgui.
To clarify if you were submitting eg Drags or Sliders or Inputs you would see the frame on the left and this frameās width is derived from ItemWidth, and it would make a little bit more sense as to why the left side is not best-fit.
(Itās a recurrent question/wonder in the sense that both the order and lack of manual resizing is not ideal. What people do nowadays if they want the best-fit is to use a two columns table, add label in one column and widgets without label filling the other column (using -FLT_MIN you right align frames to available bounds).
itās probably good to browse the Examples in Demo for some references.
from imgui.
my GUI is constructed dynamically, so it's awkward to know if you're in a run of labels that could share a table or not.
I could do Text--SameLine--Text but what would really make it sing is some way of tabstopping. If the first Text was < some width, then pass an offset to SameLine. CalcItemWidth isn't what I need according to the docs. I've been digging in the excellent manual demo https://pthom.github.io/imgui_manual_online/manual/imgui_manual.html but not found anything yet.
from imgui.
my GUI is constructed dynamically, so it's awkward to know if you're in a run of labels that could share a table or not.
I believe every fields should share the same table, why wouldnāt they?
from imgui.
I've got collapsing headers and tree nodes all mixed up in there, it's callbacks all over the place. I think I figured out a way to table runs of labels tho, will give that a go.
from imgui.
š¤
using a cached CalcTextSize for the label key to pass a minimum offset to SameLine()
from imgui.
You can call EndTable() when using a collapsing header and reopen it immediately, thatās also a solution.
from imgui.
Related Issues (20)
- Block shortcuts when a modal popup is open HOT 1
- Table with ImGuiTableFlags_ScrollY does not reserve horizontal space for vertical scrollbar HOT 1
- Latest SDL commit breaks build - SDL_SystemCursor: rename enum items to match CSS. HOT 1
- Pop-up is not dissmissed when clicking in a modal "curtain". HOT 2
- UI elements cannot be interacted with or docked with each other (Win32 + Vulkan) HOT 8
- Horizontal Scrolling Child Window and CollapsingHeader HOT 3
- Add a "HyperLink" control (clickable text with link-like styling) HOT 3
- Docking markers rendered at wrong location when attempting to move viewports outside of monitor boundaries HOT 1
- Drawlists callbacks questions HOT 7
- ImGuiTableFlags_NoBordersInBodyH HOT 2
- Warn users if they are reusing the same ID on a different widget HOT 8
- ImGui scales instead of resizing on Wayland with GLFW and VULKAN HOT 6
- Feature request: TUI (ncurses) backend HOT 1
- ImGui SDL3 Renderer Multi viewport broken HOT 11
- ImGui::CalcTextSize() Escaped Symbols HOT 2
- Trigger widgets (per default) with the click that closes a popup HOT 4
- Using shaders with ImGui::Image in separate functions. HOT 1
- How the menu adaptively changes as the treenode opens HOT 1
- Integration of ImGui with CMake
- Incorrect work WindowPadding/ItemSpacing in popups
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ššš
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imgui.