Brauchen wir einen weiteren VisualDesigner?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.

Brauchen wir einen professionellen und preiswerten VisualDesigner?

Ja
46
74%
Nein
16
26%
 
Insgesamt abgegebene Stimmen: 62

DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Fluid Byte hat geschrieben:F6 - Script parsen und in den PB-Editor laden
Nein. Du schreibst nen Parser in PureBasic als Include. Dort steckst du auch Dockingfunktionen oder Layouts oder so rein.

Dann sieht der Code vom Nutzer entsprechend so aus:

Code: Alles auswählen

XIncludeFile "GUIParser.pbi"

CatchGUIScript(?GUI_Start, ?GUI_End)

Define Event.i

Repeat
  Event = WaitWindowEvent()
  Select Event
  CompilerIf #PB_Compiler_OS <> #PB_OS_Windows
    Case #PB_Event_SizeWindow
      ResizeAllWindows()
  CompilerEndIf
    Case #PB_Event_CloseWindow
      Break
  EndSelect
ForEver

ReleaseGUIScript()
End

DataSection
  GUI_Start:
    IncludeBinary "guiscript.pbgui"
  GUI_End:
EndDataSection
In der guiscript.pbgui steckt dann dein

Code: Alles auswählen

WINDOW 0,0,320,260,"blah",$1024E2
BUTTON 10,10,120,25,"blub"
LISTBOX 10,50,180,220
  ITEM 0,"item1"
  ITEM 1,"item2"
STRING 10,230,200,20,"lorem",$47DF45 
Obwohl man eigentlich auch gleich ein einheitliches PB Format nehmen kann und das in eine Include unverändert schiebt. Einen PB Lexer gibt es ja bereits der einem schon die größte Arbeit abnimmt. Es brauch ja nicht die komplexesten Spaghetti-Konstrukte erkennen. Es würde im Prinzip schon reichen wenn er so einen Code erkennt und als GUI nachbaut:

Code: Alles auswählen

If OpenWindow(...)
  ButtonGadget(...)
  ListIconGadget(...)
  PanelGadget(...)
  ...
  AddGadgetItem(...)
  ...
EndIf
Also mit dem PureBasic Lexer würde ich einfach alle Funktionen nach OpenWindow zu dem Fenster zuordnen (Linear im Text, nicht im Code, also keine Sprünge irgendwoanders hin).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Hast du jetzt eigendlich vor, einen neuen Visual Designer zu schreiben?

Mir ist nämlich gerade wieder aufgefallen, das sowas echt nötig ist.

Inzwischen Design ich schon nicht mehr mit dem Visual Designer, weil der Formatierungstechnisch einfach nichts drauf hat.
----------------------------------------------------------

PB 5.20 Beta 10 | Windows 7
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Joel hat geschrieben:Hast du jetzt eigendlich vor, einen neuen Visual Designer zu schreiben?
Ist im Moment nicht meine Hauptpriorität aber sofern ich Lust und Zeit hab' auf jeden Fall.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Hier ein Interessantes Thema dazu: http://www.purebasic.fr/english/viewtopic.php?t=35699

Soweit ich das versteh, wird es bald eine neue Version geben (vllt schon ab Version 4.4)
----------------------------------------------------------

PB 5.20 Beta 10 | Windows 7
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

das will ich doch hoffen. Auch wenn ich mit meinem alten VD auch zurechtkomme.
Win11 x64 | PB 6.20
Benutzeravatar
bembulak
Beiträge: 228
Registriert: 13.12.2005 16:34
Wohnort: Österreich

Beitrag von bembulak »

