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)
- Automatic button color change on hover HOT 2
- SDL_SetTextInputArea (in ImGui 1.90.9) no longer available >>> SDL_SetTextInputRect HOT 3
- Is Carriage Return usable is window label? HOT 1
- [Bug?] Large (font size) merged fonts leading to blocky, fat text HOT 1
- How to never steal keyboard/window focus but process mouse and keyboard keys ? HOT 3
- Trying to get ImGui to work in high dpi mode with sdl3 renderer backend but its not actually drawing in high dpi.
- I think it's a very old bug in the tables. HOT 1
- Scroll (SetScrollHereY) precision issue with messy font size float (and solution) HOT 3
- FullScreen Mode Issue on MacBook Air M3: Toolbar Buttons Misaligned and Unresponsive Due to Notch HOT 2
- Window goes blank on AMD GPU
- Transparent windows in a secondary viewport HOT 3
- Sub sub-menu fail to display using ImGuiConfigFlags_ViewportsEnable HOT 3
- Unmapped Memory Access
- Style color for active input field (feature request) HOT 2
- Frame rate control for individual windows HOT 1
- DirectX12 'ft2build.h' : No such file or directory
- SetNextWindowRefreshPolicy issues
- ListClipper jumps back when scrolls down to bottom HOT 3
- identifier "ImGui_ImplWin32_WndProcHandler" is undefined HOT 1
- Setting the Vulkan VkViewport leads to incomplete display of widgets. HOT 2
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.