ツールバー

2010年2月11日

ファイル

06-toolbar.tar.gz

内容

ツールバーを作ります。

	toolbar = gtk_toolbar_new();
	gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
	gtk_box_pack_start(GTK_BOX(box), toolbar, FALSE, FALSE, 0);

よく見るようなアイコンが並んだスタイルのツールバーを作ります。

アイコンを作ります。

	icon = gtk_image_new_from_file("adelie.png");

PNG ファイルからアイコンを作成しています。

ツールバーにボタンを追加します。

	buttonIcon = gtk_toolbar_append_element(
	  GTK_TOOLBAR(toolbar),
	  GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
	  NULL,
	  "Icon",
	  "toggle button",
	  "",
	  icon,
	  GTK_SIGNAL_FUNC(buttonIconPress),
	  toolbar);

第 2 引数はボタンのタイプの指定で、ここではトグルボタン (ON/OFF の切り替えができる) を指定しています。ただのボタンにするには GTK_TOOLBAR_CHILD_BUTTON を指定します。第 4 引数はボタンの文字列で、アイコンスタイルのツールバーでは表示されません。第 5 引数は、アイコン上にマウスポインタを置いたときに表示される説明用の文字列です。第 8, 9 引数でコールバック関数、それに渡すものを指定しています。

ツールバーにスペースを追加するには、つぎのようにします。

	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));

ボタンのコールバック関数では、トグルボタンの ON/OFF を調べて状態を表示しています。

void buttonIconPress(GtkWidget *buttonIcon, GtkWidget *toolbar)
{
	if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(buttonIcon))){
		printf("TRUE\n");
	}else{
		printf("FALSE\n");
	}
}

GTK+ プログラミング 目次へ