Ich hätte da mal ne Frage.
Kann man ne zusammengeklickte GUI bei der Express Version von Visual Studio irgendwie als XML-Output speichern?
Lazarus (http://www.lazarus.freepascal.org/) kann das und läuft auf so ziemlich jeder erdenklichen Plattform. Steht ausserdem unter der LGPL, was eine Nutzung relativ einfach macht.

Bild

Code: Alles auswählen

<?xml version="1.0"?>
<CONFIG>
  <Component>
    <component name="Form1" class="TForm1">
      <properties>
        <integer name="Left" value="334"/>
        <integer name="Height" value="300"/>
        <integer name="Top" value="173"/>
        <integer name="Width" value="400"/>
        <string name="Caption" value="Form1"/>
        <integer name="ClientHeight" value="300"/>
        <integer name="ClientWidth" value="400"/>
        <boolean name="ParentFont" value="false"/>
        <string name="LCLVersion" value="0.9.26"/>
      </properties>
      <children>
        <component name="Button1" class="TButton">
          <properties>
            <integer name="Left" value="16"/>
            <integer name="Height" value="24"/>
            <integer name="Top" value="16"/>
            <integer name="Width" value="91"/>
            <string name="Caption" value="Button1"/>
            <integer name="TabOrder" value="0"/>
          </properties>
        </component>
        <component name="Memo1" class="TMemo">
          <properties>
            <integer name="Left" value="117"/>
            <integer name="Height" value="272"/>
            <integer name="Top" value="16"/>
            <integer name="Width" value="275"/>
            <list>
              <string value="Memo1"/>
            </list>
            <integer name="TabOrder" value="1"/>
          </properties>
        </component>
      </children>
    </component>
  </Component>
</CONFIG>
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Andesdaf hat geschrieben:das will ich doch hoffen. Auch wenn ich mit meinem alten VD auch zurechtkomme.
Also es gibt in PB ja immer die Traditionellen Release Daten.

PB 4.0 = Mai
PB 4.1 = Nov.
PB 4.2 = Jun.
PB 4.3 = Nov.

das heißt:

PB 4.4 = Jun-Jul. 2009

Betas kommen immer bis zu 3 Monate vorher raus, deswegen wird die erste Beta die nächsten Wochen kommen. PB 4.5 Release kommt genaz bestimmt wieder (wie fast immer) Mitte November aus.
----------------------------------------------------------

PB 5.20 Beta 10 | Windows 7
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

das ist ja witzig, bei vier Beobachtungen von "immer" oder "traditionell" zu sprechen...

vor der 4.0 trifft deine Schlußfolgerung sowas von garnicht zu.....

die 4.0 hat wesentlich länger auf sich warten lassen, als wir erst gehofft hatten,
und als wir es schon fast aufgegeben hatten, war sie plötzlich da.

aber das ist wohl das Vorrecht der Jugend, einen Zeitraum von zwei Jahren als "ewig" zu betrachten.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Kaeru Gaman hat geschrieben:vor der 4.0 trifft deine Schlußfolgerung sowas von garnicht zu.....
Naja ich glaube schon, dass die nächste Beta bald kommt. Kann sein, dass Fred vor 3 Jahren etwas länger gebraucht hat. Außerdem hat sich ja vieles seit Version 4 geändert.
Kaeru Gaman hat geschrieben:das ist ja witzig, bei vier Beobachtungen von "immer" oder "traditionell" zu sprechen...

die 4.0 hat wesentlich länger auf sich warten lassen, als wir erst gehofft hatten,
und als wir es schon fast aufgegeben hatten, war sie plötzlich da.
:D Ok, das klings nach einem guten Zeitpunkt für eine Wette. Ich Wette (um nichts) dass die nächste Beta in den nächsten 5 Wochen kommt :mrgreen: :D
----------------------------------------------------------

PB 5.20 Beta 10 | Windows 7
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ich hab' mal eine Pre-Alpha Version hoch geladen. Man kann da fast nichts klicken aber mich würde hier auch eher interessieren ob das Layout so in Ordnung ist.

http://www.codedreality.de/tl_files/tem ... actory.rar (UPX'ed)

Ich muss ehrlich sagen es ist leichter als ich gedacht habe und ich komme gut voran. Nur die Synchronisation des Codefensters mit der Fenster-Darstellung wird wohl etwas "haarig".

Außerdem, obwohl ich schon diverse API-Hacks verballert habe denke ich das es nicht allzu kompliziert wird das auch für LINUX umzusetzen (es gibt Hoffung Thomas!). Das meiste ist wohl Fleißarbeit und ehrlich gesagt reizt es mich auch ein bisschen.

Schaun' wa' mal! :mrgreen:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten