hello everyone !!
i am trying to stydy about docking gadgets on window, like image below :
the closest I found related was in the dadido3 source code, the
D3hex : ( https://github.com/Dadido3/D3hex )
this files : ( https://github.com/Dadido3/D3hex/tree/m ... s/D3docker )
Does anyone know how to implement the data3 code in another example simpler to be studied?
or is there another way to implement this?
how can i docking gadgets on windows ?
- skinkairewalker
- Enthusiast
- Posts: 627
- Joined: Fri Dec 04, 2015 9:26 pm
Re: how can i docking gadgets on windows ?
Hey,
i wanted to make a library out of this part of D3hex, and i already started working on a newer docking gadget that is extendable so that it could work on linux and macOS, too. But i haven't got that finished, last time i worked on it was in 2017.
Here is a version i just extracted from D3hex. Also i added a really simple example: https://www.dropbox.com/s/n0t9695ro7o3k ... r.zip?dl=0 (Unfortunately i can't upload it to the forum, even though it's just 53kB)
The API is similar to the MDI gadget. So if you have code that already works with the MDI gadget, it's really easy to swap it out with my docking/workspace gadget. It mostly works fine, but there are some limitations:
- Only windows support
- No storing and restoring of docked window arrangements/positions/sizes
- It's not possible to dock windows outside of the docking gadget
- No static containers(that you can't undock/resize/move)
- When you switch the window, you may have to set the previous active dockable window to active
- Tabulator works differently compared to the MDI gadet. That's because all docked windows are basically in the same big window
I don't really know of many other library that does offer something similar. It's hard to find even for other languages/UI libraries. There is one really well made docking/workspace gadget for QT (Qt-Advanced-Docking-System). But most other libraries are either limited in some ways (e.g. can only arrange widgets around a main gadget) or cost some bucks. For purebasic or even pure WinAPI windows, there is hardly anything to find.
i wanted to make a library out of this part of D3hex, and i already started working on a newer docking gadget that is extendable so that it could work on linux and macOS, too. But i haven't got that finished, last time i worked on it was in 2017.
Here is a version i just extracted from D3hex. Also i added a really simple example: https://www.dropbox.com/s/n0t9695ro7o3k ... r.zip?dl=0 (Unfortunately i can't upload it to the forum, even though it's just 53kB)
The API is similar to the MDI gadget. So if you have code that already works with the MDI gadget, it's really easy to swap it out with my docking/workspace gadget. It mostly works fine, but there are some limitations:
- Only windows support
- No storing and restoring of docked window arrangements/positions/sizes
- It's not possible to dock windows outside of the docking gadget
- No static containers(that you can't undock/resize/move)
- When you switch the window, you may have to set the previous active dockable window to active
- Tabulator works differently compared to the MDI gadet. That's because all docked windows are basically in the same big window
I don't really know of many other library that does offer something similar. It's hard to find even for other languages/UI libraries. There is one really well made docking/workspace gadget for QT (Qt-Advanced-Docking-System). But most other libraries are either limited in some ways (e.g. can only arrange widgets around a main gadget) or cost some bucks. For purebasic or even pure WinAPI windows, there is hardly anything to find.
- [blendman]
- Enthusiast
- Posts: 297
- Joined: Thu Apr 07, 2011 1:14 pm
- Location: 3 arks
- Contact:
Re: how can i docking gadgets on windows ?
Hi
Perhaps, its possible to create this kind of dock gadgets with container at mouse position
:
- in the container, you can add a canvas or imagegadget to show an image of the area if needed.
- in the place you will put the container, when your mouse is over, you will create another container with a canvas too (with a red color, like in your screenshot).
It could be great to have a sort of transparency for the 2nd container.
Perhaps, its possible to create this kind of dock gadgets with container at mouse position
:
- in the container, you can add a canvas or imagegadget to show an image of the area if needed.
- in the place you will put the container, when your mouse is over, you will create another container with a canvas too (with a red color, like in your screenshot).
It could be great to have a sort of transparency for the 2nd container.
- skinkairewalker
- Enthusiast
- Posts: 627
- Joined: Fri Dec 04, 2015 9:26 pm
Re: how can i docking gadgets on windows ?
woow , awesome !!!Dadido3 wrote: ↑Mon Jun 07, 2021 6:31 pm Hey,
i wanted to make a library out of this part of D3hex, and i already started working on a newer docking gadget that is extendable so that it could work on linux and macOS, too. But i haven't got that finished, last time i worked on it was in 2017.
Here is a version i just extracted from D3hex. Also i added a really simple example: https://www.dropbox.com/s/n0t9695ro7o3k ... r.zip?dl=0 (Unfortunately i can't upload it to the forum, even though it's just 53kB)
The API is similar to the MDI gadget. So if you have code that already works with the MDI gadget, it's really easy to swap it out with my docking/workspace gadget. It mostly works fine, but there are some limitations:
- Only windows support
- No storing and restoring of docked window arrangements/positions/sizes
- It's not possible to dock windows outside of the docking gadget
- No static containers(that you can't undock/resize/move)
- When you switch the window, you may have to set the previous active dockable window to active
- Tabulator works differently compared to the MDI gadet. That's because all docked windows are basically in the same big window
I don't really know of many other library that does offer something similar. It's hard to find even for other languages/UI libraries. There is one really well made docking/workspace gadget for QT (Qt-Advanced-Docking-System). But most other libraries are either limited in some ways (e.g. can only arrange widgets around a main gadget) or cost some bucks. For purebasic or even pure WinAPI windows, there is hardly anything to find.
i'll try, thanks very much