Seite 2 von 7
Re: Brand New Form Designer: na, ja...
Verfasst: 01.09.2012 13:29
von Josh
In diesem Fall ist die GUI ja der Hauptteil des Motors.
Ich sehe das Problem bei dem VD noch immer, dass er keine echten Fenster und Gadgets verwendet sondern alles auf ein Canvasgadget malt. Ein VD sollte ja nach dem System WYSIWYG arbeiten und da ist er meilenweit entfernt. Wenn ich nur an die unzähligen Möglichkeiten der verschiedenen Betriebssysteme, Betriebssystemeinstellungen, Fenstereinstellungen und Gadgeteinstellungen denke, dann wünsche ich Polo viel Spaß.
Irgendwie hab ich da von Anfang an ein Bauchkribbeln gehabt. Alleine schon bei dem Titel 'Form Designer coming soon' und außer ein paar Fragmenten war da einfach nichts da.
Re: Brand New Form Designer: na, ja...
Verfasst: 01.09.2012 13:49
von Klaus_1963
Fataler Installationsbug...
führte zu meiner ersten schlechten Beurteilung des "Formdesigners": bei der Installation von PB 5.0 32/64 wurde der Formdesigner nicht unter "Werkzeuge" mitinstalliert sondern der alte VD! Deshalb dachte ich, da will mich jemand ver...
Den neuen FormDesinger muss ich manuell in die Werkzeugliste mit aufnehmen. Allen, denen es so geht wie mir: den neuen FormDesigner findet Ihr auch im Hauptverzeichnis von PB...
Nu werde ich den mal testen...
Bis dann
Klaus
Re: Brand New Form Designer: na, ja...
Verfasst: 01.09.2012 14:00
von STARGÅTE
Josh hat geschrieben:Ich sehe das Problem bei dem VD noch immer, dass er keine echten Fenster und Gadgets verwendet sondern alles auf ein Canvasgadget malt. Ein VD sollte ja nach dem System WYSIWYG arbeiten und da ist er meilenweit entfernt.
Das ist richtig.
Allerdings kann man "echte" Gadgets schlecht editieren (vergrößern usw.).
Um dann nicht auf API zurück greifen zu müssen, um Mausklicks usw. zu registrieren, hatte ich damals (wollte früher auch einen machen) die Idee, einmal das echte Fenster mit den echten Gadgets zu erstellen, und darüber ein Fenster mit dem Editor-Canvas, welches den Inhalt des echten Fensters kopiert.
Hier ein Beispiel (mit rechts Mausklick, wird die Buttongröße geändert, mit links die Position):
Code: Alles auswählen
Enumeration
#Window
#WindowView
#Gadget
#CanvasGadget
#OutputImage
EndEnumeration
Procedure CopyWindowOutput(Window.i, Gadget.i)
If StartDrawing(WindowOutput(Window))
GrabDrawingImage(#OutputImage, 0, 0, WindowWidth(Window), WindowHeight(Window))
StopDrawing()
EndIf
If StartDrawing(CanvasOutput(Gadget))
DrawImage(ImageID(#OutputImage), 0, 0)
StopDrawing()
EndIf
EndProcedure
OpenWindow(#Window, 0, 0, 400, 300, "WindowTitle", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ButtonGadget(#Gadget, 10, 10, 200, 20, "Hallo")
OpenWindow(#WindowView, 0, 0, 400, 300, "WindowTitle", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CanvasGadget(#CanvasGadget, 0, 0, 400, 300)
Repeat
Select WaitWindowEvent(10)
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case #CanvasGadget
Select EventType()
Case #PB_EventType_LeftButtonDown
ResizeGadget(#Gadget, GetGadgetAttribute(#CanvasGadget, #PB_Canvas_MouseX), GetGadgetAttribute(#CanvasGadget, #PB_Canvas_MouseY), #PB_Ignore, #PB_Ignore)
Case #PB_EventType_RightButtonDown
ResizeGadget(#Gadget, #PB_Ignore, #PB_Ignore, GetGadgetAttribute(#CanvasGadget, #PB_Canvas_MouseX)-GadgetX(#Gadget), GetGadgetAttribute(#CanvasGadget, #PB_Canvas_MouseY)-GadgetY(#Gadget))
EndSelect
EndSelect
Case #Null
CopyWindowOutput(#Window, #CanvasGadget)
EndSelect
ForEver
So hat man im Canvas die einfache möglichkeit Ziehrahmen usw. einzubauen und erspart sich zudem das selberzeichnen der Gadgets.
PS: Ob ich doch noch mal anfange einen FormEditor zu bauen

Re: Brand New Form Designer: na, ja...
Verfasst: 01.09.2012 14:02
von ts-soft
Klaus_1963 hat geschrieben:Fataler Installationsbug...
Das ist kein Installationsbug. Einstellungen, die Du getroffen hast, werden beibehalten, ganz normal. Aber der Hinweis, das der Pfad evtl. anzupassen ist wäre angebracht, aber nicht in der Beta
Bei mir war dort PureFORM eingetragen, wenn das vom Installer überschrieben worden wäre, wäre ich Sauer geworden.
Gruß
Thomas
Re: Brand New Form Designer: na, ja...
Verfasst: 01.09.2012 15:42
von Josh
STARGÅTE hat geschrieben:Allerdings kann man "echte" Gadgets schlecht editieren (vergrößern usw.).
Um dann nicht auf API zurück greifen zu müssen, um Mausklicks usw. zu registrieren, hatte ich damals (wollte früher auch einen machen) die Idee, einmal das echte Fenster mit den echten Gadgets zu erstellen, und darüber ein Fenster mit dem Editor-Canvas, welches den Inhalt des echten Fensters kopiert.
Sieht gut aus. Wenn ich an die fast unendlichen Kombinationen denke, die sich beim Zeichnen ergeben können, dann kann man etliches an Arbeit in so ein System stecken.
Ich hatte als erster den Gedanken gehabt, ein transparentes Fenster darüber zu legen und darauf dann den Ziehrahmen zeichnen. Das war nur mal so eine Idee, ohne mir näher Gedanken darüber zu machen, ob das realisierbar ist. Noch dazu muss ich zugeben, dass ich überhaupt keine Ahnung habe, ob das bei Linux und beim Apfel so machbar ist.
Re: Brand New Form Designer: na, ja...
Verfasst: 02.09.2012 04:46
von Klaus_1963
Ja, doch: geht eindeutig in die richtige Richtung
Ribon Band finde ich persönlich ok.
Im ersten Test fand ich den Bedienkomfort noch nicht so gut:
- Undo-Button fehlt (oder habe ich da wieder was übersehen?)
- Übertragen des Quelltextes in PB sollte vom FormDesigner mit einem Knopfdruck möglich sein und sofort ein "lauffähiges" Programm ergeben
- Design und CodeView sind nicht direkt nebeneinander darstellbar
- Doppelclick auf Gadget führt nicht zur entsprechenden Codestelle in CodeView
- Beim Starten des Formdesigners öffnet er sich nicht in der zuletzt gewählten Anordnung
- Eigenschaften der Gadgets sind noch nicht vollständig: z.B. fehlt Color in Button-Gadget (ok, ist ja noch eine Beta-Version)
Fehler: einige nicht reproduzierbare Eigenheiten: einmal froren z.B. die Properties ein: egal welches Gadget ich dann angewählt hatte, es wurden immer die eines früher angewählten Gadgets angezeigt. Behebung war nur durch Neustart des FormDesigneres möglich
Schön wäre, wenn die komplette Programmentwicklung im "FormDesigner" möglich wäre (Name wäre dann z.B. GraphikEditor oder so ähnlich), so wie das bei Lazarus, Visual Studio etc. schon lange der Fall ist. Denke, dass ist einfach notwendig, auch wenn es noch viele "Basic-Coder" gibt, die das anders sehen

.
Auf jeden Fall finde ich es toll, dass sich jetzt endlich mal was tut in Sachen "VisualDesigner" äähh: "FormDesigner"
Grüssle
Klaus
Re: Brand New Form Designer: na, ja...
Verfasst: 02.09.2012 07:30
von 7x7
Vorschlag:
Ihr könnt ja hier im Forum ein OpenSource-Projekt ins Leben rufen mit dem Ziel, einen "Designer" zu programmieren. Jemand entwirft das Grundgerüst und dann geht's los. Jeder kann mitmachen und Ideen und Code beisteuern. Natürlich muss es einen "Leiter" des Projekts geben, damit kein Chaos ausbricht.
Mir persönlich reicht in den meisten Fällen die Console. 9 von 10 Projekten sind reine Konsolen-Programme.
Re: Brand New Form Designer: na, ja...
Verfasst: 02.09.2012 08:55
von Josh
7x7 hat geschrieben:Vorschlag:
Ihr könnt ja hier im Forum ein OpenSource-Projekt ins Leben rufen mit dem Ziel, einen "Designer" zu programmieren. Jemand entwirft das Grundgerüst und dann geht's los. Jeder kann mitmachen und Ideen und Code beisteuern. Natürlich muss es einen "Leiter" des Projekts geben, damit kein Chaos ausbricht.
Mir persönlich reicht in den meisten Fällen die Console. 9 von 10 Projekten sind reine Konsolen-Programme.
Konsole und VD, wie soll das zusammen passen?
Re: Brand New Form Designer: na, ja...
Verfasst: 02.09.2012 09:09
von WPö
Moin!
Von Josh' Einwand angesehen, sollte das dann entstehende Projekt nicht nur Open Source sein, sondern Freie Software. Bevor man ein solches Projekt beginnt, muß man sich also leider erstmal mit der angestrebten Lizenz beschäftigen. Ist leider eine lästige Sache, aber notwendig. Damit empfehle ich grundsätzlich etwas GPL-artiges, also z.B. die GPL 3.0. Vorschläge?
Gruß - WPö
Re: Brand New Form Designer: na, ja...
Verfasst: 02.09.2012 09:17
von 7x7
Josh hat geschrieben:Konsole und VD, wie soll das zusammen passen?
Du hast mich missverstanden. Ich wollte damit sagen, dass ich in 9 von 10 Fällen KEINE GUI benötige.