При големи проекти е възможно да дефинирате много прозорци във един единствен файл .glade, и всички те ще бъдат заредени със зареждането на файла .glade. Това обаче: a) забавя стартирането на вашата програма и б) веднага ще изобрази всички прозорци ако не зададен параметъра за видимост да бъде "скрит". Продължавайки нататък, може дори да ви се прииска чрез signal_autoconnect_instance() само част от файлът .glade да е обект, а друга част от този файл да бъде свързана към друг обект.
Решението на този пробелм е във вторият параметър на конструктура GladeXML: Прехвърлете id само на така наречения root уйджет и само тази част от .glade файла ще бъде зареден.
Пример 4.6. Частично зареждане на файл .glade
<?php //Loading a part of the glade file only //We want "btnClose" to be the root of the widget tree to load $glade = new GladeXML('helloglade.glade', 'btnClose'); //That will work $btn = $glade->get_widget('btnClose'); //This will fail, as the window isn't loaded: $window = $glade->get_widget('wndClose'); //Output is NULL var_dump($window); ?> |