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:

Visual WX-C Designer

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 55
Wohnort: Bayern

BeitragVerfasst am: 12.01.2014, 15:11    Titel: Visual WX-C Designer Antworten mit Zitat

Leider wird der Visual WX-C Designer seit Mitte 2013 nicht mehr weiter entwickelt, da MOD jetzt seine ganze Energie in WxFBE steckt. Das finde ich zwar verständlich, aber auch sehr schade, denn zusammen mit dem Tutorial von Affemitwaffel im FB Portal ist der Designer eine sehr nützliche Sache, wenn man eine andere IDE als WxFBE verwenden möchte, abgesehen davon, dass der dort integrierte Oberflächendesigner noch nicht voll funktionsfähig ist und in WxFBE z.B. auch ein Sub- und Function-Browser noch sehr nützlich wäre. Mir ist es jedenfalls noch nicht gelungen, bei WxFBE im Designer die Fenstergröße einzustellen. Ich fände es wichtig, einen GUI-Designer für Wx-C zu haben, der von der gewählten IDE unabhängig ist. Bleibt der Designer denn wenigstens im jetzigen "eingefrorenen" Stand zusammen mit dem Tutorial weiterhin verfügbar?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5876
Wohnort: Deutschland

BeitragVerfasst am: 12.01.2014, 15:25    Titel: Re: Visual WX-C Designer Antworten mit Zitat

Lothar Schirm hat Folgendes geschrieben:
Bleibt der Designer denn wenigstens im jetzigen "eingefrorenen" Stand zusammen mit dem Tutorial weiterhin verfügbar?

Klar, es wird nichts gelöscht. lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4157
Wohnort: ~/

BeitragVerfasst am: 12.01.2014, 20:01    Titel: Antworten mit Zitat

Du kannst natürlich trotzdem den wxFBE nutzen, um deine GUI zu designen und das BASIC-Gerüst dazu zu exportieren - dieses kannst du dann ggf. mit einem anderen Editor bearbeiten. wxFBE bietet auch schon die Möglichkeit, Gerüste für die Callback-Funktionen bereitzustellen; allerdings arbeite ich für gewöhnlich nicht mit Designern weshalb ich da nichts genaueres sagen kann. Wegen der Fenstergröße muss ich mal schauen.

edit: Wenn du nach dem Anlegen einer neuen Form das graue Fenster anklickst, erscheinen die Einstellungsmöglichkeiten für das Fenster. Funktioniert das nicht?
_________________
Meine Großeltern waren als junge Menschen sehr modern - sie hatten schon damals in der Badewanne Email.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 55
Wohnort: Bayern

BeitragVerfasst am: 13.01.2014, 16:26    Titel: Antworten mit Zitat

Doch, das funktioniert. Man kann allerdings nicht die Fenstergröße durch Ziehen der Ecken mit der Maus ändern, wie bei den Controls. Die Fenstergröße wird auch richtig exportiert (Code und Form). Nur wenn man die xml-Datei wieder importiert, ist die eingestellte Fenstergröße futsch, und die Events sind auch weg. Die werden anscheinend nicht in die xml-Datei exportiert, sondern nur in die Code-Datei.

Unklar ist für mich auch, warum beim Anklicken des Buttons "EventHandler" die Callback-Sub für das jeweils ausgewählte Control in einem eigenen Dateifenster "Untitled" erscheint. Übersichtlicher wäre es doch, diese nacheinander in ein gemeinsames Dateifenster zu schreiben (wie bei Visual Basic).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 990

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

Der Visual WX-C Designer wird in der Form, wie er jetzt ist, immer im Portal verfügbar sein, auch die Download-Links auf meinen users-space lasse ich bestehen.


Das Ziehen per Maus habe ich ganz zu Anfang der Integration in wxFBE eingebaut, allerdings hatte das so starke Probleme, dass ich es wieder entfernt habe. Eventuell kommt das in Zukunft irgendwann wieder.

Das mit der Fenstergröße stimmt leider, das ist bei der Integration untergegangen. Ich schaue mal, dass ich das am Wochenende anpasse.

In der aktuellen SVN-Version werden Events richtig in die XML-Dateien emittet und später auch wieder eingelesen.


Das Event Handling ist der eigentlichte Grund für wxFBE. Eigentlich wollte ich einen Editor im Visual WX-C Designer erstellen, mit dem der Code direkt erstellt werden kann. Daraus ist dann eben wxFBE geworden.

Der Name der Dateifenster wird später noch angepasst, sodass es dem Event entspricht und es ersichtlich ist, was in dem Fenster ist. Momentan ist es eben auf diesem Default-Status stehen geblieben.

Alles in ein Datefenster zu schreiben ist keine gute Lösung. Das Problem ist, dass wxFBE keine Änderungen in dem Code erkennen kann. Wenn man nun also den Code "verunstaltet", compiliert es danach einfach gar nicht mehr. Ich werde es sogar noch weiter aufteilen, sodass man, ähnlich den Menü-Events, auch bei allen anderen Events keinen Code, sondern eine leere Datei zu sehen bekommt. Die Inhalte der Dateien kann ich dann intern in die benötigte Struktur eingliedern und lauffähig machen. Das ist zwar nicht optimal, allerdings die einzige Möglichkeit, das halbwegs ohne riesigen Aufwand zu lösen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 55
Wohnort: Bayern

