Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Zweites IDE-Fenster als Container für dockable Toolwindows (https://www.delphipraxis.net/197700-zweites-ide-fenster-als-container-fuer-dockable-toolwindows.html)

Codehunter 29. Aug 2018 06:46

Zweites IDE-Fenster als Container für dockable Toolwindows
 
Moin!

Ich denke jeder kennt das Problem: Um den Quelltexteditor herum residieren irgendwann so viele angedockte Toolfenster, dass man viel Zeit damit verbringt, darin die Scrollbars herum zu schubsen oder in Tab-Kaskaden innerhalb der Toolfenster zu suchen.

Natürlich habe ich auch mehrere Monitore. So habe ich viele Toolfenster "in Abseits gestellt". Das schafft zwar mehr Übersicht, aber die Fenster flattern dort sprichwörtlich "völlig losgelöst" herum.

Also habe ich letztendlich das Scrollbar-Schubsen von angedockten Toolfenstern nur eingetauscht gegen regelmäßig wiederkehrendes Justieren und Sortieren der abgedockten Fenster auf dem zweiten Bildschirm.

Gibt es evtl. eine Möglichkeit, ein zweites Dockfenster zu erzeugen, in dem man die Toolfenster andocken kann und welches seinerseits dann maximiert oder minimiert werden kann? Wenn die IDE es selbst nicht kann, gibts vielleicht ein Plugin dafür?

Grüße
Cody

Nachtrag: Bevor sich jemand wundert weshalb ich frage, obwohl man die Toolfenster doch ineinander docken kann: Das so entstehende Containerfenster lässt sich nur maximieren, aber nicht minimieren.

dummzeuch 29. Aug 2018 13:26

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Interessante Idee. Im Prinzip könnte GExperts ein leeres Fenster dafür zur Verfügung stellen (in die Standard-Fenster, von GExperts, die man docken kann (z.B. Grep Results), kann man auch jetzt schon andere dockbare Fenster andocken).

In wie weit man allerdings beeinflussen kann, ob das Fenster minimiert werden kann, müsste ich erst noch herausfinden.

Ich hab's mir mal aufgeschrieben:

https://sourceforge.net/p/gexperts/feature-requests/41/

Codehunter 29. Aug 2018 14:13

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von dummzeuch (Beitrag 1411928)
In wie weit man allerdings beeinflussen kann, ob das Fenster minimiert werden kann, müsste ich erst noch herausfinden.

Ich weiß nicht wie die IDE diese Fenster erzeugt. Ich vermute es hat was mit dem BorderStyle zu tun. Vielleicht ließe sich CreateWnd überschreiben und daraus wieder ein normales Sizeable Fenster machen mit dem Fenster-Handle der IDE als ParentHandle. Wenn dem so wäre, müsste die Windows-Taskleiste das neue Fenster auch richtig eingruppieren, so wie sie das mit den Helpviwer-Fenstern auch tut.

Der Witz an der Sache ist eigentlich, dass ich vermeiden möchte dass die Anzahl der Monitore auf dem Schreibtisch inflationär zunimmt. Denn leider hat meine TArbeitgeber-Klasse keine Methode IncreaseBueroSize() ;-)

dummzeuch 29. Aug 2018 14:21

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
[QUOTE=Codehunter;1411932]
Zitat:

Zitat von dummzeuch (Beitrag 1411928)
Wenn dem so wäre, müsste die Windows-Taskleiste das neue Fenster auch richtig eingruppieren, so wie sie das mit den Helpviwer-Fenstern auch tut.

Der Help-Viewer ist ein externes Programm, das ist was völlig anderes.

Codehunter 29. Aug 2018 14:32

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von dummzeuch (Beitrag 1411933)
Der Help-Viewer ist ein externes Programm, das ist was völlig anderes.

Jain. Deswegen mein Hinweis auf CreateWnd. Ich habe das schon mal gemacht, ein Subfenster zu zu erzeugen, dass es in der Taskleiste mit eingruppiert wurde, ohne dass es ein separater Prozess war. Allerdings müsste ich nachschauen, wie.

Uwe Raabe 29. Aug 2018 16:36

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Prinzipiell kannst du auch ein Neues Editierfenster aufmachen und dort alles mögliche andocken. Du musst die Sourcedatei dann halt nur immer offen lassen, sonst schließt sich das Fenster wieder. Man könnte dafür ja auch eine Art dummy.txt missbrauchen. Also dummy.txt im Editor öffnen und dann per Neues Editierfenster auslagern.

