Seite 8 von 23

Re: Multicolor Procedure List

Verfasst: 05.06.2019 23:29
von Kurzer
Ja super, das Problem ist damit behoben. :allright:
Läuft nun stabil und alle Funktionen tun ihren Dienst.

Was das Flackern angeht, habe ich mal einen GIF-Mitschnitt erstellt, damit du siehst in welcher Intensität es flackert.
Das Flackern tritt in meinem Fall auf, wenn...

- man die Tooltips deiner Buttons einblenden lässt
- man den Splitter zwischen Editorgadget und deinem Tool verschiebt (zum Vergleich habe ich auch mal den Splitter verschoben während ein natives PB Tab vorne war)
- ich den Mauszeiger auf einen anderen Monitor/Rechner verschiebe und ihn wieder in den aktuellen Monitor hereinziehe

Bild

Ich habe das GIF in Graustufen aufgenommen wegen der Dateigröße.
Wie man sieht hat der Reiter "Dateiexplorer" auch ein Refreshproblem, wenn man den Splitter verschiebt, aber das ist ja eher ein Problem für Fred ;-)

Was mir noch auffällt ist, dass man innerhalb der Prozedurenliste die aktuelle Markierung zwar mit den Cursortasten nach oben und unten verschieben kann, sich aber im Editorgadget (dort wo der Sourcecode editiert wird) der View nicht auf die entsprechende Prozedur aktualisiert wird. Auch nicht, wenn man Enter drückt. Man muss also zwangsweise immer mit der Maus arbeiten, um auf eine neue Prozedur umzuschalten.

Im originalen PB Prozedurenpanel funktioniert das zwar auch nicht mit der Tastatursteuerung, aber das liegt daran, dass dort nach Anklicken eines Eintrags in der Prozedurenliste der Fokus sofort wieder auf dem Editorgadget (das mit dem Sourcecode) liegt.

Gruß Kurzer

Re: Multicolor Procedure List

Verfasst: 06.06.2019 10:13
von RSBasic
Kurzer hat geschrieben:Was das Flackern angeht, habe ich mal einen GIF-Mitschnitt erstellt, damit du siehst in welcher Intensität es flackert.
Das Flackern tritt in meinem Fall auf, wenn...
Das Flackern konnte ich mit SmartWindowRefresh() sehr gut reduzieren. Bei mir flackert jetzt gar nicht mehr.
Version kommt später.
Kurzer hat geschrieben:Was mir noch auffällt ist, dass man innerhalb der Prozedurenliste die aktuelle Markierung zwar mit den Cursortasten nach oben und unten verschieben kann, sich aber im Editorgadget (dort wo der Sourcecode editiert wird) der View nicht auf die entsprechende Prozedur aktualisiert wird. Auch nicht, wenn man Enter drückt. Man muss also zwangsweise immer mit der Maus arbeiten, um auf eine neue Prozedur umzuschalten.
Im originalen PB Prozedurenpanel funktioniert das zwar auch nicht mit der Tastatursteuerung, aber das liegt daran, dass dort nach Anklicken eines Eintrags in der Prozedurenliste der Fokus sofort wieder auf dem Editorgadget (das mit dem Sourcecode) liegt.
Was hättest du gerne? Gleiches Verhalten wie in der originalen Prozedurliste mit automatischem Fokus auf ScintillaGadget nach dem Mausklick oder mit weiteren Event-Abfragen, so dass man mit den Pfeiltasten nach unten und nach oben bewegen kann und das Springen auf die jeweilige Prozedur in Echtzeit passiert?

Re: Multicolor Procedure List

Verfasst: 06.06.2019 10:30
von Kurzer
Ich fände das originalverhalten am sinnvollsten, da man dort nach dem anklicken des prozedureintrags im source sofort weiter tippen kann ohne nochmal in den source klicken zu müssen.

Re: Multicolor Procedure List

Verfasst: 06.06.2019 10:44
von RSBasic
Multicolor Procedure List 1.1.6 wurde veröffentlicht.

Changelog:
  • Geändert: Nach dem Mausklick auf einen Prozedurnamen wird jetzt wie in der originalen Prozedurliste der Fokus auf das aktuelle ScintillaGadget gesetzt.
  • Bugfix: Flacker-Problem wurde behoben.

Re: Multicolor Procedure List

