Аргерих Л. О языке РНР. Часть 5. Страница 3


' $windows['search'] = &new GtkWindow(GTK_WINDOW_TOPLEVEL); $windows[ 'search']->set_title("0nline Library Application"); $windows['search']->connect("destroy", "destroyWnd");

$widgets['search']['table'] = GtkTable(5, 2, false);

Следующая часть кода создает графические элементы, с помощью которых пользователь устанвливает критерии поиска и просматривает результаты. GtkCombo - это выпадающее меню со списком различных вариантов. С помо­щью этого элемента выбирается серия книг и колонка базы данных, в кото­рой можно осуществлять поиск. Для вывода результатов поиска использует­ся элемент GtkClist (columned list). Еще надо отметить, что мы соединяем сигнал clicked элемента GtkButton с функцией performSearch(), чтобы при щелчке по кнопке search выполнялся поиск:

$widgets['search']['label_search'] = &new GtkLabel("Search: "); $widgets[' search']['label_series'] - &new GtkLabel("Series: ");

■ $widgets['search']['label_by'] = &new GtkLabel("Search by: ");

-

$series_array - array("6eginners", "Professional", "Early Adopters");

$widgets['search']['search_series'] = &new GtkComboO;

$widgets['search']['search_series']->set_popdown_strings($series_array);

$by = arrayC'ISBN". "Author Name", "Title"); Swidgets['search']['search_by'] = &new GtkComboO; $widgets['search']['search_by']->set_popdown_strings($by);

$widgets[' -

$widgets['search']['search_btn']->connect("clicked", "performSearch"); Stitles = arrayC'Book Title", "Author", "ISBN",

"Series", "No Available", "Price");

-

$widgets['search']['result_list'] = &new GtkCList(6, Stitles); $widgets['search']['result_list']->prepend($temp_entry);

Мы снова используем экземпляр GtkTable, созданный в начале функции, что­бы организовать расположение графических элементов:

$widgets['search']['table']->attach( Swidgetsf'search']['label_search'],

О, 1,

0, 1);

$widgets['search']['table']->attach( $widgets['search' ]['label_series' ],

0, 1,

1, .2);

$widgets[1 search']['table']->attach( $widgets[' search' ]["label_by'],

0,

2, 3);

$widgets['search' ]['table']->attach( $widgets[' search' ][" search_txt' ],

1, 2,

0, 1);

$widgfets[1 search"]['table']->attach( $widgets[' search' ][1 search_series ' ],

1, 2,