Neue GUI - Prototypen entwickeln

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Neue GUI - Prototypen entwickeln

Beitrag von Christian »

Du musst theo nicht anpflaumen weil du sauer auf mich bist. Er hat in seinem leben sicher einiges mehr gelesen als du.
X und GDI haben mit Canvas so gut wie nichts geimensam und ich verstehe jetzt den Unterschied auch nicht zu fpgui & co. Die basieren auf den selben schnittstellen und machen das selbe wie du ich glaube du hast nur noch nicht verstanden das du eig. genau das selbe machen willst wie diese Projekte schon jetzt realisieren.
Vllt kannst du das ziel nochmal genauer erklären. Auf X bzw GDI basieren alle GUI´s.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Neue GUI - Prototypen entwickeln

Beitrag von pluto »

In den letzten Beitrag ging es um den Beitrag von Theo und nicht um deinen.
X und GDI haben mit Canvas so gut wie nichts geimensam
ach ? rate mal was Canvas unter Windows verwendet und was canvas unter Linux verwendet. Dann weißt du was ich mit x und GDI meine.
Unter Windows wird z.b. für Canvas GDI genommen und unter Linux wird x genommen.

Was versteht du denn an den Zielen nicht ? Ich möchte einfach eine GUI erstellen, die ich unter SDL/Canvas/OpenGL/DirectX verwenden kann.
Fertig. mehr nicht. im Prinzip. Im Übertragenden Sinne.
Beispiel:
Wenn ich eine GUI in OpenGL brauche, muss ich mir meistens selbst eine schreiben.
Wenn ich eine GUI für Canvas brauche, ebenfalls. Die LCL scheidet da aus. Weil die auf die GUI vom verwendeten Toolkit aufbaut.
Soweit klar ?

Da ich jetzt nichts mit OpenGL mache, aber viel mit Canvas mache, könnte man doch auf die Idee kommen, eine GUI zu erstellen, die auch unter OpenGL, Canvas, und SDL läuft.
Sie könnte ja für OpenGL und SDL mehr Funktionen aufweisen als unter Canvas.
Weil OpenGL und SDL sind beide glaube ich Hardwerbeschleunigt.

Gut ich gebe zu, das ich mich in den letzten Beitrag unklar ausgedrückt habe wegen dem X und der GDI.
Ich dachte es währe klar was ich damit meine:
Canvas verwendet ja eins von beiden, je nach System, richtig ?
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Neue GUI - Prototypen entwickeln

Beitrag von mschnell »

pluto hat geschrieben:stellt eine umgebung zuverfügung in der man bisher einfache 2D Spiele innerhalb weniger Zeit erstellen kann.
Stellst Du 'mal ein damit erstelltes Game als Exe als Anhang an deine nächste Meil hier vor ?
-Michael

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Neue GUI - Prototypen entwickeln

Beitrag von pluto »

Kann ich gerne machen. Ich glaube du meinst das GamePack oder ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Neue GUI - Prototypen entwickeln

Beitrag von Christian »

ach ? rate mal was Canvas unter Windows verwendet und was canvas unter Linux verwendet. Dann weißt du was ich mit x und GDI meine.
Unter Windows wird z.b. für Canvas GDI genommen und unter Linux wird x genommen.
Ja natürlich da sind aber noch n paar recht lahme zwischenschichten dazwischen. Was meinst du warum die Widgetsets GDI/X direkt verwenden ?!
Was versteht du denn an den Zielen nicht ? Ich möchte einfach eine GUI erstellen, die ich unter SDL/Canvas/OpenGL/DirectX verwenden kann.
Fertig. mehr nicht. im Prinzip. Im Übertragenden Sinne.
Und was ist da so falsch an z.b. fpgui ? Statt das rad neu zu erfinden müsstest du nur das interface anpassen an z.b. opengl
canvas ist wohl absouluter schwachsinn weil x / GDI vel schneller sind und fpgui diese direkt unterstützt.
Wenn man n OpenGL Spiel macht hat GLScene z.b. alle nötigen GUI Elemente + Einfachem Editor dafür im Gepack.
Beispiel:
Wenn ich eine GUI in OpenGL brauche, muss ich mir meistens selbst eine schreiben.
Wenn du masochistisch veranlagt bist schon.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Neue GUI - Prototypen entwickeln

Beitrag von pluto »

canvas ist wohl absouluter schwachsinn
Lustig ! Echt ! Selbst wenn ich GDI oder X Direkt verwenden würde müsste ich doch auch erstmal um nicht alles doppelt und drei fach zu machen Grundlagen erstellen. Auf die ich bauen kann. Verlangsamen sie das nicht wieder ?
Und was ist da so falsch an z.b. fpgui ? Statt das rad neu zu erfinden müsstest du nur das interface anpassen an z.b. opengl
Du meinst man kann FPGUI im Prinzip auch unter OpenGL verwenden ? + Hardwerbeschleunigung sowie weitere Effekte hinzufügen ?
Wenn man n OpenGL Spiel macht hat GLScene z.b. alle nötigen GUI Elemente + Einfachem Editor dafür im Gepack.
Pluspunkt für dich. Glscene ist wirklich nicht schlecht. Das stimmt. Aber für kleine Spiele ist GLSecne überladen und für Leute die lieber direkt OpenGL verwenden ebenfals ungeeignet, oder ?

Also einigen wir uns erstmal darauf kein Canvas zu verwenden sondern GDI oder X Direkt. Du meinst ja, dass würde die Geschwindigkeit enormen erhöhen, richtig ? Wie gesagt, die Grafik Schnittelle soll egal sein.

Ich verstehe nicht warum die immer sagts: es gibt doch schon alles "wie Sand am Meer". Ich Programmierer z.b. um Interessante Projekte zu erstellen die ich mir nicht Vorstellen kann. So erweitere ich mein Horizont.
Ich kann mir nicht vorstellen das du alle Probleme, die bei einer GUI auftauchen im Schlaf lösen kannst. Wenn das so ist, könntest du ja mal ein Vorschlag anfertigen.

Ich glaube es war ein Fehler hier zu posten. Ich hätte die Frage zuerst in ein anders Forum posten soll. Ich kenne da eins bzw. zwei dort schreibt, fast jeder 20 Mitglied eine eigene GUI. Naja etwas übertrieben, sagen wir dort schreiben recht viele eine GUI. Meistens für OpenGL. aber auch für GDI habe ich schon welche gesehen.

Ich bin inzwischen auch dafür vorhandene sachen zu nutzen. Bei FPGUI z.b. fehlt mir die Möglichkeit die sachen einfach auszuprobieren in Lazarus. Mir ist es bei meinen letzten Tests nicht gelungen die IDE für FPGUI zu erstellen. Sowie einige Beispiele zu Kompilieren.

Wir könnten ja mal gemeinsam uns Ziele überlegen für meine/unsere gui:
- Skinbar
- Einfache Benutztung
- Gute OOP Struktur
- Leicht erweitbar
- Vielfältige Konfigurierbarkeit(von A bis Z alles einstellbar)
- Einige nützliche Tools. Sprach Editor, SkinEditor und soweiter.

Die Frage ist auch noch ob wir/ich nicht erstmal TCutstomControl nutzen sollen oder gleich anfangen ein eigens Canvas zu erstellen. Für Windows hatte ich mal ein Canvas das baute direkt auf GDI auf.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Neue GUI - Prototypen entwickeln

Beitrag von Christian »

Lustig ! Echt ! Selbst wenn ich GDI oder X Direkt verwenden würde müsste ich doch auch erstmal um nicht alles doppelt und drei fach zu machen Grundlagen erstellen. Auf die ich bauen kann. Verlangsamen sie das nicht wieder ?
kommt drauf an wie effizient du prograierst. Soweit ich dich verstanden habe musst du das aber eh machen da du auch opengl unterstützen willst.
Du meinst man kann FPGUI im Prinzip auch unter OpenGL verwenden ? + Hardwerbeschleunigung sowie weitere Effekte hinzufügen ?
Ich kenne mich damit nicht in Tiefe aus, aber das sollte schon möglich sein.
Pluspunkt für dich. Glscene ist wirklich nicht schlecht. Das stimmt. Aber für kleine Spiele ist GLSecne überladen und für Leute die lieber direkt OpenGL verwenden ebenfals ungeeignet, oder ?
Die behauptung hab ich schon öfter gehört aber ich verstehe den hintergrund nicht. Es wird eh nur in dein executable compiliert was du wirklich brauchst warum interessiert dich da die grösse einer bibliothek ?
Und im Umkehrschluss warum verwendest du die LCL um einfache Applikationen zu erstellen die LCL ist eine riesen bibliothekn von der 40% immer im executable landen durch rtti & co und da beschwert sich keiner das das ganze überladen ist.
Ich kann mir nicht vorstellen das du alle Probleme, die bei einer GUI auftauchen im Schlaf lösen kannst. Wenn das so ist, könntest du ja mal ein Vorschlag anfertigen.
Im Schlaf sicher nicht aber ist alles lösbar ist nur eine Frage der Zeit die man dafür opfern will. Und ir ist meine Zeit zu wertvoll u Sie an Sachen zu verschwenden dies schon x-mal gibt.
Ich bin inzwischen auch dafür vorhandene sachen zu nutzen. Bei FPGUI z.b. fehlt mir die Möglichkeit die sachen einfach auszuprobieren in Lazarus. Mir ist es bei meinen letzten Tests nicht gelungen die IDE für FPGUI zu erstellen. Sowie einige Beispiele zu Kompilieren.
Selbst mir der sich 0 mit fpgui beschftigt ist nicht entgangen das das Lazarus Widgetset dafür so gut wie nichts kann glaube ne Form und n Button funktionieren wie komst du drauf das du die IDE damit übersetzen kannst ?!
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Neue GUI - Prototypen entwickeln

