Es wird daran gearbeitet, es ein wenig zu abstrahieren. Ich glaube eine Headless Installation ist mit OOo3 bereits möglich. Aber auch dann ist es immernoch einiges über hundert MB groß. (abgesehen davon, dass der Headless Modus auf Client Maschinen eh keinen Sinn macht)pluto hat geschrieben:Ich denke, dass viel inzwischen schon OpenOffice nutzten und die das nicht nutzen würden haben dann halt Pech gehabt. Weil OpenOffice kann glaube ich so gut wie Jeder Installiert haben. Evlt. gibt es ja auch nur eine Entwickler Version von OpenOffice so das man nur ein paar DLL'S mit geben muss.
Neue GUI - Prototypen entwickeln
-
- 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
-
- 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
So, ich habe mich jetzt entschieden erstmal auf TCustomControl aufzubauen. Alle mein Komponenten werden darauf aufbauen und über erweiterte Eigenschaften. Ich Plane erstmal keine Kompatibilität zu Delphi. Es ist erstmal nur ein grober Versuch ein Prototyp.
Ich habe mir verschiedene Ziel gesetzt. FPGUI werde ich mir trotzdem noch mal anschauen.
Wenn ich von TCustomControl ableitet sind es zwar neue Komponente, setzten aber voraus das der User ein Toolkit nutzten kann was es schon gibt.
Die Eigenschaften währen folgende:
01 - Rand
Alle Komponenten sollen über einen Rand verfügen können, der auf unterschiedliche art und weise gestaltet werden kann. Z.B. ein Farbverlauf oder die Linke seite wird Grün, die Rechte Seite rot. Außerdem soll der Rand über verschiedene Transparente Eigenschaften verfügen. Im Rand enthalten wird dann auch der Caption sein. Ein Titel für diese Komponente. Der kann aus oder eingeschaltet werden. Je nach bedarf. Der Rand soll auch über eine Grafik Datei geladen werden können.
02 - Fläche
Die Fläche soll über vergleichbare Eigenschaften Verfügungen: Transparents, Grafik, Farbverlauf
03 - Skinbar
Diesmal plane ich es von Anfang an einen Skin Funktion einzubauen. D.H. Das Komplette aussehen soll über eine Externe Datei gesteuert werden können. In Dieser Datei soll einmal ein Archiv mit mehren Skin vorlagen gespeichert werden können und einmal die Skins einzeln.
Alles was zu einem Skin dazu gehört kommt in ein Archiv.
Da ich kein eigenen Archiver schreiben möchte, verwende ich das ZIP Format. Ich denke hierzu gibt es genügend fertige Klassen die ich verwenden könnte unter Lazarus
04 - Tastenmanger
Jede Komponente soll man eine oder mehrer Tasten zuordnen können. Die Konfiguration soll in einer externen Datei abgespeichert werden.
05 - Mehrsprachigkeit
Ich glaube hier könnte ich das verwenden, was Lazarus auch verwendet oder ? genau weiß ich das nicht, was eigenes wollte ich nicht machen.
06 - Geplante Komponenten
Dazu zählen bei mir folgende:
00. Baes Klasse
00.A. SkinManger
00.B. ImageListe
01. Label
02. Image
03. Bevel
04. Shape
05. Edit
06. Memo
07. Panel
08. ScrollPanel(Scrollbars)
09. Buttons(RadioButton, Checkbutton, Button)
10. Listbox(TreeView, ListView, ComboBox...)
11. Prozessbar, Trakbar
12. Toolbar
13. Statusleiste
14. PopupMenu
15. MainMenu
In dieser reinfolge.
07 - Mehrstufiges Umsetzten
Erstmal sollen nur die Grundeigenschaften der jeweiligen Komponente Funktionieren und das zusammen Spiel mit dem Skinmanger
Im zweiten Schritt werden die Komponenten nach und nach nach Reifen. So die Hoffnung.
Bin mal gespannt wie weit ich diesmal komme, aber ich glaube diese GUI macht mehr sinn als meine vorherige. Denn diesmal baue ich auf TCustomControl auf und diese Komponenten könnten später nebenbei Installiert sein und getrennt/gemischt verwendet werden. Es währe kein Neues Interface. Könnte man aber bestimmt noch später ändern. Wenn das Komponenten Set alles hat was Lazarus so braucht.
Ich habe mir verschiedene Ziel gesetzt. FPGUI werde ich mir trotzdem noch mal anschauen.
Wenn ich von TCustomControl ableitet sind es zwar neue Komponente, setzten aber voraus das der User ein Toolkit nutzten kann was es schon gibt.
Die Eigenschaften währen folgende:
01 - Rand
Alle Komponenten sollen über einen Rand verfügen können, der auf unterschiedliche art und weise gestaltet werden kann. Z.B. ein Farbverlauf oder die Linke seite wird Grün, die Rechte Seite rot. Außerdem soll der Rand über verschiedene Transparente Eigenschaften verfügen. Im Rand enthalten wird dann auch der Caption sein. Ein Titel für diese Komponente. Der kann aus oder eingeschaltet werden. Je nach bedarf. Der Rand soll auch über eine Grafik Datei geladen werden können.
02 - Fläche
Die Fläche soll über vergleichbare Eigenschaften Verfügungen: Transparents, Grafik, Farbverlauf
03 - Skinbar
Diesmal plane ich es von Anfang an einen Skin Funktion einzubauen. D.H. Das Komplette aussehen soll über eine Externe Datei gesteuert werden können. In Dieser Datei soll einmal ein Archiv mit mehren Skin vorlagen gespeichert werden können und einmal die Skins einzeln.
Alles was zu einem Skin dazu gehört kommt in ein Archiv.
Da ich kein eigenen Archiver schreiben möchte, verwende ich das ZIP Format. Ich denke hierzu gibt es genügend fertige Klassen die ich verwenden könnte unter Lazarus
04 - Tastenmanger
Jede Komponente soll man eine oder mehrer Tasten zuordnen können. Die Konfiguration soll in einer externen Datei abgespeichert werden.
05 - Mehrsprachigkeit
Ich glaube hier könnte ich das verwenden, was Lazarus auch verwendet oder ? genau weiß ich das nicht, was eigenes wollte ich nicht machen.
06 - Geplante Komponenten
Dazu zählen bei mir folgende:
00. Baes Klasse
00.A. SkinManger
00.B. ImageListe
01. Label
02. Image
03. Bevel
04. Shape
05. Edit
06. Memo
07. Panel
08. ScrollPanel(Scrollbars)
09. Buttons(RadioButton, Checkbutton, Button)
10. Listbox(TreeView, ListView, ComboBox...)
11. Prozessbar, Trakbar
12. Toolbar
13. Statusleiste
14. PopupMenu
15. MainMenu
In dieser reinfolge.
07 - Mehrstufiges Umsetzten
Erstmal sollen nur die Grundeigenschaften der jeweiligen Komponente Funktionieren und das zusammen Spiel mit dem Skinmanger
Im zweiten Schritt werden die Komponenten nach und nach nach Reifen. So die Hoffnung.
Bin mal gespannt wie weit ich diesmal komme, aber ich glaube diese GUI macht mehr sinn als meine vorherige. Denn diesmal baue ich auf TCustomControl auf und diese Komponenten könnten später nebenbei Installiert sein und getrennt/gemischt verwendet werden. Es währe kein Neues Interface. Könnte man aber bestimmt noch später ändern. Wenn das Komponenten Set alles hat was Lazarus so braucht.
Das währe toll wenn die damit Fertig werden. Es währe eine tolle sache. Oder kennt jemand vergleichbare Projekte die man in Lazarus einbauen könnte ?Es wird daran gearbeitet, es ein wenig zu abstrahieren
MFG
Michael Springwald
Michael Springwald
-
- 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
Setze auf WebKit! Diese Engine kann man auch ohne Firefox einbinden, sie ist auf fast jeder Plattform verfügbar und außerdem sollte es mit den Lizenzen kein Problem geben.pluto hat geschrieben:Und in welcher Sprache sind die Browser geschrieben, oder in welcher Sprache ist Java geschrieben ? bzw. gibt es eine Anbindung an Lazarus ?Rendern macht doch der Browser
Dann könnten wir ja versuchen auf Gecko auf zu setzten. Wenn das machbar ist und keine Liezen Probleme gibt.Firefox nutzt seine eigene Engine, namens Gecko
Stimmt, es gibt OpenOffice Headless, aber das ist glaube ich 80 MB groß.Hitman hat geschrieben:Es wird daran gearbeitet, es ein wenig zu abstrahieren. Ich glaube eine Headless Installation ist mit OOo3 bereits möglich. Aber auch dann ist es immernoch einiges über hundert MB groß. (abgesehen davon, dass der Headless Modus auf Client Maschinen eh keinen Sinn macht)pluto hat geschrieben:Ich denke, dass viel inzwischen schon OpenOffice nutzten und die das nicht nutzen würden haben dann halt Pech gehabt. Weil OpenOffice kann glaube ich so gut wie Jeder Installiert haben. Evlt. gibt es ja auch nur eine Entwickler Version von OpenOffice so das man nur ein paar DLL'S mit geben muss.
-
- 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
Das ist eine in den Pascal-Code eingebetteter Browser. Also die Client-Seite.Hitman hat geschrieben:Und wofür glaubst du, ist eine Komponente, die sich "TWebBrowser" nennt?
Bei meinem Vorschlag geht es aber um eine "Web-Gui" das ist die Server-Seite (CGI-Programm). Die GUI des Programms wird mit einem einem normalen Web-Server viea HTTP remote bedient.
Die beiden Sachen haben einfach nichts miteinander zu tun.
-Michael
Zuletzt geändert von mschnell am Do 11. Dez 2008, 14:50, insgesamt 1-mal geändert.
-
- 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
Du hast meinen Vorschlag völlig anders interpretiert als ich es gemeint habe. Eine Web-GUI benutzt einen beliebigen Browser via HTTP zur Darstellung der Programm-Oberfläche. Die Pascal-Library ("WEB-LCL") erzeugt also HTML-Strings, die dann via Webserver an den Webserver übergeben werden, der sie via HTTP an den Browser beim Cleient schickt.pluto hat geschrieben:Und in welcher Sprache sind die Browser geschrieben, oder in welcher Sprache ist Java geschrieben ? bzw. gibt es eine Anbindung an Lazarus ?Rendern macht doch der Browser
Selbst "Rendern" müsste man nur in der Design-Phase, um Visual-mäßig HTML-Controls auf der Oberfläche platzieren zu können. Das wäre dann eine Art HTML-Editor (da sind wir übrigens momentan auch d'ran).
-Michael