BeitragVerfasst am: 17.01.2014, 17:36    Titel: Antworten mit Zitat

MOD, vielen Dank für die Informationen! Noch eine Frage zum Visual WX-C Designer: Ich möchte gern mit Tabellen arbeiten, um zum Beispiel Wertetabellen von Berechnungen oder sonstige Daten (z.B. Adressen) darstellen oder auch ändern zu können. Da es im Designer kein Listview gibt (d.h. eine "Listbox" mit mehreren Spalten), muss man wohl die Daten innerhalb einer Zeile mit geeigneten Trennzeichen (z.B. ',', ';' oder '#') darstellen. Mir ist klar, wie man Daten aus einer Listbox auswählen und ändern kann, oder wie man neue hinzufügt. Aber wie löscht man Daten? Und wie löscht man den gesamten Inhalt der Listbox, um sie neu zu beschreiben? Dazu habe ich in den Includes nichts gefunden.

Dann habe ich noch eine interessante Funktion "wxListBox_IsSorted()" gefunden. Wozu ist die gut? Gibt es eine Sub, mit der man die Daten in einer Listbox sortieren kann?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 990

BeitragVerfasst am: 17.01.2014, 20:48    Titel: Antworten mit Zitat

Nur weil der Designer kein entsprechendes Element liefert, heißt das nicht, dass es keine Tabellen gibt.

In wx-c gibt es etwa eine wxListCtrl, die mehrspaltig sein kann. Allerdings stimmt damit etwas nicht, weil nur die erste Spalte wirklich bearbeitbar ist. Das ist z. B. an den Property-Eingaben zu sehen, bei denen die Werte links stehen und bearbeitet werden können und rechts der Name des Properties, was ja total unüblich ist.

Alternativ gäbe es auch das wxGrid. Damit habe ich nocht nicht wirklich etwas gemacht, kann also nicht sagen, wie gut oder schlecht das ist. Hier ein Minimalbeispiel:
Code:

#Include "wx-c/wx.bi"

Declare Sub button0_event WXCALL (event As wxEvent Ptr, iListener As wxInt)
Declare Sub button1_event WXCALL (event As wxEvent Ptr, iListener As wxInt)

Dim Shared As wxApp Ptr wx_app
Dim Shared As wxFrame Ptr wx_frame
Dim Shared As wxPanel Ptr wx_panel
Dim Shared As wxGrid Ptr grid1

Function App_OnInit WXCALL() As wxBool
   wx_frame = wxFrame_ctor()
   wxFrame_Create(wx_frame, WX_NULL, -1, wxString_ctorUTF8("Grid Test"), -1, -1, 800, 600, wxFRAME_DEFAULT_STYLE Or  wxCLOSE_BOX Xor wxMAXIMIZE_BOX Xor wxRESIZE_BORDER, NULL )
   wx_panel = wxPanel_ctor2(wx_frame, -1,  -1, -1 ,  -1, -1 , 0, WX_NULL)
   
   ''
   '' create widget GRID
   ''
   grid1 = wxGrid_ctorFull(wx_panel, -1, 10, 10, 700, 300, 0, WX_NULL)
   wxGrid_CreateGrid(grid1, 5, 5, 1)
   wxGrid_AutoSize(grid1)
   
   wxWindow_Show(wx_frame, 1)
   wxApp_OnInit(wx_app)
   Return 1
End Function

Function App_OnExit WXCALL As wxInt
   Return wxApp_OnExit(wx_app)
End Function


''main
wx_app = wxApp_ctor()
wxApp_RegisterVirtual(wx_app, @App_OnInit, @App_OnExit)
wxApp_Run()



Bezüglich wxListbox: du solltest dir wxControlWithItems ansehen, damit kannst du die Liste bearbeiten.

Wozu die IsSorted() Funktion da ist, kann ich dir nicht sagen. In der wxWidgets Doku kommt die nicht vor und eine allgemeine Suche im Internet zeigt zwar, dass es sie gibt, aber es feht überall eine Beschreibung, was sie macht (vermutlich prüfen, ob die Liste sortiert ist) und wie sie es macht (also die Kriterien, nach denen die Prüfung stattfindet).


Die angekündigten Änderungen an wxFBE habe ich bereits ins SVN Repo committet, welches du auf der Projektseite im Portal findest. Du kannst dort auschecken oder dir das Paket als Zip runterladen und die compile.bat ausführen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 55
Wohnort: Bayern

BeitragVerfasst am: 18.01.2014, 12:15    Titel: Antworten mit Zitat

Vielen Dank, ich werde mich mal Deinen Inputs beschäftigen und mich bei weiteren Fragen wieder melden.
lächeln

