[ Pobierz całość w formacie PDF ]
* wykres na podstawie maksymalnej wartości.
Część IV Rozbudowa GTK+
504
*/
void WypelnijUzytk ()
{
gchar *strWartosc[4];
gchar bufor0[88];
gchar bufor1[88];
gchar bufor2[88];
long nMaks;
typDaneWykresu daneWykresu;
/* --- Buforowane wartości --- */
strWartosc[0] = bufor0;
strWartosc[1] = bufor1;
strWartosc[2] = bufor2;
strWartosc[3] = NULL;
/* --- Jeśli nie ma jeszcze c-listy użytkowników... --- */
if (clistaUzytk == NULL) {
/* --- Tworzymy c-listę z nagłówkami --- */
clistaUzytk = gtk_clist_new_with_titles (4, szTytulyUzytk);
/* --- Pokazujemy nagłówki --- */
gtk_clist_column_titles_show (GTK_CLIST (clistaUzytk));
/* --- Ustawiamy szerokość kolumn. --- */
gtk_clist_set_column_width (GTK_CLIST (clistaUzytk), 0, 80);
gtk_clist_set_column_width (GTK_CLIST (clistaUzytk), 1, 80);
gtk_clist_set_column_width (GTK_CLIST (clistaUzytk), 2, 80);
/* --- Justujemy kolumny --- */
gtk_clist_set_column_justification (GTK_CLIST (clistaUzytk),
0, GTK_JUSTIFY_LEFT);
gtk_clist_set_column_justification (GTK_CLIST (clistaUzytk),
1, GTK_JUSTIFY_RIGHT);
gtk_clist_set_column_justification (GTK_CLIST (clistaUzytk),
2, GTK_JUSTIFY_RIGHT);
/* --- Dodajemy c-listÄ™ do strony notatnika. --- */
gtk_container_add (GTK_CONTAINER (stronaUzytk), clistaUzytk);
}
/* --- Obchodzimy drzewo, aby wyświetlić wartości tekstowe
Drzewa, c-listy i zakładki
505
i znalezć wartość maksymalną --- */
nMaks = 0;
g_tree_traverse (drzewoUzytk, PokazDaneUzytk, G_IN_ORDER, &nMaks);
/* -- Wypełniamy strukturę dla "graficznego" obchodu drzewa --- */
daneWykresu.nMaksRozmiar = nMaks;
daneWykresu.kontrolka = clistaUzytk;
daneWykresu.rzad = 0;
/* --- Wyświetlamy wykresy --- */
g_tree_traverse (drzewoUzytk, PokazWykresUzytk, G_IN_ORDER,
&daneWykresu);
gtk_widget_show_all (GTK_WIDGET (clistaUzytk));
}
Podsumowanie
Teraz możemy korzystać z bardziej skomplikowanych kontrolek, aby
tworzyć bardziej interesujące aplikacje. Kontrolka GtkTree wyświetla
informacje w postaci przypominającej drzewo. Można oglądać wszystkie
gałęzie drzewa, albo rozwinąć tylko te, które zawierają żądane informa-
cje. Kontrolka GtkNotebook przydaje się do wyświetlania wielu stron,
które mogą być przełączane przez użytkownika albo samą aplikację.
Możemy ukryć zakładki notatnika i sterować wyświetlaniem stron
z wnętrza programu. Kontrolka GtkClist znakomicie nadaje się do wy-
świetlania wielu kolumn danych, zazwyczaj pochodzących z bazy da-
nych. W kontrolce można mieszać grafikę i tekst, co uprzyjemnia prze-
glÄ…danie informacji.
[ Pobierz całość w formacie PDF ]