Seite 1 von 2

PB Dialog Maker

Verfasst: 27.08.2009 21:17
von AndyMars
Hallo zusammen

Schon seit Urzeiten versuche ich immer wieder mal mir meinen eigenen
GUI-Editor zu programmieren. Eigentlich reicht das sogar noch in meine
"Profan"-Zeiten zurück.
Die mitgelieferten oder sonst verfübaren Programme zeigten früher oder
später immer Eigenschaften, die mich störten. Programmfehler,
unerwartetes oder unlogisches Verhalten, fehlende Funktionen,
Lizenzschlüssel die man dauernd wieder nachbestellen muss... ;) Ich
brauch ja eigentlich nicht viel, aber wenn genau gewisse Funktionen
nicht so funktionieren wie ich mir das vorstelle...

Nun also nach langer Zeit habe ich nun endlich ein eigenes Programm,
welches ich gar nicht mal so übel finde. Es ist noch nicht fertig,
aber durchaus benutzbar. Warum ich es jetzt schon hier bekannt mache:

- Es kann noch lange dauern, bis es mal einen "fertigen" Status erreicht
(ich bin halt 'n Hobby-Programmierer).
- Ich will es Interessierten zur Verfügung stellen.
- Vielleicht kriege ich gute Ideen von euch.
- Ich überleg mir den Code frei zu geben.

PB Dialog Maker

Download: DialogMaker.zip
Das ist nur noch der Code - meine Güte, wie aggressiv ist denn Windows Security drauf? Virustotal 5/72 - und unter den 5 ist natürlich Windows dabei - "Das ist ganz, ganz pöze!"

Dialog Maker ist ein einfaches Programm, um bei der Erstellung von
Dialogen in PureBasic zu helfen (und evtl. auch anderen Sprachen).
Hauptaugenmerk war die Flexibilität bezüglich der Dialogelement-Typen
- diese können mitsamt generiertem Code frei selber erstellt werden.

Bild

Dialog Maker mag nicht an die Professionalität von zum Beispiel
PureVision oder PureForm heran reichen - es hat aber andere
Spezialitäten zu bieten.

Die Dialogelemente werden nicht wirklich angezeigt, sondern nur als
Boxen mit den entsprechenden Dimensionen dargestellt. Man kann Dialog
Maker wohl eher als Programmiertool sehen, wie als visuelles Tool -
man kann damit Codeschnippsel aneinander reihen und diese Schnippsel
haben einfach auch noch eine gezeichnete Entsprechung der X-,
Y-Koordinate und der Höhe und Breite.

Dafür ist es möglich, jede zukünftige Änderung von Dialogelementen
anzupassen oder neue hinzu zu fügen. Unter Umständen wäre es sogar
möglich, Dialog Maker für andere Programmiersprachen zu verwenden
(wobei dies bei der Entwicklung nicht besonders beachtet wurde).

Dialog Maker erzeugt aus den zusammen gefügten Codeschnippseln eine
Datei, welche in einen Hauptquelltext per "Include" eingefügt werden
kann. Die erzeugte Datei kann nicht bearbeitet werden - sie wird immer
wieder überschrieben.

Bei der Entwicklung wurde versucht, möglichst keine API-Aufrufe zu
verwenden, damit der Code leichter portierbar bleibt. Ich denke
deshalb, es würde einfach sein, das Tool auf Linux oder Mac zu
portieren (ich selber habe keine entsprechende Umgebung).

Verfasst: 28.08.2009 11:52
von AndyMars
HeX0R hat geschrieben:Das mit dem Link üben wir noch :mrgreen:
Upsala! Eeeeeh - man sollte bei einem CMS, bei dem der Titel der Seite gleichzeitig die URL bildet, diesen nicht leichtfertig ändern... /:->

Dank dir für den Hinweis! Korrigiert.

Verfasst: 28.08.2009 12:23
von HeX0R
O.k., ich hatte meinen Beitrag eigentlich gelöscht, nachdem ich gesehen habe, dass du den Link korrigiert hast.

Aber da ich nun schonmal als Zitatleiche hier im Thread bin, muss ich auch was konstruktives sagen.

1.) Dein Infobox-Editorgadget sollte Readonly sein.
2.) Diese Box links unten (Name / Wert) ist extremst unintuitiv!
Da poppen nach Doppelklick manchmal so lange Zeilen auf, dass der Anfang links ausm Desktop raussteht. Das Hauptfenster ist dann auch nicht mehr bedienbar, das fühlt sich echt übel an (bis ich auf die Idee gekommen bin Esc zu drücken).
Ich würde dir hierfür das esGrid von srod sehr ans Herz legen.
3.) Das Fenster lässt sich für meinen Geschmack in der Breite nicht klein genug resizen. Nicht jeder hat nen 16:10 Desktop.
4.) Ini Dateien sollten nie in den Programmordner.
5.) Im Menü, sollte Neu vor Öffnen stehen, so ist man es gewohnt, ansonsten verklickt man sich hier ständig.

