The layouting was becoming too complex to maintain and to introduce new features. Was even buggy, the fuzzer was constantly finding bugs, which took hours to workaround. Problem with the old layout engine is that there was a catch 22, between Items driving the separators, and separators driving the anchors. The new layout is much simpler, both in implementation and conceptually. There's simply a recursive hierarchy of Item elements. An Item can either have a QWidget to show, or be a ItemContainer, which contains Item children, and so forth. Each ItemContainer is either vertical or horizontal. That's enough to represent the "nested multi-splitter" concept which KDDW uses. After each item insertion/deletion/resize, the separators are regenerated. They are essentially dumb now. TODO: - Separators are drawn, but are not interactive yet - There's 5 tests failing - LayoutSaver scalling functionality
46 lines
627 B
Plaintext
46 lines
627 B
Plaintext
/default/
|
|
docks.qbs.user
|
|
/release/
|
|
Makefile
|
|
*_autogen*
|
|
CMakeFiles
|
|
CMakeCache.txt
|
|
/examples/example
|
|
libdocks.so
|
|
tst_docks
|
|
CMakeLists.txt.user*
|
|
/build
|
|
moc_*
|
|
*.moc
|
|
*automoc.cpp
|
|
/bin/
|
|
*.exp
|
|
*.lib
|
|
install_manifest.txt
|
|
*.exe
|
|
*.ilk
|
|
*pdb
|
|
qrc_*cpp
|
|
docks_example
|
|
examples/docks_example.exe.manifest
|
|
*.ninja
|
|
resources.qrc.depends
|
|
.ninja*
|
|
*backup~
|
|
*backup.md5~
|
|
.qmake.stash
|
|
cmake_install.cmake
|
|
latex
|
|
html
|
|
custom_titlebar
|
|
libkddockwidgets.so
|
|
*.depends
|
|
kddockwidgets_basic_quick
|
|
/src/KDDockWidgetsConfig.cmake
|
|
/src/KDDockWidgetsConfigVersion.cmake
|
|
build-*
|
|
/examples/dockwidgets/kddockwidgets_example
|
|
.cmake
|
|
CTestTestfile.cmake
|
|
mylayout.json
|