Β gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),Β COLUMN_CATALOGUE, "Catalogue", renderer, "text",Β Β COLUMN_CATALOGUE, NULL);Β gtk_container_add(GTK_CONTAINER(window), view);Β gtk_widget_show_all(window); gtk_main();Β return 0;}ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ
GtkTreeViewGtkTreeViewΠΡ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΠΎΠ±Π·ΠΎΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² GTK+ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌ Π½Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ: ΡΡΠ΅Π΄Ρ GNOME. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅Π½Ρ Π² Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ GNOME ΠΈ ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ GNOME ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° GNOME.
ΠΠΈΠ΄ΠΆΠ΅ΡΡ GNOME
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ GTK+ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΡΡΠΎΠ»Ρ, Ρ.Π΅. GTK+ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΡΠ΅Π΄Π΅ GNOME ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux. ΠΡΠΈΡΠΈΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² GTK+ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΠΠ‘ Windows ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ GTK+ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΠΎΠ»ΠΎΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ Π°ΠΏΠΏΠ»Π΅ΡΡ (Π°ΠΏΠΏΠ»Π΅ΡΡ β ΡΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ΡΡ Π½Π° ΠΊΡΠ°Π΅Π²ΡΡ ΠΏΠ°Π½Π΅Π»ΡΡ (edge panels)).
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ΅Π΄Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ GNOME, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ GTK+ ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΠ΅ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌΠΈ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² GNOME.
ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ GNOME ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΎΡΡΡΠΏΠ°Π»ΠΈ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ GTK+. ΠΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ
gnome_program_initgtk_initΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
app_idΠ°ΡΡ_versionmodule_info<b>GnomeProgram* gnome_program_init(const char *app_id,</b><b>Β const char *app_version, const GnomeModuleInfΠΎ *module_infΠΎ,</b><b>Β int argc, char **argv, const char *first_property_name, ...);</b>ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΡΡΡΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 16.8.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° GNOME, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ GNOME-Π·Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
GtkWindowGnomeAppΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ Π΅Π΅ gnome1.c:
#include <gnome.h>int main(int argc, char* argv[]) {Β GtkWidget *app;Β gnome_program_init("gnome1", "1.0", MODULE, argc, argv, NULL);Β app = gnome_app_new("gnome1", "The Window Title");Β gtk_widget_show(app);Β gtk_main();Β return 0;}ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ GNOME, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libgnomeui ΠΈ libgnome Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ
pkg-config$ <b>gcc gnome1.Ρ -ΠΎ gnome1 `pkg-config --cflags --libs libgnome-2.0 libgnomeui-2.0`</b>ΠΠΈΠ΄ΠΆΠ΅Ρ
GnomeAppGtkWindowGnomeAppGtkWindowΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² GTK+ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΡΠ΅Π΄Π° GNOME ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ. Π ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ GTK+.
ΠΠ΅Π½Ρ GNOME
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΡ ΡΡ ΠΌΠ΅Π½Ρ Π² ΡΡΠ΅Π΄Π΅ GNOME Π½Π° ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠ½ΠΊΡ Π² ΡΡΡΠΎΠΊΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ
GNOMEUIInfoΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΡΡΡΠΊΡΡΡ
GNOMEUIInfoΠ‘ΡΡΡΠΊΡΡΡΠ°
GNOMEUIInfo<b>typedef struct {</b><b>Β GnomeUIInfoType type;</b><b>Β gchar const *label;</b><b>Β gchar const *hint;</b><b>Β gpointer moreinfΠΎ;</b><b>Β gpointer user_data;</b><b>Β gpointer unused_data;</b><b>Β GnomeUIPixmapType pixmap_type;</b><b>Β gconstpointer pixmap_info;</b><b>Β guint accelerator_key;</b><b>Β GdkModifierType ac_mods;</b><b>Β GtkWidget *widget;</b><b>} GnomeUIInfo;</b>ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΡΡΡΠΊΡΡΡΠ΅,
typeGnomeUIInfΠΎΠ’ΡΡΠ΅Π’Π°Π±Π»ΠΈΡΠ° 16.3
Π’ΠΈΠΏΡ GnomeUIInfΠΎΠ’ΡΡΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
GNOME_APP_UI_ENDOFINFO | ΠΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ |
GNOME_APP_UI_ITEM | ΠΠ±ΡΡΠ½ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ Π΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ GNOME_APP_UI_RADIOITEMS |
GNOME_APP_UI_TOGGLEITEM | ΠΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ-ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ-ΡΠ»Π°ΠΆΠΊΠ° |
GNOME_APP_UI_RADIOITEMS | ΠΡΡΠΏΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ |
| GNOME_APP_UI_SUBTREE | ΠΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ. ΠΠ°Π΄Π°ΠΉΡΠ΅ moreinfo |
GNOME_APP_UI_SEPARATOR | ΠΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ Π² ΠΌΠ΅Π½Ρ |
GNOME_APP_UI_HELP | Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΌ ΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΌΠ΅Π½Ρ Help (Π‘ΠΏΡΠ°Π²ΠΊΠ°) |
GNOME_APP_UI_BUILDER_DATA | ΠΠ°Π΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ (builder data) Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² |
GNOME_APP_UI_ITEM_CONFIGURABLE | ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ |
GNOME_APP_UI_SUBTREE_STOCK | Π’Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ GNOME_APP_UI_SUBTREE |
GNOME_APP_UI_INCLUDE | Π’Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ GNOME_APP_UI_SUBTREE |