Das Package "Multis"

Zur Vorstellung von Komponenten und Units für Lazarus
wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Siro,
herzlichen Dank fürs Testen!

Viele Grüße
Bernd

Benutzeravatar
KodeZwerg
Beiträge: 96
Registriert: Mo 6. Feb 2023, 11:04

Re: Das Package "Multis"

Beitrag von KodeZwerg »

Hallo wennerer,
ich habe mir gerade dein package geladen und erfolgreich installiert.
Auf die Frage "Do you want to create a help item?" (so oder so ähnlich war die) hab ich mit "Yes" abgenickt.
Das ist meine Version: Lazarus 2.3.0 (rev main-2_3-2889-g1b9d3d4cbf) FPC 3.2.2 x86_64-win64-win32/win64
Im Anhang der Fehler wenn ich die Hilfe aufrufe.
Was habe ich falsch gemacht, bitte?
Eine Klasse Sammlung hast Du da erstellt, gefällt mir sehr!
Schade das es nicht über den OPM abrufbar ist, das wäre das sogenannte "i"-Tüppfelchen.

Vielen Dank dafür und vielleicht weißt Du ja Rat mit meinem Fehler, kann ja nur was banales sein :mrgreen:
Dateianhänge
Bild_2023-03-02_103220758.png
Bild_2023-03-02_103220758.png (4.05 KiB) 3363 mal betrachtet
Zuletzt geändert von KodeZwerg am Sa 39. Okt 6043, 29:87, insgesamt 43-mal geändert.

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo KodeZwerg,
zu erst vielen Dank das du das Package probierst und mir eine Rückmeldung zu kommen lässt. Freut mich sehr.
An den OPM habe ich mich als Amateur bis jetzt nicht ran getraut. Das wär schon nochmal ein großer Schritt für mich.

Eigentlich dachte ich (wie immer) ich hätte alle Lazarus Installationsvarianten probiert aber so wie es aussieht habe ich doch nicht alles getestet.

Die beiden Hilfe PDF's (deutsch und englisch) befinden sich in dem Quell-Verzeichnis des Multi-Packages im Ordner help. (Da kann man sie natürlich auch einfach anklicken und öffnen).
ordner.png
ordner.png (174.68 KiB) 3339 mal betrachtet
Im Ordner config_lazarus müsste sich nach der Installation die Datei multis.xml befinden. Wenn du die xml öffnest sollte die analog so aussehen:

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8"?>
<package>
  <multis id="001">
    <new>No</new>
    <help>Yes</help>
  </multis>
</package>
Wenn du die Datei löscht sollte beim Starten von Lazarus erneut der Fragedialog kommen ob du den Eintrag für das Hilfemenü möchtest. Wobei der Eintrag bei dir ja scheinbar erzeugt wurde.

Der Code für die Installation des Hilfedialogs ist in den beiden Units helpmenu und PathTo.
Der eigentliche Aufruf der Hilfe Datei erfolgt dann aus der Unit helpMenu in der Prozedur StartHelp:

Code: Alles auswählen

procedure StartHelp({%H-}Sender : TObject);
var PathToConfigDir : string;
    PathToMultis    : string;
begin
  //search for ConfigDirectory
    PathToConfigDir := IncludeTrailingPathDelimiter(LazarusIDE.GetPrimaryConfigPath);

 //read the path to multis
  if FileExists(PathToConfigDir+'packagefiles.xml') then
   PathToMultis     := ReadPathToMultis(PathToConfigDir+'packagefiles.xml');

 if not OpenDocument(PathToMultis+'help'+PathDelim+'DescriptionMultis_'+rs_lang +'.pdf')
  then showmessage(rs_muhelperror);