Verfasst: 06.06.2019 11:43
von DePe
Mit der aktuellen Version 1.1.6 funktioniert das 'in den Vordergrund' holen trotzdem, obwohl du diese Funktion (#WS_Child) entfernt hast.

Das flackern ist hier jetzt auch weg. Die Schaltflächen flackern noch wenn man die Editor-Tabs wechselt.

Das ScintillaGadget hatte auch mit der Version 1.1.4 immer den Fokus nach einem Klick in das Multicolor-Tool. Ich bemerke keinen Unterschied zur aktuellen Version.

Dafür wird bei einem Klick in das Multicolor-Tool die PB Titelleiste kurz inaktiv dargestellt. Ist aber logisch, da das Tool jetzt kein Child-Fenster ist.

Mir wäre die Version 1.1.4 ohne flackern am liebsten, die Version 1.1.6 ist aber OK.

Getestet mit PB 5.71b1 x86 und Win 7 x64.
Edit: und Win XP.

Peter

Re: Multicolor Procedure List

Verfasst: 06.06.2019 13:52
von RSBasic
Multicolor Procedure List 1.1.7 wurde veröffentlicht.

Changelog:
  • Bugfix: Debugger-ToolTips wurden nicht angezeigt, wenn der Tab "Projektliste" beim PB-Start zuerst angezeigt wurde. Erst nach dem Wechseln des Tabs wurden die Debugger-ToolTips wieder angezeigt.

Re: Multicolor Procedure List

Verfasst: 06.06.2019 16:28
von Kurzer
Hervorragend! :allright: Dein Tool fühlt sich jetzt sehr "nativ" an beim Bedienen.

Es ist wirklich nur noch minimales Flackern bei den Buttons übrig, aber das ist fast vernachlässigbar.

Bild

Wenn ich das richtig gesehen habe, flackern die Texte im PB Reiter auch ganz leicht, wenn man den Splitter verschiebt. Insofern ist das Kritik auf hohem Niveau. :)

Ein schönes Tool hast du da gebaut. Wie gesagt,, wenn es jetzt noch die Prozedur hervorhebt, in der man sich gerade mit dem Cursor befindet, wäre es perfekt.

Re: Multicolor Procedure List

Verfasst: 06.06.2019 16:39
von DePe
Wenn man den Modulnamen ausblendet, verschwindet auch das '+'-Zeichen von den Makros in der Prozedurliste. Ich habe die Makros zwar meistens gesammelt an einer Stelle im Code, aber wenn man Prozeduren und Makros mischt, ist das Plus-Zeichen ganz gut für die Unterscheidung.
Kannst du das bitte noch ändern, falls nichts dagegenspricht?

Peter

Re: Multicolor Procedure List

Verfasst: 06.06.2019 17:21
von DePe
Und noch eine Bitte. Wenn man PB mit dem Multicolor-Tool startet, verliert PB den Fokus nach dem Start. Ich muss es also erst aktivieren per Mausklick oder Alt-Tab. Kannst du den Fokus beim Start auf PB legen?

Peter

Re: Multicolor Procedure List

Verfasst: 06.06.2019 22:17
von RSBasic
Multicolor Procedure List 1.1.8 wurde veröffentlicht.

Changelog:
  • Hinzugefügt: Aktuelle Prozedur wird in der Prozedurliste fett markiert.
  • Geändert: Bei Aktivierung der Einstellung "Module-Namen ausblenden" werden die Macros mit dem Präfix "+" angezeigt.
  • Geändert: Beim Start wird der Fokus auf das aktuelle ScintillaGadget gesetzt.
Die aktuelle Prozedur wird nun fett markiert.
Ich hoffe, dass es flackerfrei und fehlerfrei funktioniert, weil ich zusätzlich ein Callback benutzen muss, um den jeweiligen Eintrag fett zu darzustellen.
Zum Ermitteln der Prozedur, in der sich der Cursor befindet, habe ich den Code von Kiffi verwendet: viewtopic.php?f=8&t=28267
Danke für den Code, Kiffi. :)

\\Edit:
Ich stelle gerade fest, dass das Ermitteln der aktuellen Prozedur derzeit nur bei normalen Prozeduren funktioniert. D.h. Prozeduren in Modulen funktioniert noch nicht. Das muss ich noch hinzufügen.