Codehunter 29. Aug 2018 17:16

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1411942)
Prinzipiell kannst du auch ein Neues Editierfenster aufmachen und dort alles mögliche andocken. Du musst die Sourcedatei dann halt nur immer offen lassen, sonst schließt sich das Fenster wieder. Man könnte dafür ja auch eine Art dummy.txt missbrauchen. Also dummy.txt im Editor öffnen und dann per Neues Editierfenster auslagern.

Den Gedanken hatte ich auch schon. Aber bei mir zeigt so ein Editierfenster ein sehr merkwürdiges Verhalten. Beim Maximieren vergrößert es sich auf 2/3 der Bildschirmgröße, klebt an unteren Bildschirmrand und lässt auch rechts einen geräumigen Abstand. Beim Minimieren landet es nicht in der Taskleiste sondern wie früher die MDI-Childs oberhalb der Taskleiste.

EDIT: Den Punkt Taskleiste aber nicht überbewerten, das ist mir gar nicht so wichtig. Entscheidender ist, dass ich es A) Maximieren und B) Minimieren kann. Und derzeit kann ich die Tricks drehen und wenden, irgendwo klemmt es immer.

dummzeuch 29. Aug 2018 17:18

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Der erste Teil geht schon mal: Minimize etc. bekommt man, indem man das automatisch erzeugte Fenster abfängt und dessen BorderStyle auf bsSizeable setzt. Und schwupps funktioniert auch Win+Links bzw. Win+Rechts, um es auf die linke bzw. rechte Monitorseite zu schieben.

Einen eigenen Button auf der Taskbar ist etwas komplizierter. Derzeit erzeugt Minimize eine verkleinerte Titelleiste links unten, das ist irgendwie unschön.

Uwe Raabe 29. Aug 2018 17:33

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von Codehunter (Beitrag 1411945)
Beim Maximieren vergrößert es sich auf 2/3 der Bildschirmgröße, klebt an unteren Bildschirmrand und lässt auch rechts einen geräumigen Abstand.

Dieses Verhalten kann ich hier nicht reproduzieren. Beim Maximieren wird der ganze Bildschirm verwendet.

dummzeuch 29. Aug 2018 17:44

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Hah, es funktioniert!

* Screen.OnActiveFormChange hooken (Vorsicht! Das koennten andere IDE Plugins auch machen)
* Wenn das neue Formular die Klasse TJoinDockForm hat
* neues Formular erzeugen, welches einen eigenen Taskbar-Button hat (-> Google hilft)
* JoinDockForm.Parent := NeuesFormular;
* JoinDockForm.Align := alClient;
* JoinDockForm.BorderStyle := bsNone;
* NeuesFormular.Show;

-> Done.

(OK, ein paar kleinere Schönheitsfehler sind noch auszumerzen, aber das sollte machbar sein. Z.B. bleibt das neue Fenster übrig, wenn man die gedockten Fenster wieder abdockt.)

Codehunter 29. Aug 2018 19:19

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1411947)
Zitat:

Zitat von Codehunter (Beitrag 1411945)
Beim Maximieren vergrößert es sich auf 2/3 der Bildschirmgröße, klebt an unteren Bildschirmrand und lässt auch rechts einen geräumigen Abstand.

Dieses Verhalten kann ich hier nicht reproduzieren. Beim Maximieren wird der ganze Bildschirm verwendet.

Hast du primären und sekundären Bildschirm auf gleicher Auflösung und Orientierung? Ich habe den sekundären per Pivot hochkant. Die IDE liegt auf dem primären bei 1920x1080, das zweite Editierfenster bei 1080x1920. Vielleicht liegt es daran? EDIT: Scheint nicht so als würde es an der Auflösung liegen. Ich habe mal testweise gedreht, beide Bildschirme gleich, aber das zweite Editierfenster verhält sich immer noch komisch.
Zitat:

Zitat von dummzeuch (Beitrag 1411948)
Hah, es funktioniert!

* Screen.OnActiveFormChange hooken (Vorsicht! Das koennten andere IDE Plugins auch machen)
* Wenn das neue Formular die Klasse TJoinDockForm hat
* neues Formular erzeugen, welches einen eigenen Taskbar-Button hat (-> Google hilft)
* JoinDockForm.Parent := NeuesFormular;
* JoinDockForm.Align := alClient;
* JoinDockForm.BorderStyle := bsNone;
* NeuesFormular.Show;