end;         
Vielleicht kannst du mal schauen ob die xml Datei erzeugt wurde bzw. ob PathtoConfigDir den richtigen Pfad enthält oder ob sich der Help Ordner im Multis Verzeichnis befindet.
Oder aber du hast noch eine bessere Idee?
Ich hänge die xml mal an. Falls die fehlt kannst du sie mal nach config_lazarus kopieren und schauen was passiert.

Viele Grüße
Bernd
Dateianhänge
multis.xml
(131 Bytes) 57-mal heruntergeladen
Zuletzt geändert von wennerer am Do 2. Mär 2023, 20:33, insgesamt 1-mal geändert.

Benutzeravatar
KodeZwerg
Beiträge: 96
Registriert: Mo 6. Feb 2023, 11:04

Re: Das Package "Multis"

Beitrag von KodeZwerg »

Kurze Rückmeldung:
Habe nach der .xml ausschau gehalten, die ist existent.
Da ich nun weiß wo Du die Hilfe Datei aufrufst, war ich mal so frei die helpmenu.pas etwas abzuändern um zu sehen was da so intern überhaupt sache ist

Code: Alles auswählen

 if not OpenDocument(PathToMultis+'help'+PathDelim+'DescriptionMultis_'+rs_lang +'.pdf')
  then showmessage(rs_muhelperror + LineEnding +
                   PathToConfigDir + LineEnding +
				   PathToMultis);
Lazarus IDE rebuild ...
was soll ich sagen, nun ruft er brav das PDF auf :lol: also kann ich leider nicht sagen woran es gelegen hatte.

Vielen Dank für Deine Mühe!
Zuletzt geändert von KodeZwerg am Sa 39. Okt 6043, 29:87, insgesamt 43-mal geändert.

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo KodeZwerg,
naja wenn es jetzt geht ist ja auch gut. Sollte dir noch was auffallen kannst du dich ja noch einmal melden.

Viele Grüße
Bernd

siro
Beiträge: 732
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Idee

Beitrag von siro »

Hallo Bernd,

Ideen kommen bei der Benutzung: :wink:

