how can i docking gadgets on windows ?

Just starting out? Need help? Post your questions and find answers here.
User avatar
skinkairewalker
Enthusiast
Enthusiast
Posts: 627
Joined: Fri Dec 04, 2015 9:26 pm

how can i docking gadgets on windows ?

Post by skinkairewalker »

hello everyone !!
i am trying to stydy about docking gadgets on window, like image below :
Image

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?
User avatar
Dadido3
User
User
Posts: 52
Joined: Sat Jan 12, 2008 11:50 pm
Location: Hessen, Germany
Contact:

Re: how can i docking gadgets on windows ?

Post by Dadido3 »

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.
User avatar
[blendman]
Enthusiast
Enthusiast
Posts: 297
Joined: Thu Apr 07, 2011 1:14 pm
Location: 3 arks
Contact:

Re: how can i docking gadgets on windows ?

Post by [blendman] »

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.
User avatar
skinkairewalker
Enthusiast
Enthusiast
Posts: 627
Joined: Fri Dec 04, 2015 9:26 pm

Re: how can i docking gadgets on windows ?

Post by skinkairewalker »

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.
woow , awesome !!!

i'll try, thanks very much :D
Post Reply