/* Π ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ ΡΡΠ΅Π΅ΠΊ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠΈΠ½Π³Π° */
gtk_table_attach_defaults(GTK_TABLE(table),
label, 0, 1, 0, 1);
gtk_widget_show(label);
label = gtk_label_new("DNS #1: ");
gtk_table_attach_defaults(GTK_TABLE(table),
label, 0, 1, 1, 2);
gtk_widget_show(label);
label = gtk_label_new("DNS #2: ");
gtk_table_attach_defaults(GTK_TABLE(table),
label, 0, 1, 2, 3);
gtk_widget_show (label);
/* ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π½Π°Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Delphi,
Ρ Π½Π°Π·Π²Π°Π» ΠΌΠ°ΡΡΠΈΠ² edit[]*/
for (i=0; i<3; i++) {
/* ΠΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ */
edit[i] = gtk_entry_new();
/* ΠΡΠ»ΠΈ Π·Π°Π±ΡΡΡ ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅
ΡΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ */
gtk_entry_set_editable(GTK_ENTRY(edit[i]), 1);
/* ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΎΠ΄Π½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° ΡΠΈΠ³Π½Π°Π» activate -
Π½Π°ΠΆΠ°ΡΠΈΠ΅ Enter*/
gtk_signal_connect(GTK_OBJECT(edit[i]), "activate",
GTK_SIGNAL_FUNC(enter_callback), edit[i]);
/* ΠΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ edit[i] Π² ΡΠ°Π±Π»ΠΈΡΡ */
gtk_table_attach_defaults (GTK_TABLE(table),
edit[i], 1, 2, i, i+1);
/* ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ */
gtk_widget_show(edit[i]);
}
/* Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ "OK", ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ,
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ */
button = gtk_button_new_with_label("OK");
gtk_table_attach_defaults(GTK_TABLE(table),
button, 2, 3, 0, 1);
gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(writetofile), NULL);
gtk_widget_show(button);
/* Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Quit */
button = gtk_button_new_with_label("Quit");
gtk_table_attach_defaults(GTK_TABLE(table),
button, 2, 3, 2, 3);
gtk_signal_connect(GTK_OBJECT(button),"clicked",
GTK_SIGNAL_FUNC(delete_event), NULL);
gtk_widget_show(button);
gtk_widget_show(table); /* ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ */
gtk_widget_show(window); /* ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ */
/* ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ GTK-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ */
gtk_main();
return 0;
}
Π― ΡΡΠ°ΡΠ°Π»ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠ΅-ΡΡΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ Π² ΡΡΠΌΠ°Π½Π΅. ΠΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΠ΅Π΅ΠΊ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ 3Γ3:
table = gtk_table_new(3, 3, TRUE);
0 1 2 3
Domain ΠΠΎΠ»Π΅ OK
1
DNS1 ΠΠΎΠ»Π΅
2
DNS2 ΠΠΎΠ»Π΅ Quit
3
Π‘Π½Π°ΡΠ°Π»Π° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠΎ X, Π·Π°ΡΠ΅ΠΌ β ΠΏΠΎ Y. ΠΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ OK: 2, 3, 0, 1. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ (ΠΌΠ΅ΠΆΠ΄Ρ 2 ΠΈ 3), Π½ΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ (ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ 1).
gtk_table_attach_defaults(GTK_TABLE(table), button,
2, 3, 0, 1);
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ GtkTable Ρ Π½Π΅ Π²ΠΈΠΆΡ ΡΠΌΡΡΠ»Π°: ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Ρ Π΄ΡΠΌΠ°Ρ, Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΠ½Ρ β ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠΈΡΠ° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ gtk_table_attach_defaults(). ΠΡΠ΅ ΡΠ°Π· Π½Π°ΠΏΠΎΠΌΠ½Ρ ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠΈΡΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ, ΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ:
gtk_widget_show (table);
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
$ gcc resolv.Ρ -ΠΎ resolv `gtk-config --cflags` `gtk-config --libs`
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° gtk-config ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ GTK.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
#include <gtk/gtk.h>
ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΉΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² GTK Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, gtk-1.2, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΊΠ°ΠΆΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° gtk-config.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΡ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ (ΡΠ°Π±Π»ΠΈΡΠ° 23.3).
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π’Π°Π±Π»ΠΈΡΠ° 23.3
Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ clicked Π©Π΅Π»ΡΠΎΠΊ pressed ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ° ΠΌΡΡΡΡ (ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΠΏΡΡΠ΅Π½Π°) released ΠΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΏΡΡΠ΅Π½Π° enter Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ leave Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π²ΡΡΠ΅Π» Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ23.4.3. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ Π±ΡΠ²Π°ΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ²: Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ (radio buttons) ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ (checkbuttons). ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π½ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Ρ ΡΠ΅ ΠΆΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΡΡΠΎ ΠΈ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠΎΡΠ΅ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ:
GtkWidget *gtk_check_button_new(void);
GtkWidget *gtk_check_button_new_with_label(gchar * label);
ΠΠ΅ΡΠ²Π°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π±Π΅Π· Π½Π°Π΄ΠΏΠΈΡΠΈ (Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π΄ΠΏΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ), Π° Π²ΡΠΎΡΠ°Ρ β Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π° ΠΎΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ. ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²ΠΈΠ΄ΠΆΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ.
ΠΠ°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
GtkWidget *gtk_radio_button_new(GSList *group);
GtkWidget *gtk_radio_button_new_with_label(GSList *group,
gchar *label);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ group ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΊ Π³ΡΡΠΏΠΏΠ΅. Π ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π³ΡΡΠΏΠΏΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ. ΠΡΡΠΏΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
GSList *gtk_radio_button_group(
GtkRadioButton *radio_button);
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ β ΡΠ°ΠΊ ΠΌΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΌ ΠΏΠ°ΠΌΡΡΡ, Π΅ΡΠ»ΠΈ Π³ΡΡΠΏΠΏ ΠΌΠ½ΠΎΠ³ΠΎ:
button2 = gtk_radio_button_new_with_label(
gtk_radio_button_group(GTK_RADIO_BUTTON(button1)),
"button2");
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
void gtk_toggle_button_set_active(
GtkToggleButton *toggle_button, gint state);
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π»ΠΈΡΡΠΈΠ½Π³ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ΅ΠΌΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ GtkVBox.
ΠΠΈΡΡΠΈΠ½Π³ 23.7. ΠΠ°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ
#include <gtk/gtk.h>
#include <glib.h>
gint close_application( GtkWidget *widget,
GdkEvent * event, gpointer data) {
gtk_main_quit();
return(FALSE);
}
int main(int argc, char *argv[]) {
GtkWidget *window = NULL;
GtkWidget *box1;
GtkWidget *box2;
GtkWidget *button;
GtkWidget *separator;
GSList *group;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect(GTK_OBJECT(window), "delete_event",
GTK_SIGNAL_FUNC(close_application), NULL);
gtk_window_set_title(GTK_WINDOW(window),
"ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²");
gtk_container_set_border_width(GTK_CONTAINER(window), 0);
box1 = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(window), box1);
gtk_widget_show(box1);
box2 = gtk_vbox_new(FALSE, 10);
gtk_container_set_border_width(GTK_CONTAINER (box2), 10);
gtk_box_pack_start(GTK_BOX(box1), box2, TRUE, TRUE, 0);
gtk_widget_show(box2);
button = gtk_radio_button_new_with_label(NULL, "Red Hat");
gtk_box_pack_start(GTK_BOX(box2), button,
TRUE, TRUE, 0);
gtk_widget_show(button);
group = gtk_radio_button_group(GTK_RADIO_BUTTON(button));
button =
gtk_radio_button_new_with_label(group, "Mandrake");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
TRUE);
gtk_box_pack_start(GTK_BOX(box2), button,
TRUE, TRUE, 0);
gtk_widget_show(button);
button = gtk_radio_button_new_with_label(
gtk_radio_button_group(GTK_RADIO_BUTTON(button)),
"ALT Linux");
gtk_box_pack_start(GTK_BOX(box2), button,
TRUE, TRUE, 0);
gtk_widget_show(button);
separator = gtk_hseparator_new();
gtk_box_pack_start(GTK_BOX(box1), separator,
FALSE, TRUE, 0);
gtk_widget_show(separator);
box2 = gtk_vbox_new(FALSE, 10);
gtk_container_set_border_width(GTK_CONTAINER(box2), 10);
gtk_box_pack_start(GTK_BOX(box1), box2, FALSE, TRUE, 0);
gtk_widget_show(box2);
button = gtk_button_new_with_label("OK");
gtk_signal_connect_object(GTK_OBJECT (button),
"clicked", GTK_SIGNAL_FUNC(close_application),
GTK_OBJECT(window));
gtk_box_pack_start(GTK_BOX (box2), button,
TRUE, TRUE, 0);
GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
gtk_widget_grab_default(button);
gtk_widget_show(button);
gtk_widget_show(window);
gtk_main();
return(0);
}
Π ΠΈΡ. 23.4. ΠΠ°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ
23.4.4. Π‘ΠΏΠΈΡΠΎΠΊ
ΠΠΈΠ΄ΠΆΠΈΡ CList ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π―ΡΠ΅ΠΉΠΊΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ ΡΠΏΠΈΡΠΊΠ°. Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ:
GtkWidget *gtk_clist_new(gint columns);
GtkWidget *gtk_clist_new_with_titles(gint columns,
gchar *titles[]);
ΠΠ΅ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π±Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π° Π²ΡΠΎΡΠ°Ρ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ columns Π·Π°Π΄Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
gint gtk_clist_prepend(GtkCList *clist, gchar *text[]);
gint gtk_clist_append(GtkCList *clist, gchar *text[]);