Ich habe wieder an meinem Docking Mofdul weitergearbeitet. Das hat mich schon zum Verzweifeln gebracht. Nachdem ich dachte ich hätte jetzt den ersten Schritt erfolgreich gelöst (ein Docking Layout per API aufzubauen) habe ich dann ein kleines Testprogramm geschrieben, welches ich so entwickelt habe, wie es später auch ein User der Library machen würde. Dabei habe ich festgestellt dass ich da eine Designentscheidung getroffen habe, die es für einen User nahezu unmöglich macht die API in einer Weise zu benutzen die halbwegs intuitiv ist. Es war für mich schon schwer nachzuvollziehen warum sich das so komisch verhält und für einen User der das einfach nur benutzen will, wäre es komplett unverständlich und unlogisch erschienen. Ich hatte zwar ein Testprogramm zum Debuggen, aber da ist mir das noch nicht so aufgefallen. Schön Blöd. Also alles wieder auf 0 und nochmal anfangen.
Nachdem das halbwegs gelaufen ist, habe ich mich dann noch entschieden eine weiter Desginentscheidung zu verwerfen, von der ich nichtmal weiss ob ich das wirklich brauchen werde, oder ob das so funktionieren wird, weil ich dazu erstmal die Grundfunktionen schreiben muss. Die wurden aber dadurch deutlich komplizierter. Also weg damit. Ich hatte näcmlich die Idee dass ich jedes Fenster in einen speziellen unsichtbaren Rahmen packe, der dazu dienen soll später, wenn ich das Fenster dann mit der Maus ziehen will, als Rahmen zu dienen. Jetzt habe ich das rausgeworfen und beschlossen, ich versuche es erstmal so, und überlege das dann wenn ich bei der Mausbedinung bin. Es müsste eigentlich auch ohne gehen und ich zeichne dann einfach als Overlay drüber.
Zumindest hat das den Code jetzt so vereinfacht dass ich jetzt endlich einen Schritt weiter gekommen bin und sich die Lösung auch gut anfühlt. Jetzt habe ich wenigstens das Gefühl dass ich endlich Fortschritte mache, was sich vorher einfach nicht einstellen wollte.
Zumindest kann ich jetzt (wieder) per API ein Layout aufbauen, und das so dass sich das auch aus Usersicht logisch und nachvollziehbar anfühlt. 
Bin ja gespannt wie lange ich da noch dran sitzen werde und ob dann am Ende alles so aufgeht wie ich mir das vorstelle, damit ich das dann endlich in meinen Debugger einbauen kann. Solange dass noch nicht fertig ist, brauch ich den Debugger jedenfalls nicht weiter machen, da der sonst nicht so modern zu bedienen ist wie ich das möchte (als Vorbild dient mir die Visual Studio IDE). Und Oldschool Debugger gibts ja mittlerweile genug. 