Comments (8)
How can I detect when a Combo() is opened?
It's also worth explaining why you need this, as this might be a XY Problem question.
I need this since im using the Combo to choose a file in a folder and I want to update the list when the Combo is opened.
from imgui.
If you can rework your call to Combo()
to a BeginCombo()
/ EndCombo()
pair, the combo is open if BeginCombo()
returns true. You would then have to submit your items yourself, but you can look at the Combo()
implementation for how to do that.
If you want to keep using the more compact Combo()
function, you can calculate the popup id with ImHashStr("##ComboPopup", 0, GetItemID())
and check if that popup is currently open.
from imgui.
How can I detect when a Combo() is opened?
It's also worth explaining why you need this, as this might be a XY Problem question.
from imgui.
If you can rework your call to
Combo()
to aBeginCombo()
/EndCombo()
pair, the combo is open ifBeginCombo()
returns true. You would then have to submit your items yourself, but you can look at theCombo()
implementation for how to do that.If you want to keep using the more compact
Combo()
function, you can calculate the popup id withImHashStr("##ComboPopup", 0, GetItemID())
and check if that popup is currently open.
Can you give me an example?
from imgui.
I need this since im using the Combo to choose a file in a folder and I want to update the list when the Combo is opened.
Then you should use if (ImGui::IsWindowAppearing())
from imgui.
Can you give me an example?
As I said, you can look at the implementation of Combo()
for an example of how to use those functions. After all, that is just a wrapper for the step by step approach. Here is the exact place:
https://github.com/ocornut/imgui/blob/master/imgui_widgets.cpp#L1951-L1978
As Omar hinted at, you can use IsWindowAppearing()
to test if a window has just been opened. Right after BeginCombo()
returns true is the best place for that, then you are testing if the opened popup is just appearing.
from imgui.
I need this since im using the Combo to choose a file in a folder and I want to update the list when the Combo is opened.
Then you should use
if (ImGui::IsWindowAppearing())
Doesnt it need a parameter? Or where should I put it? Before or after the Combo is created
from imgui.
Can you give me an example?
As I said, you can look at the implementation of
Combo()
for an example of how to use those functions. After all, that is just a wrapper for the step by step approach. Here is the exact place: https://github.com/ocornut/imgui/blob/master/imgui_widgets.cpp#L1951-L1978As Omar hinted at, you can use
IsWindowAppearing()
to test if a window has just been opened. Right afterBeginCombo()
returns true is the best place for that, then you are testing if the opened popup is just appearing.
Alr thanks, I will try this
from imgui.
Related Issues (20)
- Latest SDL API breaks build - The text input state has been changed to be window-specific HOT 2
- Differing horizontal alignment for drag widget
- Why does the ImGuiListClipper save it's own ImGuiContext? HOT 2
- Can I get imgui to run without an imgui window? HOT 2
- Efficient approach to create multiple windows along with dock space saving feature.
- ClipRect not honored / Overlapping text over docked window borders HOT 5
- After being injected into the program via dll, it will crash for no reason HOT 1
- Draw Quad with custom shader DrawCallback HOT 9
- ChildBorderSize does not change less than 3.0f HOT 1
- "Failed to initialize OpenGL Loader!" After properly initializing opengl functions HOT 2
- Backends/OpenGL3 1.90.8 font texture not recreated HOT 1
- Value wrapping for drag widget HOT 5
- Correct way to disable window draging for a custom widget HOT 3
- Drawing rounded rects with individual corner radii HOT 3
- Scrollbar increment values HOT 1
- Latest SDL3 changes break SDL3 backend build. SDL_SetTextInputRect renamed to SDL_SetTextInputArea HOT 1
- CheckBox how to use filled rect HOT 1
- Remove Tab Navigation from Docked Windows HOT 1
- Glad2 Vulkan support HOT 1
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.