PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sinnvolles Arbeiten mit Glade



MrFenix
01.07.2005, 18:17
Hallo,
ich würde gerne ein wenig mit Glade (-2mm) arbeiten. Weiß zufällig jemand, ob es eine sinnvolle Lösung dafür gibt, an einem Projekt an dessen C(++) Source man etwas geändert hat nochmal Interface Änderungen vorzunehmen?
Um ein ganz simples Beispiel zu nennen:
Ein Programm ändert die Caption von einem Label bei Buttondruck und wurde mit Glade-2 erstellt. Jetzt soll ein zweiter Button hinzugefügt werden. Man öffnet das Glade Projekt, platziert den zweiten Button, klickt auf Exportieren. Nun speichert glade die neuen C-Dateien als bla.c.new oder so, aber der handerstellte Source (zum Label ändern) wird nicht mitübernommen.
Also muss man (mehr oder weniger) per Hand den ganzen Kram kopieren und umschreiben.

Ich denke, dass das so unkomfortabel kein Mensch Glade benutzen würde und es eine einfachere Lösung (die ich nur zu blöd bin zu finden ?( ) geben muss.
Danke für jede Hilfe!

Edit: Vielleicht lässt sich irgendwas mit patch oder diff machen (wovon ich auch nicht so dolle begeistert wäre, aber besser als nichts)

pinky
01.07.2005, 19:19
Hallo,
man sollte mit glade keinen code erzeugen sondern "nur" die xml Datei und diese dann mit libglademm in das programm einbinden.

Ich habe schon lange nichts mehr mit gtkmm gemacht, deswegen kann ich dir kein konkretes Beispiel geben, aber in der gtkmm Doku solltest du was passendes finden...

EDIT: Hier gibt es ein gutes Beispiel für C und C++: http://people.debian.org/~rleigh/gtk/ogcalc/

MrFenix
01.07.2005, 20:49
Danke, das Tutorial ist wirklich toll.
Allerdings wenn ich mit so teilweise die Syntax davon anschaue und mir denke den ganzen Kram selbst bei jedem Programm schreiben zu dürfen wird mir irgendwie schlecht. Kann glaube ich verstehen, warum du nichts mit gtkmm machst ;)
Hach was wäre das doch so schön, könnte man in seiner Konsole bleiben.... :oldman
Btw.: Was wird man unter Windows doch verwöhnt. Visual Studio ist um längen schneller wenn man ne GUI machen will als Glade (egal ob in VB oder VC++). Naja mehr skill kann (vorallem bei mir) nicht schaden. Hab ich auch in den Ferien was zu tun :headup:

pinky
01.07.2005, 21:38
Allerdings wenn ich mit so teilweise die Syntax davon anschaue und mir denke den ganzen Kram selbst bei jedem Programm schreiben zu dürfen wird mir irgendwie schlecht. Kann glaube ich verstehen, warum du nichts mit gtkmm machst ;)

gtkmm hat für mich eine große Schwäche. Es gibt keine autoconnect Funktion die die in glade angelegten Signale automatisch mit Funktionen verbindet, bei C und C# geht es. Bei gtkmm wird es von den Entwicklern immer abgelehnt mit der Begründung, dass es im OOP Design nicht vernünftig funktioniert bzw. nicht "mächtig" genug ist. Klar gäbe es einige Einschränkungen, z.B. könnte man dann nicht ein Teil der Signale an Methoden von Klasse A binden und einen anderen Teil an Methoden der Klasse B. Ich denke aber in den meisten Fällen ist das garnicht nötig, da man meistens pro Fenster eine Klasse erzeugen wird in der alle Signale abgehandelt werden und wenn es doch mal nötig wäre, könnte man immernoch auf autoconnect verzichten und die speziellen Signale von Hand verbinden.
In der jetzigen Form von glade + gtkmm muß ich weiterhin alle Widgets die etwas mehr machen als nur da zu sein (also fast alles außer ein paar labels und die Layouts) in der .h deklarieren und in der .cc aus der xml Datei ziehen und alle Signale von Hand verbinden. Mir nimmt glade letztlich also nur das Ausrichten der Widgets ab. Ich will nicht sagen dass das nichts ist, aber eben deutlich weniger als möglich wäre. Deswegen habe ich schon vor einiger Zeit gtkmm aufgegeben, war dann zeitweise bei Qt und bin seit Mono 1.0 bei gtk# gelandet.