Das mal auf den ersten Blick, weit bin ich damit noch nicht gekommen, weil sich alles von der Bedienung her, wie gesagt, irgendwie komisch anfühlt.

Verfasst: 28.08.2009 13:28
von AndyMars
Sorry wenn ich dich da zu einer Antwort genötigt habe - aber ich bin dir dankbar dafür.

Du hast in all deinen Punkten recht, manche werde ich ziemlich direkt beherzigen.

Zu 2.) muss ich sagen, dass mir das sehr wohl bewusst war - ich habe für grössere Texte ja auch extra ein Funktion gemacht (Menü "Gadgets - Grösseren Text bearbeiten"). Wär vielleicht eine Idee, ab bestimmter Textgrösse diesen Dialog automatisch zu verwenden...

Allerdings wollte ich das ganze ja möglichst nativ in PB programmieren. Ich denke, da bleibt keine andere Möglichkeit, wie einen separaten Dialog zu machen. Vielleicht mach ich diesen aber wieder grösser, so dass kleine Hinweise möglich sind. Auch noch eine Idee wär, dass Hauptfenster nicht zu sperren und bei Fokusverlust einfach ein "Abbrechen" oder "OK" auszuführen...

Ich muss mir das überlegen, ob ich von der nativen PB-Programmierung abrücken soll, damit ich so was wie esGrid verwenden könnte. Letzlich könnte man immer noch so ein Gebastel machen, wenn man dann mal wirklich etwas für ein anderes OS portieren würde. Wobei es mich nicht wundern würde, wenn es auch dort solche Module ähnlich esGrid gäbe...

Verfasst: 28.08.2009 14:04
von Kaeru Gaman
eine Anmerkung zum Namen: "Dialog" ist zwar korrekt geschrieben im AE,
aber BE "Dialogue" würde in Verbindung mit "Maker" vielleicht besser aussehen...

Dialogue Maker

Verfasst: 28.08.2009 15:39
von Andesdaf
schöne Idee, :D aber:
- Drückt man "hoch" oder "runter" und es gibt noch keine Gadgets, stürzt der
Dialog Maker ab.
- Bei jedem Klick in das ListView macht es "pong".
- Die Bedienung ist manchmal etwas merkwürdig, z.B beim Flags-Ändern-Fenster,
wieso machste dort nicht einfach nen Button rein?

Verfasst: 28.08.2009 22:13
von AndyMars
Sodele, schon mal ein paar Sachen umgesetzt:
Version 0.52
- Div kleine Anpassungen an der Oberfläche
- Bug behoben bei leerer Gadgetliste: "Rauf" oder "Runter" führt zu Absturz
- DialogMaker.ini wird nun im Home-Verzeichnis angelegt (Unterverzeichnis DialogMaker)(Windows: APPDATA\DialogMaker)

Die Sache mit dem Werte-ListIcon ist offen. Ich denke das "Pong" von dir, Andesdaf, hängt auch mit meinen Spezial-Miniinput-Dialogen zusammen. Es sind eigene Fenster die das Hauptfenster sperren... Werde mir EsGrid wohl mal genauer anschauen...
Die Bedienung ist manchmal etwas merkwürdig, z.B beim Flags-Ändern-Fenster, wieso machste dort nicht einfach nen Button rein?
Also einfach zum Beispiel einen "OK" und ein "Abbrechen" Button?

@Kaeru Gaman: Sieht für mich irgendwie französisch aus :wink:. Aber eigentlich wär eine Umbennung trotzdem was - immer diese englischen Namen - warum eigentlich nicht deutsch: Dialog Editor. OK. Könnte immer noch englisch sein - aber ich fände es schon besser. Und um ihn etwas abzuheben: Ams Dialog Editor... Ich lass mir das noch etwas durch den Kopf gehen.

...AmsDiagEd... ...DialogEd... ...DialoguEd... ...grübel...

Na! Ich geh mal was Essen. Bis ein ander Mal...

PS: "Zwiegesprächbearbeiter 1.0" Jaaaa - Ne. Die Versionsnummer ist illusorisch... <)

Verfasst: 29.08.2009 02:06
von ZeHa
AndyMars hat geschrieben:warum eigentlich nicht deutsch: Dialog Editor. OK. Könnte immer noch englisch sein
Wie wär's mit Zwiegesprächbearbeiter 1.0

Verfasst: 29.08.2009 03:17
von jojo1541
Nennts doch gleich Unterhaltungsmanager... :lol:

Verfasst: 29.08.2009 12:30
von Kaeru Gaman
gehört ein Ma-Nager zur selben Gattung wie ein Tee-Nager?

Bild