Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux: ПолноС руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 134

Автор ДСнис ΠšΠΎΠ»ΠΈΡΠ½ΠΈΡ‡Π΅Π½ΠΊΠΎ

 i++;

 sprintf(msg, "Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ: %d Ρ€Π°Π·(Π°)", i);

 gtk_label_set_text(GTK_LABEL(label), msg);

}

Π”ΡƒΠΌΠ°ΡŽ, тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ясСн Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². НуТно лишь ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для события delete_event.

gtk_signal_connect(GTK_OBJECT(window), "delete_event",

 GTK_SIGNAL_FUNC(delete_event), NULL);

gtk_signal_connect(GTK_OBJECT(window), "destroy",

 GTK_SIGNAL_FUNC(destroy), &ctrl);

Если Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ FALSE, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° функция destroy(), которая ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ ΠΎΠΊΠ½ΠΎ. ΠœΡ‹ пСрСписали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ delete_event() Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π° TRUE, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ функция destroy() Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π°. Но Π² Ρ‚Π°ΠΊΠΎΠΌ случаС нашС ΠΎΠΊΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ закроСтся, поэтому Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ позаботился ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΊΠ½Π°. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ функция quit_confirm(), ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

gint delete_event(GtkWidget *widget, GdkEvent *event,

 gpointer data) {

 quit_confirm(widget);

 return(TRUE);

}

Рис. 23.6. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°

Рис. 23.7. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 4 Ρ€Π°Π·Π°

Рис. 23.8. Π”ΠΈΠ°Π»ΠΎΠ³ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ΠΊΠ½ΠΎΠΏΠΎΠΊ Π”Π° ΠΈ НСт Π΄ΠΈΠ°Π»ΠΎΠ³Π°:

gtk_signal_connect_object(GTK_OBJECT(yes_button),

 "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy),

 (gpointer)widget);

gtk_signal_connect_object(GTK_OBJECT(no_button), "clicked",

 GTK_SIGNAL_FUNC(gtk_widget_destroy),(gpointer)quit_form);

Кнопка yes_button Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ gtk_widget_destroy() ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (gpointer)widget, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния, Π° ΠΊΠ½ΠΎΠΏΠΊΠ° no_button ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ gtk_widget_destroy() ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (gpointer)quit_form. ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠΊΠ½ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ этой ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ само ΠΎΠΊΠ½ΠΎ нашСго Π΄ΠΈΠ°Π»ΠΎΠ³Π°.

23.4.7. МСню

МСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠΈΡΠ°Ρ‚ΡŒ довольно Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ, поэтому для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ мСню Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ студиСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ графичСского интСрфСйса Glade.

23.4.8. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ Π²ΠΈΠ΄ΠΆΠΈΡ‚ΠΎΠ²

GtkObject

+GtkWidget

| +GtkMisc

| | +GtkLabel

| | | +GtkAccelLabel

| | | `GtkTipsQuery

| | +GtkArrow

| | +GtkImage

| | `GtkPixmap

| +GtkContainer

| | +GtkBin

| | | +GtkAlignment

| | | +GtkFrame

| | | | `GtkAspectFrame

| | | +GtkButton

| | | | +GtkToggleButton

| | | | | `GtkCheckButton

| | | | | `GtkRadioButton

| | | | `GtkOptionMenu

| | | +GtkItem

| | | | +GtkMenuItem

| | | | | +GtkCheckMenuItem

| | | | | | `GtkRadioMenuItem

| | | | | `GtkTearoffMenuItem

| | | | +GtkListItem

| | | | `GtkTreeItem

| | | +GtkWindow

| | | | +GtkColorSelectionDialog

| | | | +GtkDialog

| | | | | `GtkInputDialog

| | | | +GtkDrawWindow

| | | | +GtkFileSelection

| | | | +GtkFontSelectionDialog

| | | | `GtkPlug

| | | +GtkEventBox

| | | +GtkHandleBox

| | | +GtkScrolledWindow

| | | `GtkViewport

| | +GtkBox

| | | +GtkButtonBox

| | | | +GtkHButtonBox

| | | | `GtkVButtonBox

| | | +GtkVBox

| | | | +GtkColorSelection

| | | | `GtkGammaCurve

| | | `GtkHBox

| | | +GtkCombo

| | | `GtkStatusbar