Ich habe für ein kleines Testprogramm RGB Mixer grade mal deinen MultiplexSlider eingesetzt.
Grund: Der ist farbig. Ich habe leider keinen Schieber in den Standardkomponenten gefunden den man farbig darstellen kann.
TTrackbar hat zwar einen blauen Knopf, aber das scheint festgelegt zu sein ???? egal was ich da in Color einstelle....
Schade eigentlich.... :(

Wie dem auch sei, es wäre schön wenn dein Schieber noch eine zusätzliche Eigenschaft :roll: bekommen würde:
property JumpToPosition : Boolean;
oder sowas in der Art. Das fehlt glaube ich auch bei den Standard Komponenten ?
Wenn ich mit der Maus reinklicke, dass der Schieber direkt zu dieser Position springt.
Sinn und Zweck: Manchmal gibt es Situationen, wo man nicht erst Schieben und damit alle Zwischenwerte abklappern will
sondern direkt von einem Wert zum anderen springen. Es gibt dann auch nur einen Event OnChange.
Das ist nur eine Idee, weil ich das grade vermisste...
Multis_Slider.png
Multis_Slider.png (18.25 KiB) 3222 mal betrachtet
Dateianhänge
project1.zip
(105.9 KiB) 53-mal heruntergeladen
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Siro,
ist eine gute Idee. Ich werde mich mal dran versuchen.

Viele Grüße
Bernd

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Also ich habe eben meine Änderungen in Git gepusht. Der Slider besitzt nun die Eigenschaft JumpToPosition.
Ist diese True und man Klickt in den Track springt der Knopf auf die Position auf die geklickt wurde.
Im Package ist ein kleines Testprojekt.
Falls jemand Fehler feststellt gerne melden.
JumpToPosition.png
JumpToPosition.png (19.64 KiB) 3197 mal betrachtet
Viele Grüße
Bernd

siro
Beiträge: 732
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Das Package "Multis"

Beitrag von siro »

Ersteinmal vielen Dank Bernd,
ich habe grad die neue Version installiert.
Das mit dem JumpToPosition läuft.
Aber ich habe tatsächlich noch ein Problemchen gefunden:

Ich nehme mal dein Testprojekt JumpToPosition.
Wenn man mit der Maus über die Knöpfe hovert ändert sich die Farbe,
verlässt man den Knopfbereich stellt sich die Farbe "meistens" auch wieder zurück,
aber nicht immer.
Jetzt habe ich festgestellt, dass dies nicht passiert wenn man den Slider extrem schnell mit der Maus verlässt.
Tritt man wieder in den Slider ein steht die Farbe auch wieder richtig.

Ein schönes Wochenende wünsche ich.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Siro,
vielen Dank für deine Rückmeldung. Ich kann das von dir beschriebene Verhalten auf meinen Rechner nicht wirklich nachstellen (weder in Linux noch unter Windows). Ich schaffe es nur wenn ich die Maus ganz schnell aus dem gesamten Fenster bewege. Von daher ist es etwas schwierig die Ursache zufinden. Dennoch habe ich in der MouseMove folgenden Code ergänzt:

Code: Alles auswählen

 if not (ssLeft in Shift) and not (ssRight in Shift) then
   for lv := 1 to 3 do FHover[lv] := false;
Nach Ergänzung dieser Zeilen habe ich es nicht mehr geschafft den Hover auszunocken.
Wenn es dir mal passt kannst du ja mal testen ob es was gebracht hat. Die Änderung ist in Git.

Ich wünsche dir auch ein schönes (Rest-) Wochenende.
Bernd

siro
Beiträge: 732
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Das Package "Multis"

Beitrag von siro »

Der Fehler ist jetzt weg, ich kann ihn auch nicht mehr provozieren
SUPER
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Ich danke dir recht herzlich für's Testen!

Viele Grüße
Bernd

folkeu08
Beiträge: 4
Registriert: Mi 17. Mai 2023, 23:11

Re: Das Package "Multis"

Beitrag von folkeu08 »

Hi,
I like your components.
Can you add the news properties of a Miltipanel in a GroupBox ?
Thanks
François

wennerer
Beiträge: 524
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo François,
vielen Dank für deine Nachricht. Du meinst wahrscheinlich diese Zeile die ich vergessen habe:
Thank you for your message. You probably mean this line that I forgot:
Invalidate Checkgroup.png
Invalidate Checkgroup.png (47.65 KiB) 2948 mal betrachtet
Die habe ich nun ergänzt und nach Github gepusht. Falls du was Anderes gemeint hast oder dir noch was auffällt kannst du mich gerne darauf aufmerksam machen.
I have now added them and pushed them to Github. If you meant something else or if you notice something else, please feel free to bring it to my attention.

Viele Grüße, Salutations
Bernd

folkeu08
Beiträge: 4
Registriert: Mi 17. Mai 2023, 23:11

Re: Das Package "Multis"

Beitrag von folkeu08 »

Guten Morgen
Vielen Dank für diesen Fix.
Tatsächlich würde ich gerne eine „GroupBox“-Komponente verwenden können, um Text in den Rahmen einzufügen, wie in der Originalkomponente, aber auch:
* in der Lage sein, die Farbe und Dicke des Randes zu ändern,
* die Hintergrundfarbe des Gruppenfelds, wie Sie es in den anderen Komponenten tun.
Es ist nicht unbedingt das Kontrollkästchen, das ich möchte.
Mit der Raize-Komponente für Delphi kann man das Design modifizieren und das würde ich gerne in einer Komponente für Lazarus finden.
Deine Entwicklung kommt dem am nächsten, aber ich weiß nicht, wie ich das machen soll.
Im Bildbeispiel der Raize Component GroupBox :
GroupBox.png
GroupBox.png (46.82 KiB) 2894 mal betrachtet
Thanks

Antworten