シンプルな例
この例では、コンボボックスを作成して
キー/値 の組の配列を追加し、現在選択されている組をラベルに表示します。
例 46-1シンプルな Gtk2_IndexedComboBox の例 <?php
require_once 'Gtk2/IndexedComboBox.php';
// このデータを表示します
$arData = array(
1 => 'Germany',
2 => 'United Kingdom',
3 => 'Spain',
4 => 'France'
);
// コンボを作成し、配列を設定します
$combo = new Gtk2_IndexedComboBox();
$combo->set_array($arData);
// 二番の要素をアクティブにします
$combo->set_active_key(2);
// 変更を追いかけます
$combo->connect('changed', 'comboChanged', $lbl);
function comboChanged($combo, $lbl)
{
$lbl->set_text(
"コンボが変更されました:\r\n"
. 'キー: ' . $combo->get_active_key() . "\r\n"
. '値: ' . $combo->get_active_text()
);
}
// 変更を表示するラベル
$lbl = new GtkLabel("状態\r\n\r\n");
// 標準の手順
$vbox = new GtkVBox();
$vbox->pack_start($combo);
$vbox->pack_start($lbl);
$wnd = new GtkWindow();
$wnd->connect_simple('destroy', array('Gtk', 'main_quit'));
$wnd->add($vbox);
$wnd->show_all();
Gtk::main();
?> |
|
まず最初に、新しいコンボウィジェットのオブジェクトを作成します。
お望みならコンストラクタにデータの配列を渡すこともできますが、
ここでは set_array() メソッドを使用して渡します。
データを渡したら、ID 2 のデータをアクティブ
(選択された状態) にします。
選択内容が変更されると、そのキーと値をコンボボックスの下のラベルに表示します。
キーを取得するには get_active_key() を、そして値を取得するには
get_active_text() を使用します。