м (MaZaHaKaGame переименовал страницу Много-оконный интерфейс в InnerCore/Введение в GUI/Многооконный интерфейс) |
|
(не показана 1 промежуточная версия этого же участника) | |
(нет различий)
|
Третий тип окон это Многооконный. Также он называется WindowGroup.
Его объект описания такой же как и у обычных Однооконных Интерфесйов. Но имеет другой вид использования.
var group = new UI.WindowGroup();
var container = new UI.Container();
// задаем описание 1 окна ...
var window1 = new UI.Window({
location: { x: число, y: число },
drawing: [/* элементы отрисовки фона */],
elements: {/* описание элементов */}
});
// задаем описание 2 окна ...
var window2 = new UI.Window({
location: { x: число, y: число },
drawing: [/* элементы отрисовки фона */],
elements: {/* описание элементов */}
});
group.addWindow("name1", window1);
group.addWindow("name2", window2);
group.setBlockingBackground(true); // блокировать ли фон при нажатии за окнами
сontainer.openAs(group); // откроет все добавленные в group окна
// также можно открыть/закрыть любое окно
group.getWindow("name1").close(); // закрытие окна с именем name1
group.getWindow("name1").open(); // открытие окна с именем name2
// получение описания интерфейса
var content = group.getWindowContent("name1");
// задать описание интерфейса
group.setWindowContent("name1", window2);
// обновить окно
group.refreshWindow("name2");
// обновить все окна
group.refreshAll();
// также окна можно удалять
group.removeWindow("name2"); // автоматически закроется и удалится