Edit:
Der Hinweis auf wxControlWithItems war super, das genügt mir erst mal. Das ist ja eine Fundgrube an Funktionen. Ob ich mich noch in das wxGrid oder das wxListCtrl einarbeite, weiß ich noch nicht. Weiterhin viel Erfolg bei wxFBE!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 55
Wohnort: Bayern

BeitragVerfasst am: 19.01.2014, 12:26    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
Die angekündigten Änderungen an wxFBE habe ich bereits ins SVN Repo committet, welches du auf der Projektseite im Portal findest. Du kannst dort auschecken oder dir das Paket als Zip runterladen und die compile.bat ausführen.


Zip runterladen geht nicht. Fehlermeldung:
Not Found
The requested URL /projektsvnhosting/wxfbe-svn-rev107.tar.gz was not found on this server.
Apache Server at www.freebasic-portal.de Port 80
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5876
Wohnort: Deutschland

BeitragVerfasst am: 19.01.2014, 15:28    Titel: Antworten mit Zitat

Der SVN-Dienst des Portals ist um den Jahreswechsel herum auf einen neuen Server umgezogen. Das "verteilte System" zur Koppelung des SVN-Servers mit dem FreeBASIC-Portal-Websystem ist gerade im Moment leider noch nicht fertig überarbeitet und wieder im Betrieb. Daher z. Zt. bei neuen Revisionen leider die Fehlermeldung.

Man kann das Repository aber über SVN selbst ganz normal auschecken oder exportieren.

Dafür kann man entweder SVN in der Eingabeaufforderung verwenden oder TortoiseSVN (GUI).
Code:
svn export https://svn.freebasic-portal.de/svn/wxfbe

und schon bekommt man die neuste Version auf den eigenen PC. lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 990

BeitragVerfasst am: 19.01.2014, 15:52    Titel: Antworten mit Zitat

Danke Sebastian, für die Antwort.

Ja, daran habe ich leider nicht gedacht, dass es ja die Umstellung gab.
SVN Client ist eine gute Idee, vor allem als Programmierer. wxFBE Revisionen sind durchgängig compilier- und ausführbar, also keine Angst, dass das nicht klappt.

Alternativ könnte man die HTTP-Darstellung des Repos mit sowas wie dem DownloadHelper im Firefox komplett downloaden.

Ich denke aber auch, dass ich gleich mal einen Build erstelle und ihn hochlade, dann kannst du im wxFBE über das UpdateChecker Plugin die neueste Version erfragen und downloaden.

Edit: UpdateChecker sollte nun eine Version von heute melden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 55
Wohnort: Bayern

BeitragVerfasst am: 19.01.2014, 17:00    Titel: Antworten mit Zitat

Super, Update Checker und Update haben funktioniert. Noch eine Frage zu den events: Wenn ich eine Form in den Designer importiere, wird der Event Handler Code richtig angezeigt, nur in der Liste "Ereignisse" ist das Ereignis nicht markiert. Wäre vielleicht für den nächsten Release sinnvoll. Ansonsten: eine super IDE! Vielen Dank!
grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 990

BeitragVerfasst am: 19.01.2014, 17:08    Titel: Antworten mit Zitat

Momentan werden Events, für die kein Code vorhanden ist, nicht gespeichert (was so sicher nicht richtig ist^^), wenn du aber den Event Handler öffnest und änderst und dann speicherst und importierst, dann sind auch die entsprechenden Haken in der Liste gesetzt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 55
Wohnort: Bayern

BeitragVerfasst am: 19.01.2014, 17:33    Titel: Antworten mit Zitat

Ok. Ich schreibe allerdings den Code in den Event Handler in der Regel erst später, wenn das Projekt schon fortgeschrittener ist. In der Regel mach ich das so:

Form exportieren: ---> Datei: MyProject_Form.xml
Code exoprtieren: ---> Datei: MyProject_Form.bas
MyProject_Form.bas kopieren ---> Datei: MyProject.bas. Diese wird weiter bearbeitet, einschließlich Code für die Event Handler, wenn alle dazu notwendigen Variablen, Prozeduren usw. definiert sind.

Diese Vorgehensweise ermöglicht auch nachträgliche Änderungen im Design mit dem Form Designer, ohne dass beim Exportieren des Codes aus dem Form Designer der schon editierte Code überschrieben wird. Man muss nur die Änderungen aus der Datei MyProject_Form.bas in die Datei MyProject.bas übernehmen.

Noch eine Anregung:
Im WX-C-Designer, Ordner "examples", befinden sich viele gute Beispiele. Könntest du die nicht für wxFBE in einem Beispielordner übernehmen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 990

BeitragVerfasst am: 19.01.2014, 17:52    Titel: Antworten mit Zitat

Wie gesagt, das aktuelle Verhalten ist sicher nicht korrekt, wenn auch nicht gänzlich falsch. Wird auf jeden Fall gefixt werden. zwinkern

Ich kann die examples gerne übernehmen, vermutlich dann in den designer-Ordner. Allerdings werde ich die zunächst mit wxFBE testen müssen.

Übrigens: die wx Hilfe ist nun auch im wxFBE Paket vorhanden.
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 -> Bibliotheken Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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