| | +GtkCList

| | | `GtkCTree

| | +GtkFixed

| | +GtkNotebook

| | | `GtkFontSelection

| | +GtkPaned

| | | +GtkHPaned

| | | `GtkVPaned

| | +GtkLayout

| | +GtkList

| | +GtkMenuShell

| | | +GtkMenuBar

| | | `GtkMenu

| | +GtkPacker

| | +GtkSocket

| | +GtkTable

| | +GtkToolbar

| | `GtkTree

| +GtkCalendar

| +GtkDrawingArea

| | `GtkCurve

| +GtkEditable

| | +GtkEntry

| | | `GtkSpinButton

| | `GtkText

| +GtkRuler

| | +GtkHRuler

| | `GtkVRuler

| +GtkRange

| | +GtkScale

| | | +GtkHScale

| | | `GtkVScale

| | `GtkScrollbar

| | +GtkHScrollbar

| | `GtkVScrollbar

| +GtkSeparator

| | +GtkHSeparator

| | `GtkVSeparator

| +GtkPreview

| `GtkProgress

| `GtkProgressBar

+GtkData

| +GtkAdjustment

| `GtkTooltips

`GtkItemFactory

Π“Π»Π°Π²Π° 24

Бтудия Glade

24.1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Glade?

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ рассмотрСли Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС Π²ΠΈΠ΄ΠΆΠΈΡ‚Ρ‹ ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС сигналы, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рассмотрСнныС Π²ΠΈΠ΄ΠΆΠΈΡ‚Ρ‹. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎ: для Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΈΠ΄ΠΆΠΈΡ‚ ΠΈ «с Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Сдят», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сигнал ΠΈ функция-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ имя Π²ΠΈΠ΄ΠΆΠΈΡ‚Π°, имя сигнала ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚Π° ΠΈΠ»ΠΈ иная маска сигнала, Π²Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ придСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π—Π° вас всС сдСлаСт студия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ графичСского интСрфСйса Glade. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ имя Π²ΠΈΠ΄ΠΆΠΈΡ‚Π°? Π’Π°ΠΌ достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ Π²ΠΈΠ΄ΠΆΠΈΡ‚ ΠΈΠ· ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ прСдставляСтся Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π±ΡƒΠΌΠ°ΠΆΠΊΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ собой ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячССк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Glade, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ всС Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ собой. Если Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ (ΠΈΠ»ΠΈ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅) имя Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π²Π°ΠΌ сигнала, Glade ΠΏΡ€ΠΈ написании ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ сигнал ΠΈΠ· списка. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ событиС, Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: Glade Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ доступныС маски, Π½ΠΎ ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΈΡ… описаниС. Код Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Glade Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ β€” Π²Π°ΠΌ лишь Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Glade ΠΏΠΎΠΊΠ° Π΅Ρ‰Π΅ Π½Π΅ научился Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ваши мысли.

Π§Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Glade? ΠŸΡ€ΠΎΡΡ‚ΠΎ установитС ΠΏΠ°ΠΊΠ΅Ρ‚ glade (ΠΎΠ½ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° соврСмСнных дистрибутивов) ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ, ОсобСнно приятно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Glade Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅ΠΌ программистам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ срСдами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Delphi ΠΈΠ»ΠΈ Visual Π‘.

24.2. Знакомство с Glade

НашС знакомство с Glade ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°, Π½ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с интСрфСйсом самой студии. ПослС запуска Glade Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Ρ€ΠΈ ΠΎΠΊΠ½Π°:

♦ Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Glade β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, создания, открытия, сохранСния, указания ΠΎΠΏΡ†ΠΈΠΉ.

♦ ΠŸΠ°Π»ΠΈΡ‚Ρ€Π° β€” Π½Π°Π±ΠΎΡ€ Π²ΠΈΠ΄ΠΆΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

♦ Π‘войства β€” ΠΎΠΊΠ½ΠΎ свойств Π²ΠΈΠ΄ΠΆΠΈΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ свойства Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠΈΡ‚Π°.

Рис. 24.1. Бтудия Glade

ΠŸΠ°Π»ΠΈΡ‚Ρ€Π° содСрТит Ρ‚Ρ€ΠΈ Π½Π°Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΆΠΈΡ‚ΠΎΠ²:

♦ GTK+ Основа β€” основныС Π²ΠΈΠ΄ΠΆΠΈΡ‚Ρ‹;

♦ GTK+ ДополнСния β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠΈΡ‚Ρ‹;

♦ Gnome β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠΈΡ‚Ρ‹ для создания GNOME-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

К основным Π²ΠΈΠ΄ΠΆΠΈΡ‚Π°ΠΌ относятся:

♦ ΠžΠΊΠ½ΠΎ β€” основной элСмСнт вашСго прилоТСния.

♦ Π“Π»Π°Π²Π½ΠΎΠ΅ мСню β€” строка мСню прилоТСния.

♦ ΠŸΠ°Π½Π΅Π»ΡŒ инструмСнтов β€” Π½Π° этой ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находятся ΠΊΠ½ΠΎΠΏΠΊΠΈ быстрого доступа ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ элСмСнтам Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈ Ρ‚.Π΄.

Рис. 24.2. ΠŸΠ°Π»ΠΈΡ‚Ρ€Π°

♦ ΠŸΠΎΠ»Π·ΡƒΠ½ΠΎΠΊ β€” позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠΈΡ‚ΠΎΠ²; ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ»Π·ΡƒΠ½ΠΎΠΊ ставится ΠΌΠ΅ΠΆΠ΄Ρƒ двумя панСлями инструмСнтов.

♦ ΠœΠ΅Ρ‚ΠΊΠ° β€” надпись.

♦ ΠŸΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° тСкста β€” Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ само Π·Π° сСбя.

♦ ΠšΠΎΠΌΠ±. список β€” ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ список (Combo Box).

♦ Π’Скстовый бокс β€” ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для Π²Π²ΠΎΠ΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк тСкста; ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС основы простого тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

♦ ΠšΠ½ΠΎΠΏΠΊΠ° β€” Π΄ΡƒΠΌΠ°ΡŽ, этот Π²ΠΈΠ΄ΠΆΠΈΡ‚ Π² коммСнтариях Π½Π΅ нуТдаСтся.

♦ ΠšΠ½ΠΎΠΏΠΊΠ°-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ β€” ΠΊΠ½ΠΎΠΏΠΊΠ°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.

♦ Π€Π»Π°ΠΆΠΎΠΊ β€” нСзависимый ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.

♦ Π Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ° β€” зависимый ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.

♦ Π‘писок β€” простой список.

♦ Π”Π΅Ρ€Π΅Π²ΠΎ β€” иСрархичСская схСма элСмСнтов.

♦ ΠšΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΉ список β€” это список CList ΠΈΠ· Π³Π»Π°Π²Ρ‹ 23.

♦ ΠšΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ β€” Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΌ списком.

♦ ΠœΠ΅Π½ΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² β€” Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список ΠΎΠΏΡ†ΠΈΠΉ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ список ComboBox (см. Ρ€ΠΈΡ. 24.3, Ρ‚ΠΈΠΏ ΠΎΠΊΠ½Π°).

♦ ΠšΡ€ΡƒΡ‚ящаяся ΠΊΠ½ΠΎΠΏΠΊΠ° β€” Π½Π΅ знаю, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Π΅ Ρ‚Π°ΠΊ Π½Π°Π·Π²Π°Π»ΠΈ, Π½Π° самом Π΄Π΅Π»Π΅ это ΠΏΠΎΠ»Π΅ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ/увСличСния значСния (ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ высоты ΠΎΠΊΠ½Π°, см. рис. 24.3).

Рис. 24.3. Окно свойств

♦ Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния β€” Π²Ρ‹ использовали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ GnoRPM для установки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²? Пока ΠΏΠ°ΠΊΠ΅Ρ‚ устанавливался, Π² нСбольшом окошкС ΠΏΠΎΠ»Π·Π»Π° нСбольшая шкала, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰Π°Ρ нас ΠΎ процСссС установки. Π­Ρ‚ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния,

♦ Π‘Ρ‚Ρ€ΠΎΠΊΠ° статуса β€” нСбольшая панСль с тСкстовым ΠΏΠΎΠ»Π΅ΠΌ, Ρ‚ΠΎΡ‡Π½Π΅Π΅, надписью, содСрТащСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ статусС прилоТСния.