Beitrag von pluto »

kommt drauf an wie effizient du prograierst. Soweit ich dich verstanden habe musst du das aber eh machen da du auch opengl unterstützen wills
Ja, aber nur einmal und dann nie wieder *G*
Und im Umkehrschluss warum verwendest du die LCL um einfache Applikationen zu erstellen die LCL ist eine riesen bibliothekn von der 40% immer im executable landen durch rtti & co und da beschwert sich keiner das das ganze überladen ist.
Ich verwende die LCL eigentlich nicht so viel. Eigentlich nur TCustomControl und einige Komponenten, aber das hält sich in grenzen, da ich ja am meisten mit Canvas direkt arbeite. Aber letztendlich hast du recht. LCL sehe ich als nicht wählbare Bestandteil von einem Projekt.
Damit meine ich, GLCsene ist Freiwillig, die LCL nicht.

Ich habe mal versucht mit der GLScene z.b. einen einfachen EgoShotter zu erstellen, allerdings habe ich es nicht geschafft. Es ist einfach zu komplex aufgebaut für mein vorhaben.
Selbst mir der sich 0 mit fpgui beschftigt ist nicht entgangen das das Lazarus Widgetset dafür so gut wie nichts kann glaube ne Form und n Button funktionieren wie komst du drauf das du die IDE damit übersetzen kannst ?!
Weil es im Einstellungs Dialog von Lazarus angezeigt wird. Und um die Interface Datei zu erzeugen muss ich doch eine Schnittstelle erstellen zu erst. Wobei das nicht unbedingt heißen muss auch Lazarus Neu zu erstellen.

Meine/unsere GUI sollte schon etwas mehr können. Ich gebe zu, ich könnte mir mal die FPGUI genauer ansehen und schon ob ich die weiter entwickeln kann, wenn da nichts mehr gemacht wird. Weil die Grundlagen dürften schon stehen oder ?

Kennt sich damit jemand aus dem Forum aus ? Mit der FPGUI ?
Die MSGUi ist natürlich auch nicht schlecht, aber ist halt nicht das was ich haben möchte. Ich stelle mir das Praktisch so vor:
Wir haben eine Klasse, die stelle alle nichtvisuelle Eigenschaften einer Komponente zu Verfügung.
Dann gibt es z.b. drei Bases Klassen:
SDL, Canvas, OpenGL
Von diesen Klassen leiten wir jetzt eine neue Visuelle Komponente ab und machen sie sichtbar.
Wenn wir ein Spiel in SDL schreiben wollen, könnten wir ohne Probleme diese GUI erstellen.
Natürlich ist es am Anfang mehr Aufwand, da wir alles doppelt und dreifach schreiben müssten, aber es würde sich auf langesicht bestimmt lohnen.

Wir könnten uns ja neben den Namen der GUI, auch noch weitere zusatzt Eigenschaften überlegen für die Einzelnen bases Klassen.
MFG
Michael Springwald

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Neue GUI - Prototypen entwickeln

Beitrag von Targion »

pluto hat geschrieben:Wir könnten ja mal gemeinsam uns Ziele überlegen für meine/unsere gui:
- Skinbar
- Einfache Benutztung
- Gute OOP Struktur
[...]
- Einige nützliche Tools. Sprach Editor, SkinEditor und soweiter.
Eine OpenGL beschleunigte Oberfläche mit Skinfunktion für alle Plattformen!? Da hast du dir einiges vorgenommen! Aber wenn diese Skingui hinterher läuft, wäre das superspitze! Ich habe jetzt den Thread nicht komplett durchgelesen, aber: Willst du ein komplett neues Widgetset erstellen, oder mit deinen GUI-Komponenten auf GTK2, Qt oder WinForms aufbauen?
Zur fpgui kann ich nicht viel sagen, aber der Roadmap nach, ist davon abzuraten, diese zu nutzen. Auf der Entwicklerseite gibt es Informationen zur fpgui und Co.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Neue GUI - Prototypen entwickeln

Beitrag von pluto »

Willst du ein komplett neues Widgetset erstellen, oder mit deinen GUI-Komponenten auf GTK2, Qt oder WinForms aufbauen?
Es schon komplett selbst geschrieben sein. Sogar ein eigens Canvas soll es geben. Also Praktisch eine eigene LCL wenn man so möchte im übertragenden Sinne. Obwohl ich mir gerade überlege, dass währe eine eigene LCL die halt auf FPC aufbaut.

Es wird nicht einfach sein. Es wird auch lange dauern. Aber ich hoffe das euch die Möglichkeiten die das Projekt anbietet bewusst seit. Die Möglichkeiten währen einfach Phantastisch. Ich denke wenn wir uns ein Plan überlegen und Schrittweise vorgehen in kleinen Schritten, haben wir erfolg. Ihr braucht erstmal gar nicht für das Projekt zustimmen, sondern mir geht es erstmal eure Meinungen über so ein Projekt zu hören wie einfache Vorschlage zur Umsetzung. Es steht auch noch nicht fest ob ich wirklich so ein Projekt versuchen werden.

Es ist als Langzeit Projekt markiert und als solche behandele ich es auch. Ich denke auch das der Entwicklungs Plan den wir uns gemeinsam überlegen sollte, das A und das O ist. Ohne ihn geht es einfach nicht. Da soll drin stehen, was genau wir uns für Ziele gesetzt haben, und wie wir sie umsetzten möchten. Bei der OpenGL Variante gibt es noch eine Besonderheit: Einmal den 2D Modus und einmal den 3D Modus. Hier stellt sich die Frage: Wie können wir den Komponenten ein ECHTES 3D aussehen geben.
MFG
Michael Springwald

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Neue GUI - Prototypen entwickeln

Beitrag von Hitman »

Meines Erachtens läuft das doch bei FPGUI genauso. Der Canvas ist ein abstraktes Gebilde, das eben unter Windows per GDI und unter *nix über die X libs realisiert wurde. Nichts hält dich davon ab, den Canvas noch unter OpenGL und SDL zu implementieren, und schon sollten alle Widgets auch dort laufen.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Neue GUI - Prototypen entwickeln

Beitrag von pluto »

währe ein Versuch wert. Mir geht es allerdings auch darum die Komponenten Skinbar zu machen. Also nicht nur die Komponenten unter OpenGL oder SDL zum laufen zu bringen.
MFG
Michael Springwald

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Neue GUI - Prototypen entwickeln

Beitrag von Hitman »

Auch das ist bei fpGUI der Fall (oder zumindest geplant), wie du an den "Themes" sehen kannst.

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Neue GUI - Prototypen entwickeln

Beitrag von Targion »

Nimm doch den fpGUI-Code und mach' ihn besser bzw. portiere ihn auf OpenGL.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Neue GUI - Prototypen entwickeln

Beitrag von pluto »

Meine heute Versuche FPGUI in Lazarus einzubinden sind schon wieder gescheitert ! Ich werde mir mal das Projekt genauer ansehen. Evlt. habt ihr recht. Aber wie dem auch sei, was hält uns davon ab trotzdem eine eigene GUI Struktur mit den genannten Zielen zu entwickeln ?
Wir brauchen ja noch keinen Soruce-Code schreiben sondern uns erstmal auf Vorschläge konzentrieren.
Ihr habt mich aber inzwischen davon überzeugt es "mal" mit FPGUi zu versuchen. Schaden kann das ja eigentlich nicht.

Es wird auch keinen Zeitplan geben, da das ein Langzeit Projekt ist. Ich danke aber für eure Meinungen und Vorschläge... die ihr bereist geben habt bzw. noch geben wird. Ist meine Idee wirklich so abwegig ? Muss es wirklich einen oder mehrer Gründe geben um eine GUI zu erstellen ? Kann es nicht einfach darum gehen, dass es Spaß macht, dass es einen weiter bringt. Mir ist klar es gibt GUI'S wie Sand am Meer. Unterschiedliche. Aber nur wenige in Object Pascal direkt geschrieben. Meiner Meinung nach ist FPGUI die einzinste.

Die LCL setzt ja auf vorhandene auf z.b. GTK1, GTK2 und soweiter.

Also ich werde mir in der nächsten Zeit die Soruce von FPGUi mal anschauen und ihn dann beurteilen ob ich damit was anfangen kann. Wenn ja werde ich versuchen das Projekt weiter zu entwickeln. Leider sind sehr viele Informationen auf Englisch und ich verstehe sie nur
bruchstückhaft.

Habe ich es richtig verstanden das es möglich ist FPGUI direkt in Lazarus zu Installieren ? und den Desinger zu benutzten ?
Wird die FPGUI jetzt weiter Entwickeln von irgendjemanden oder passiert da nichts mehr ?

Es währe ja nicht so Produktiv wenn ich jetzt anfange dort was zu verändern und jemand anders genau das gleiche oder was ähnliches vor hat.
MFG
Michael Springwald

Antworten