-> Done.

(OK, ein paar kleinere Schönheitsfehler sind noch auszumerzen, aber das sollte machbar sein. Z.B. bleibt das neue Fenster übrig, wenn man die gedockten Fenster wieder abdockt.)

Das klingt doch sehr gut. Wenn es was zu testen gibt lass es mich bitte wissen :-)

dummzeuch 1. Sep 2018 12:42

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von Codehunter (Beitrag 1411951)
Zitat:

Zitat von dummzeuch (Beitrag 1411948)
Hah, es funktioniert!
-> Done.
(OK, ein paar kleinere Schönheitsfehler sind noch auszumerzen, aber das sollte machbar sein. Z.B. bleibt das neue Fenster übrig, wenn man die gedockten Fenster wieder abdockt.)

Das klingt doch sehr gut. Wenn es was zu testen gibt lass es mich bitte wissen :-)

https://sourceforge.net/p/gexperts/code/2394/

new IDE enhancement: Enhanced dock forms have got a minimize/maximize button and can be placed with Win+Arrow keys.

Allerdings funktioniert das nur für kombinierte Dock-Forms, also wenn mindestens zwei in einem Fenster zusammengefasst wurden.

Wenn Du das compilieren willst, musst Du die beiden neuen Units zum Projekt hinzufügen, das habe ich noch nicht eingecheckt.

Es kommt aber noch ein weiteres neues Feature: Ein (oder eher bliebig viele) Dock-Fenster, die in der Taskleiste auftauchen. Das ist aber noch nicht ganz ausgegoren.

twm

dummzeuch 2. Sep 2018 11:25

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
GExperts Enhancements for docking in the Delphi IDE

Codehunter 2. Sep 2018 13:25

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Ahoi,

ich wollts mir mal compilieren, aber leider scheppert es in der Batchdatei. Vielleicht kannst du da was rauslesen. Ich vermute dass die Delphiversion nicht richtig erkannt wird. Denn Delphi 6 ist mal ganz verkehrt. Ich habe mehrere Delphis parallel installiert. Richtig wäre die 10.2.3 CE.
Code:
D:\Delphi\Projekte\Tests\GExperts>REM @echo off

D:\Delphi\Projekte\Tests\GExperts>buildtools\prepbuild.exe --incbuild --readini=
projects\GExperts --updateini=projects\GExperts
dzPrepBuild version 1.3.1.511 built 2017-04-04
Reading projects\GExperts_Version.ini
Incrementing build number to 68
FileVersion is now 1.3.11.68
Updating projects\GExperts_Version.ini

D:\Delphi\Projekte\Tests\GExperts>if "" == "" goto :list

D:\Delphi\Projekte\Tests\GExperts>call :doItem 6

D:\Delphi\Projekte\Tests\GExperts>pushd projects

D:\Delphi\Projekte\Tests\GExperts\Projects>setlocal

D:\Delphi\Projekte\Tests\GExperts\Projects>call __build.cmd 6

D:\Delphi\Projekte\Tests\GExperts\Projects>if "6" == "" goto :list

D:\Delphi\Projekte\Tests\GExperts\Projects>call :dobuild 6

D:\Delphi\Projekte\Tests\GExperts\Projects>pushd Delphi6

D:\Delphi\Projekte\Tests\GExperts\Projects\Delphi6>setlocal

D:\Delphi\Projekte\Tests\GExperts\Projects\Delphi6>call __Build_Project.cmd
D:\Delphi\Projekte\Tests\GExperts\Projects\Delphi6\dcu\*.dcu konnte nicht gefund
en werden
..\..\buildtools\prebuild.cmd
running in D:\Delphi\Projekte\Tests\GExperts\Projects\Delphi6
dzPrepBuild version 1.3.1.511 built 2017-04-04
Reading GExpertsD6_Version.ini
FileVersion is now 1.3.11.68
Writing rc file GExpertsD6_Version.rc
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
..\..\buildtools\prebuild.cmd exiting
DelphiPath: "="
*** Error: Directory "=" does not exist. ***
Drücken Sie eine beliebige Taste . . .

dummzeuch 2. Sep 2018 15:31

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von Codehunter (Beitrag 1412246)
ich wollts mir mal compilieren, aber leider scheppert es in der Batchdatei. Vielleicht kannst du da was rauslesen. Ich vermute dass die Delphiversion nicht richtig erkannt wird. Denn Delphi 6 ist mal ganz verkehrt. Ich habe mehrere Delphis parallel installiert. Richtig wäre die 10.2.3 CE.

