jak uzywac Glade?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
daavith
Piegowaty Guziec
Piegowaty Guziec
Posty: 9
Rejestracja: 25 mar 2008, 14:32
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

jak uzywac Glade?

Post autor: daavith »

a wiec...

tworze nowy projekt, wybieram c++.
tworze "window" czyli okienko :). Potem wstawiam np buttona, i tu jest problem...
zaawsze rozciaga sie na cala dlugosc i szerokosc okna... nie da sie go zmniejszyc.
o co chodzi?
px33
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 119
Rejestracja: 14 wrz 2006, 18:02
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: jak uzywac Glade?

Post autor: px33 »

Container (tabelę, skrzynkę czy stałe pozycje, które dają efekt podobny do tego z VS czy Delphi) wstaw.
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: jak uzywac Glade?

Post autor: el.pescado »

GtkWindow dziedziczy z GtkBin - czyli kontenera, który zawiera tylko jedno dziecko. Jeśli się chce wstawić więcej niż jedno, trzeba wstawić jakiś inny kontener, mogący pomieścić więcej niż jeden widget potomny. Poniżej można znaleźć listę dostępnych kontenerów:
http://www.kplug.org/glade_tutorial/gla ... #container
W razie potrzeby, do tego kontenera można wstawić dalsze kontenery. Najczęściej używa się GtkVBox, który umieszcza widgety jeden pod drugim (np. okno aplikacji, u góry menu, pod spodem toolbar, potem właściwa zawartość okna, na dole pasek stanu), GtkHBox - to samo tylko umieszcza potomków jeden obok drugiego (np. okno dialogowe: po lewej ikona (np. ostrzeżenia), po prawej wiadomość tekstowa), GtkTable, które rozmieszcza widgety w wierszach i kolumnach (np. okna ustawień - w lewej kolumnie etykiety, w prawej pola tekstowe).

Jakie są korzyści takiego rozwiązania? Nigdy nie zna się dokładnego rozmiaru widgetów - wielkość przycisku może być zależna od motywu, rozmiaru fontu, a także używanego języka (jedno słowo, którkie w języku angielskim, w niemieckim może mieć o wiele dłuższy odpowiednik). W przypadku ręcznego rozmieszczania widgetów, całość może się zupełnie rozjechać. Gtk natomiast sam rozmieści zawartość okna, tak żeby wszystko się mieściło.
px33
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 119
Rejestracja: 14 wrz 2006, 18:02
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: jak uzywac Glade?

Post autor: px33 »

Jakby coś - w programowaniu dla Windows przechodzi się już na system kontenerów (p. XAML i WPF), więc jesteśmy pionierami :)
maxyan
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 12 kwie 2008, 23:19
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: jak uzywac Glade?

Post autor: maxyan »

A glade generuje interfejsy właśnie dla WPF? To znaczy że jeśli mam Visual C#, albo Mono to mogę korzystać z interfejsów przygotowanych przez glade? W Visual są specjalne szablony projektów, ale nie testowałem bo przestraszyłem się znaczników XML (czy jak się okazuje XAML). Będę musiał zbadać sprawę.
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: jak uzywac Glade?

Post autor: el.pescado »

W Mono jak najbardziej można korzystać z Glade. Korzystając z libglade# można w trakcie działąnia programu załadować interfejs z pliku *.glade, widget same się podepną pod odpowiednie zmienne:

Kod: Zaznacz cały

[Glade.Widget]      
Button button1;
Pod warunkiem, oczywiście, że korzystasz z GTK#, a nie WPF.
piotrek.s
Piegowaty Guziec
Piegowaty Guziec
Posty: 11
Rejestracja: 02 cze 2007, 15:28
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Kontakt:

Odp: jak uzywac Glade?

Post autor: piotrek.s »

Domyślam się, że to jakoś na pewno banalne jest, ale ja czegoś nie potrafię przeskoczyć przegrzebując się już 2 dni przez google...

Jak kurcze załączyć kod wygenerowany przez glade do programu pisanego w C/C++? Znalazłem coś takiego na stronie http://www.jamesh.id.au/software/libglade:
#include <gtk/gtk.h>
#include <glade/glade.h>

void
some_handler(GtkWidget *widget)
{
/* a handler referenced by the glade file. Must not be static
* so that it appears in the global symbol table. */
}

int
main(int argc, char **argv)
{
GladeXML *xml;
GtkWidget *widget;

gtk_init(&argc, &argv);
xml = glade_xml_new("filename.glade", NULL, NULL);

/* get a widget (useful if you want to change something) */
widget = glade_xml_get_widget(xml, "widgetname");

/* connect signal handlers */
glade_xml_signal_autoconnect(xml);

gtk_main();

return 0;
}
Ale mi nie znajduje glade.h, chociaż mam już chyba wszystko z repozytoriów zainstalowane co ma w nazwie glade i dev...
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: jak uzywac Glade?

Post autor: el.pescado »

Musisz podać odpowiednie flagi dla kompilatora i linkera.

EDIT:
http://library.gnome.org/devel/libglade ... ade-basics
piotrek.s
Piegowaty Guziec
Piegowaty Guziec
Posty: 11
Rejestracja: 02 cze 2007, 15:28
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Kontakt:

Odp: jak uzywac Glade?

Post autor: piotrek.s »

Stokrotne dzięki :) Właśnie tego szukałem.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości