rizinorg / cutter

Free and Open Source Reverse Engineering Platform powered by rizin
https://cutter.re
GNU General Public License v3.0
15.74k stars 1.15k forks source link

Evaluate Windows management library #1265

Open Maijin opened 5 years ago

Maijin commented 5 years ago

Is your feature request related to a problem? Please describe.

The Windows management can be enhanced, thus could use an existing management library.

Describe the solution you'd like

The needs and libraries like Renderdoc must be evaluate before validating this issue by @thestr4ng3r

thestr4ng3r commented 5 years ago

https://github.com/riateche/toolwindowmanager

karliss commented 5 years ago

Here are a few other Qt docking widget libraries:

Looks like many of such libraries were created/last time updated before QT 5.6 which introduced significant but insufficient improvements to docking widget.

karliss commented 4 years ago

One more candidate: https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System It's a maintained fork of Qt-Advanced-Docking-System. It is even used by qt https://www.qt.io/blog/qt-design-studio-1.5-released . The github page claims that it's also used by qtcreator but my qtcreator looks different, maybe it's an optional feature. If the versions in CMake file can be trusted it is supposed to support Qt and CMake versions available on Ubuntu 16.04.

Looks like one of the two best candidates so far. With KDAB being the other.

One annoying part will be packaging it so that external C++ plugins can be compiled. Window/Docking system widget will be base class of CutterDock widget which causes it to be part of Cutter API.

thestr4ng3r commented 4 years ago

Indeed it looks very nice. But I am not sure if it really MUST be base class of CutterDockWidget. CutterDockWidget could also be a QWidget that embeds itself in such an AdvancedDockWidget (or whatever the name is). Not saying this is necessarily the way to go, but an idea.