Du rufst die falsche Batchdatei auf. Die unter Projects compiliert der Reihe nach für alle Delphi-Versionen. Du muss die unter Projects\DelphiXx102 aufrufen.

Codehunter 2. Sep 2018 17:36

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von dummzeuch (Beitrag 1412252)
Du rufst die falsche Batchdatei auf. Die unter Projects compiliert der Reihe nach für alle Delphi-Versionen. Du muss die unter Projects\DelphiXx102 aufrufen.

Überhaupt erstmal nur für die Tokyo CE. Ich hab die CMD aufgerufen, die sozusagen im Projektroot liegt. So rein intuitiv. Ok, mit der richtigen CMD compiliert das auch durch. Nächste dumme Frage: Wo wird die DLL denn erstellt und wie bekomme ich die (manuell) ins Delphi eingehangen? GExperts ist bei diesem Delphi noch nicht installiert gewesen.

Ghostwalker 3. Sep 2018 05:16

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
:shock:

Interresante Idee. Obwohl ich nur einen Monitor hab, wird der Platz fürs Sourcefenster auch bei mir recht eng. Eine Auslagerung in ein seperates Fenster wär auch da ganz gut.

dummzeuch 3. Sep 2018 09:02

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von Codehunter (Beitrag 1412256)
Ich hab die CMD aufgerufen, die sozusagen im Projektroot liegt. So rein intuitiv.

Anleitung nicht gelesen?

Zitat:

Ok, mit der richtigen CMD compiliert das auch durch. Nächste dumme Frage: Wo wird die DLL denn erstellt und wie bekomme ich die (manuell) ins Delphi eingehangen? GExperts ist bei diesem Delphi noch nicht installiert gewesen.
Unter .\binaries wie das im Projekt steht.

Zum Installieren ist es am Einfachsten, den GExperts installer laufen zu lassen und dann die DLL zu ersetzen. Sonst fehlen alle zusätzlich notwendigen Dateien.

twm

freimatz 4. Sep 2018 13:46

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von Codehunter (Beitrag 1411932)
Der Witz an der Sache ist eigentlich, dass ich vermeiden möchte dass die Anzahl der Monitore auf dem Schreibtisch inflationär zunimmt. Denn leider hat meine TArbeitgeber-Klasse keine Methode IncreaseBueroSize() ;-)

Da müsste doch ein class helper Abhilfe schaffen :P
SCNR

freimatz - der gerade an drei Monitoren sitzt

Ghostwalker 5. Sep 2018 05:39

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von freimatz (Beitrag 1412429)
Zitat:

Zitat von Codehunter (Beitrag 1411932)
Der Witz an der Sache ist eigentlich, dass ich vermeiden möchte dass die Anzahl der Monitore auf dem Schreibtisch inflationär zunimmt. Denn leider hat meine TArbeitgeber-Klasse keine Methode IncreaseBueroSize() ;-)

Da müsste doch ein class helper Abhilfe schaffen :P
SCNR

freimatz - der gerade an drei Monitoren sitzt

Jup...dann siehts bald so ähnlich aus:

https://silencer137.files.wordpress....1/p1050242.jpg

freimatz 6. Sep 2018 11:43

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Nochmals ich... So ganz verstehe ich das Problem nicht. Ich habe hier auf meine Hauptmonitor Delphi, da ist links ca. 1/3 in Tabs Project Manager, Stucture, Object Inspector Tool Palette, MMX. Der Rest ist Editor mit max. 120 Zeichen. Auf dem Monitor rechts daneben habe ich in ca. 2/5 des Monitors oben links Breakpoint List und Thread Status, oben rechts Waatch List Event Log und Local Varaibles und unten Build MMX und Output.
Ich kann mich erinnern dass es damals problematisch war das so hinzubekommen, aber seitdem läuft das.
Richtigist dass diese Fenster auf dem zweiten Monitor keinen Eintrag in der Taskleiste hat.

Codehunter 7. Sep 2018 08:43

AW: Zweites IDE-Fenster als Container für dockable Toolwindows
 
Zitat:

Zitat von freimatz (Beitrag 1412574)
Nochmal sich... So ganz verstehe ich das Problem nicht.

Ich denke das ist eines dieser Probleme, die sich aus der jeweiligen Handhabung ergeben und nicht verallgemeinern lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz