Replies: 17 comments 4 replies
-
Also, I'm looking for small educational examples such as haiku_implot_heart.py which would serve as a demonstration of the library. |
Beta Was this translation helpful? Give feedback.
-
macOS m1, python user, install by
Feedbacks? and it deserves a better dock icon: and a 3d scene example will be great, (https://github.com/stevenlovegrove/Pangolin is hard to install.) I'm expecting to use this to try out some functions from https://github.com/libigl/libigl. Thank you again. |
Beta Was this translation helpful? Give feedback.
-
@district10 : thanks for your message! v0.6.5 is out. It solves the blurry text issue. Concerning 3D + ImGuizmo, I still need to ponder whether it is easy or not. I will study this in the next weeks. |
Beta Was this translation helpful? Give feedback.
-
v0.7.2 is out and integrates ImGuizmo (as well as lots of additions)! |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
@GoWeasel : ...Hello and happy new year...
I did not understand what you mean, although I tried for a few minutes.
Be precise, please.
Well, thanks for the not so kind words with no clear explanation.
Why not, I might study this idea later. This is a good idea.
Do you mean that you launched the python demos and they were simple to launch? In that case, thanks.
Will be fixed.
Does it mean you are asking for ImGuiBundle::ShowFullDemoWindow() or what? In the meantime you can do : mkdir build
cd build
cmake ..
./bin/demo_all |
Beta Was this translation helpful? Give feedback.
-
just maked an empty testfolder, then git clone (main) repository and open up as a cmake project, What i would expect were something like, a demo.cpp which is build able with root cmake config,
not possible with cmake errors |
Beta Was this translation helpful? Give feedback.
-
just expec to import ImGuiBundle like a lib (cmake compatible) that gives me all what i need (as so far implemented), lets say for project a i just need a short imgui demo without big extras, i import ImGuiBundle Lib and just call now lets say for project b i like to see a full demo with all included imgui stuff, so i just call now lets say for project c, i like to use different parts (of ImGuiBundle) and perhaps different gui-toolkit (glfw/sdl) and perhaps different graphic api (opengl/vulkan) and perhaps target OS (win/linux/mac/android/ios/web) etc.... (this to handle in a way like KISS-principle would be the biggest challenge) for the other question u got tomorrow some examples |
Beta Was this translation helpful? Give feedback.
-
it seems you forgot a classic step with repositories which have submodules:
|
Beta Was this translation helpful? Give feedback.
-
It is already possible to target glfw or sdl, since ImGuiBundle is based on my other library HelloImGui (see its api, and runner_params.h which enables to select the backend between Sdl and glfw.
ImguiBundle already targets windows, mac, ios and emscripten. Concerning iOS and android. HelloImGui (on which ImGuiBundle is based) also supports them. I did not make any effort in checking whether its is still the case when added to ImGuiBundle. I do not maintain the android platform anymore, since I do not own an android device, and the android toolset is too clunky for my taste. |
Beta Was this translation helpful? Give feedback.
-
@GoWeasel : please see updated instructions for c++ here |
Beta Was this translation helpful? Give feedback.
-
oh nice... looks pretty clean style... i'll take it as good night lecture :-) |
Beta Was this translation helpful? Give feedback.
-
I'm interested in imgui_bundle to make my existing C++ research project compatible with multiple platforms. The example C++ demo compiled pretty easily, but I have some build system questions.
I was also wondering if there is a way to pin versions of each submodule in imgui_bundle. I'm a novice when it comes to C++ build systems, but to me it looks like I'd have to build imgui_bundle from source each time I want to change the version of each submodule? Is there an easier way to do this through cmake? |
Beta Was this translation helpful? Give feedback.
-
Thanks for your input! Do not hesitate to share images of your project if yo feel like it. Which libraries do you intend to use. imgui_bundle_add_app is just a variation on add_executable( exe_name yourfiles.cpp)
target_link_libraries(exe_name imgui_bundle)
# plus copy assets/ so that they can easily be found
Two possibilities: 1/ If you are using the CMakeLists from example_integration, you can set a fixed commit hash or tag beside GIT_TAG
2/ Or you can use imgui_bundle as a submodule. In either case, imgui_bundle version will be fixed, and that will pin the version of the submodules it uses. If you want to change the version of the submodules independently from imgui_bundle main repo, you will have to fork it. |
Beta Was this translation helpful? Give feedback.
-
Hello, Already, a big Merci for this project which allows me to learn a lot about python+imgui+openCV!! I'm using I didn't understand the "demo_docking" example. from dataclasses import dataclass, field
from imgui_bundle import imgui
from imgui_bundle import hello_imgui
from imgui_bundle import immapp
from imgui_bundle import implot
@dataclass
class SubWindow:
namedId: str
isShow: bool = True
def drawUi (self):
if not self.isShow: return
imgui.begin (self.namedId)
if imgui.button ("Close"):
self.isShow = False
imgui.end ()
@dataclass
class App:
sub_windows: list[SubWindow] = field (default_factory=list)
show_demo_window: bool = False
def start (self):
runner_params = hello_imgui.RunnerParams (
app_window_params = hello_imgui.AppWindowParams (
window_title = 'Demo Simple Dockable Windows',
restore_previous_geometry = True
),
imgui_window_params = hello_imgui.ImGuiWindowParams (
default_imgui_window_type = hello_imgui.DefaultImGuiWindowType.provide_full_screen_dock_space
),
callbacks = hello_imgui.RunnerCallbacks (
show_gui = self.drawUi
)
)
immapp.run (runner_params)
def drawUi (self):
isOpen, _ = imgui.begin ('Main Window')
if isOpen:
if imgui.button ('Create new window'):
self.sub_windows.append (SubWindow (f'Sub Window {len (self.sub_windows)}'))
if imgui.button ('Hide demo window' if self.show_demo_window else 'Show demo window'):
self.show_demo_window = not self.show_demo_window
imgui.end ()
for win in self.sub_windows:
win.drawUi ()
if self.show_demo_window:
imgui.show_demo_window ()
if __name__ == '__main__':
App ().start () |
Beta Was this translation helpful? Give feedback.
-
@corbane : your example is OK. However the intent of the docking demo is to show how to handle the layout programmatically. I'll keep in mind that a simpler demo might be useful. |
Beta Was this translation helpful? Give feedback.
-
Hello, From poking around in the documentation this seems like a very nice project! However, I was unable to find an option to disable certain 'batteries included' libraries (With the exception of Is this a feature you would consider adding? |
Beta Was this translation helpful? Give feedback.
-
"ImGui Bundle" is a brand new python and C++ package (Oct 2022). It works on MacOS, Windows and Linux.
Feedback from users would be appreciated in order to make sure its installation works on different platforms.
If you installed it, and if you have time, could you please answer the following:
Python users
git clone
+pip install -v .
or viapip install imgui-bundle
(i.e install from pypi)C++ Users
Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions