Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Projekt - GuiPTR
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  

Soll ich dieses Projekt weiterführen und veröffentlichen?
Nicht schon wieder eine GUI...
4%
 4%  [ 1 ]
Lass es bleiben
8%
 8%  [ 2 ]
Ja, mach mal!
75%
 75%  [ 18 ]
Zeig erstmal mehr Beispiele!
12%
 12%  [ 3 ]
Stimmen insgesamt : 24

Autor Nachricht
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 20.01.2010, 14:08    Titel: Antworten mit Zitat

Reicht es nicht, wenn das Element dem Designer sagt wie groß es ist, was für werte es annimmt und zurückt gibt? theoretisch ließe sich das sogar aus dem type des elements herausparsen.
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 20.01.2010, 20:49    Titel: Antworten mit Zitat

Ich glaub, das wird sehr mühsam, denn dann kann ich gleich einen freebasic-interpreten programmieren... naja, zumindest würde das stark in die richtung gehen.
Generell müsste man den designer mit den bedienelementen kompilieren damit er sie auch anzeigen könnte.. Dann ists mit der flexibilität schon dahin traurig..

Ausserdem:

Ein...
Code:

  Me->Add(new Button(20,20, "Hallo Welt!"))


sollte nicht viel schwierig sein als ein:
Code:

  line (20,20)-(400,80),RGB(255,0,0),BF


In beiden fällen muss man sich gedanken um die positionierung machen. Und bei Line/Circle/Pset/Put/Get - Anweisungen hat noch keiner nach einem designer gefragt zwinkern
Vielleicht stellt sich eher die frage, ob man aus der point&click-Ecke kommt und die tastatur als fremdes wesen ansieht oder ob man aus der geek/nerd-ecke kommt und LaTeX besser bedienen kann als word zwinkern

Ich komm weder aus der point&click ecke, noch kann ich LaTeX bedienen. Aber ich weiss, dass das geschriebene wort definierter und exakter ist als ein mit der maus gezeichnetes rechteck ...


... nur die harten surfen auf der textkonsole mit lynx zwinkern .. und die härtesten mit netcat happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 20.01.2010, 21:03    Titel: Antworten mit Zitat

Ja du hast schon recht, dass das nicht sehr kompliziert ist, aber ein Designer könnte das Entwickeln von GUI-Programmen stark beschleunigen.

Der Designer muss ja auch nicht die Originalkomponenten zeigen, sondern nur Dummies um die Position zu bestimmen.

Zudem würde es deine GUI von anderen selbsterstellten GUIs abheben, da kaum eine (bzw. keine mir bekannte) einen Designer hat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 20.01.2010, 21:30    Titel: Antworten mit Zitat

Also wenn es da Interesse gäbe: Ich baue gerade meinen Designer um das er unabhängig von GUI-Bibliothek ein XML ausgibt, das dann verarbeitet wird. Das anwenden auf eine neue Bibliothek wäre dann nicht schwer.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 20.01.2010, 22:46    Titel: Antworten mit Zitat

@Stueber: Du baust also Glade in Freebasic nach? .. glade ist doch eigentlich schon nich schlecht..

@Mod: Das sich meine Gui damit abheben könnte ist wirklich ein gutes argument. Da geb ich dir vorbehaltlos recht.. Aber mag damit überhaupt jemand arbeiten wenn man mit einem solchen designer nur grundrisse von dummy-objekten anordnen kann?
.. sowas lässt sich natürlich recht einfach programmieren...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 20.01.2010, 22:53    Titel: Antworten mit Zitat

Solange das Endprodukt das ist, was man vorher mit Dummies gezeichnet hat, wäre es ideal zum schnelle GUI-Bauen für alle möglichen Programme.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 20.01.2010, 23:15    Titel: Antworten mit Zitat

Zentraler angelpunkt für einen designer der dummies benutzt wären die GuiObject-Objekte die in jedem bedienlement enthalten sind. In jedem GuiObject ist die position und größe gespeichert. das ist bei allen bedienelementen meiner gui gleich...
das wird sicherlich nicht auf andere guis übertragbar sein..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 20.01.2010, 23:18    Titel: Antworten mit Zitat

Ich baue nicht Glade nach, aber es funktioniert so ähnlich. Der Punkt ist dass das Parsen des XML-Files die Schwierigkeit ist, was dann mit den Informationen gemacht wird kann beliebig abgeändert werden, sicherlich auch für deine GUI.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 20.01.2010, 23:44    Titel: Antworten mit Zitat

Und dann erstellst du noch einen parser der den xml-code aus deinem designer in nativen fb-code umwandelt? .. oder wie kann man sich das genau vorstellen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 21.01.2010, 14:10    Titel: Antworten mit Zitat

Man kann es sich so vorstellen:

Designer => .xml Datei => liegt dem Programm bei => Programm ruft parseXML auf, die Funktion ruft dann intern die jeweiligen Gui-Toolkit Funktionen auf.

Dann hat das Programm die Startoberfläche, alles weitere wird ganz normal über die Funktionen deiner Lib gemacht, man kann eben die Startoberfläche mit wenigen Klicks erzeugen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 21.01.2010, 14:18    Titel: Antworten mit Zitat

Dann muss dem programm also immer eine xml-datei mitgegeben werden und es besteht die "gefahr" das die xml-datei nachträglich geändert werden kann?
Genau das möchte ich umgehen :-/.. deswegen wird das mit dem designer nich so einfach werden :-/...

Meine vorstellung läuft eher daraufhinaus, das "Dummy-Bedienelemente" auf einer Oberfläche verteilt werden. Dann wird beim abspeichern eine .bi-datei erstellt, welche die koordinaten und die namen der dummy-objekte beinhält.

Möchte man dann dieses design einbinden, bindet man die .bi-datei in sein projekt ein und "überschreibt" dann die positionen von den bedienelementen mit den positionen die in der .bi-datei jeweils nach objekt-name gespeichert wurden...

na mal abwarten lächeln .. zumindest für einen einfachen designer wird meine idee ausreichen..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 21.01.2010, 16:57    Titel: Antworten mit Zitat

Man kann die XML Datei auch komprimiert/verschlüsselt an die Moduldatei anhängen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 22.01.2010, 14:48    Titel: Antworten mit Zitat

Genau so wie es 28398 sagt ist es auch gedacht, aber ist auch nur ein Angebot.lächeln
Wenn du meinst dass mein Designer bei deinem Projekt nicht sinnvoll ist, dann wird es auch so sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 23.01.2010, 11:33    Titel: Antworten mit Zitat

So, designer ist sogut wie fertig!

Aber wie gesagt, er ist absolut einfach gehalten:

Erstellt man ein Bedienelement, positioniert es, ändert die größe und vergibt man ihm z.B. den Namen "Button1", dann erstellt der Designer beim speichern eine .bi-datei die man im Hauptprojekt einfach mit #include einbinden kann.

In dieser .bi-Datei steht dann beispielsweise für das Objekt "Button1":
Code:

Const Button1_left=10
Const Button1_top=22
Const Button1_width=210
Const Button1_height=162


Das heisst, der designer erstellt praktisch konstanten mit den koordinaten der Bedienelemente.
Dann muss man diese konstanten nur noch in die richtige Objekte im Hauptprojekt einbinden:
Code:

Create(Button1, New Button(Button1_left,Button1_top,Button1_width,Button1_height,"Hallo Welt!")
Me->Add Button1


Damit muss man bei der programmierung der Bedienelemente keine klimzüge zur aufnahme von vordefinierten koordinaten machen.

Ich hoffe, das ich heute noch zum veröffentlichen komme aber spätestens morgen dann!

@Stueber: Ich kann mir irgendwie nicht vorstellen, wie das verwirklicht werden soll.. ein designer hat bestimmt sinn und zweck, aber im fall meiner gui, weiss ich nicht ob das überhaupt technisch realisierbar ist...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
funkeld
gesperrt


Anmeldungsdatum: 10.10.2009
Beiträge: 179

BeitragVerfasst am: 31.05.2010, 12:19    Titel: Antworten mit Zitat

Hallo, grüss dich.

Wird an dieser Baustelle nicht mehr weitergearbeitet?

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 17.06.2010, 19:51    Titel: Antworten mit Zitat

Hallo funkfeld lächeln

tatsächlich wird hier noch gearbeitet! .. auch wenn länger nix passiert ist, steh ich kurz vor einem genialen release zwinkern .. also genial in form von, dass mir die art der realisierung persönlich besonders gut gefällt happy

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 22.06.2010, 20:42    Titel: Antworten mit Zitat

Ich hab mal vorab ein paar Dateien zusammengepackt und ein kleines OpenGL-Beispiel Programm für meine Gui geschrieben.

Ist eine 3D-Ausgabe von Conways Game Of Live und so schauts aus:



Und hier zum runterladen:

http://users.freebasic-portal.de/onecypher/GuiObject2.zip

einfach die test1.bas kompilieren und ausführen.

In dem screenshot sieht man oben links ein SDL-Fenster mit Menü.
--> Sollte dieses fenster nicht starten: EINFACH NOCH MAL DAS PROGRAMM NEUSTARTEN .. ich weiss leider noch nicht genau, woran das liegt, das es sich in seltenen fällen begibt, das sich das SDL-Fenster nicht öffnet.. Aber im normalfall sollte es das tun!

Zu dem Game Of Live selbst: Ich kenne leider nur die regeln für die 2D-Version und daher hab ich versucht die regeln auf 3D zu übertragen. Weiss nicht ob mir das gelungen ist...

Zur steuerung im 3d-Fenster:

- zoomt in das gatter rein
+ zoomt raus

hält man die ctrl-taste gedrückt und bewegt die maus mit gedrückter linker taste, verschiebt man seine ansicht.

mit linker taste + maus bewegen kann man die perspektive ändern.

Mit der rechten taste kann man das gatter um sich selbst drehen.

Das menü auf der linken seite ist zwar auf englisch, sollte aber einigermaßen erklärend sein...

Bin gespannt auf rückmeldungen lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6
Seite 6 von 6

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz