<window ... >

Окно приложения. Может быть обычным или мультидокументным (MDI).


Синтаксис

<window window-attributes>
   [<toolbar>
      ...
    <toolbar/>]
   [<menu>
      ...
    <menu/>]
    
    прочие appxml-тэги
    
<window/>

Атрибуты

Основные атрибуты (R/W):

^ Название ^ Тип ^ Описание ^

id id_name Уникальный, в рамках приложения, идентификатор объекта. Доступ к объекту с помощью AppScript выполняется через этот идентификатор.
Если id не задан, то интерпретатор автоматически заполнит его некоторым случайным в момент запуска приложения. В этом случае appxml-программист лишается возможности обращаться к объекту.
menu tag or link2object Описание меню для обычного или дочернего окна приложения. Описание может находиться как во вложенном тэге (тогда menu - это должно быть имя тэга, а не атрибута), так и в отдельно стоящем тэге (тогда menu - это имя атрибута, содержащего id отдельно стоящего тэга). При этом отдельно стоящий тэг должен находиться внутри тэга <common>
toolbar tag or link2object Описание тулбара для обычного или дочернего окна приложения, а также для панели. Описание может находиться как во вложенном тэге (тогда toolbar - это должно быть имя тэга, а не атрибута), так и в отдельно стоящем тэге (тогда toolbar - это имя атрибута, содержащего id отдельно стоящего тэга). При этом отдельно стоящий тэг должен находиться внутри тэга <common>
hideOnClose boolean Управляет действием над окном при закрытии: удалять или скрывать. По умолчанию - удаляет (hideOnClose=false).

Визуальные атрибуты (R/W):

Название Тип Описание
mdi boolean Тип окна: MDI или обычное.
title string Заголовок объекта. Атрибут имеет силу только при создании объекта. Изменение значения атрибута после создания объекта не будет иметь эффекта. Имеет дополнительные атрибуты: title-before, title-after, title-visible.
notitle boolean Создает объект без заголовка. В том смысле, что не скрывает заголовок, а не рисует даже место под заголовок.
x ext-number Координата объекта по оси X. Если объектом является панель, то атрибут работает только если панель размещается в контейнере с layout=null. Для прочих layout атрибут не поддерживается.
y ext-number Координата объекта по оси Y. Если объектом является панель, то атрибут работает только если панель размещается в контейнере с layout=null. Для прочих layout атрибут не поддерживается.
height ext-number Высота объекта.
width ext-number Ширина объекта.
visible boolean Видимость объекта
enable boolean Разрешение/запрещение возможности для пользователя взаимодействовать с объектом.
background-color color-name Цвет фона объекта
icon path Имя пиктограммы.
resize boolean Разрешение/запрет на изменение пользователем размеров окна.
location location Располагает окно в соответствующей части экрана.
position location Располагает окно в соответствующей части экрана. Синоним location.
opacity float установка прозрачности окна.

Командные атрибуты (W/O):

Название Тип Описание
close boolean Команда «закрыть окно». Окно уничтожается.
alwaysOnTop boolean Управление способностью для окна быть поверх всех окон. Не тестировалось.
select boolean Передача фокуса объекту.
toBack boolean Принудительная потеря фокуса с отправкой окна на задний план.
toFront boolean Передача фокуса окну с отправкой окна на передний план.
call-event event-name Эмулирует возникновение события: вызывает код, связанный с данным событием (см. Событийные атрибуты для данного тэга), как будто это событие реально произошло.
state minimized | maximized| normal Состояние размеров окна. maximazed - развернуть на весь экран, minimazed - свернуть, normal - нормальное состояние.

Событийные атрибуты (R/W):

Название Тип Описание
onCreated code Описание действий для события, возникающего единожды, после создания объекта.
Правила описания см. (Описание событий в ApplicationXML).
onClosed code @onClosed
Правила описания см. (Описание событий в ApplicationXML).
onBeforeClosed code @onBeforeClosed
Правила описания см. (Описание событий в ApplicationXML).
onEnter code Описание действий для события, возникающего при получении объектом фокуса.
Правила описания см. (Описание событий в ApplicationXML).
onExit code Описание действий для события, возникающего при потере объектом фокуса.
Правила описания см. (Описание событий в ApplicationXML).

А также:

Название Тип Описание
visual panel | mdi Поддерживаются визуальные атрибуты тэга <panel>, поскольку он является составной частью объекта. Для случая mdi-окна поддерживаются атрибуты тэга <mdi>

Описание

Первое окно приложения считается главным. Если его закрыть (window.close=«true»), то будет закрыто все приложение.

Примеры

Cоздание окна c параметрами по умолчанию.

<AppXML>
    <main>
        <window/>
    </main>
</AppXML>

Cоздание окна с меню и тулбаром

<AppXML>
    <main>
        <window id="mainWindow" location="center">
            <menu id="mainMenu">
                <menuitem text="File">
                    <menuitem id="mnuMsg" text="Message" onAction="msg(this.id + ' button clicked')"/>
                    <menuitem id="mnuExit" text="Exit" background-color="green" onAction="mainWindow.close='true'"/>
                </menuitem>
            </menu>
            <toolbar>
                <toolbaritem text="Message" onAction="mainMenu.getElementById('mnuMsg').callEvent('onAction')"/>
                <toolbaritem text="Exit" onAction="mainMenu.getElementById('mnuExit').callEvent('onAction')"/>
            </toolbar>
            <label text="Программируйте на AppXML!" align="center"/>
        </window>
    </main>
</AppXML>

Cоздание окна без заголовка и с ссылками на внешнее описание меню и тулбара

<AppXML>
    <main>
        <window id="mainWindow" menu="mainMenu" toolbar="mainToolbar" location="center" notitle="true" border="line:gray">
            <label text="Программируйте на AppXML!" align="center"/>
        </window>
    </main>

    <common>
        <menu id="mainMenu" border="line:gray" background-color="lightgray">
            <menuitem text="File" background-color="lightgray">
                <menuitem id="mnuMsg" text="Message" onAction="msg(this.id + ' button clicked')"/>
                <menuitem id="mnuExit" text="Exit" background-color="green" onAction="mainWindow.close='true'"/>
            </menuitem>
        </menu>
        <toolbar id="mainToolbar">
            <toolbaritem text="Message" onAction="mainMenu.getElementById('mnuMsg').callEvent('onAction')"/>
            <toolbaritem text="Exit" onAction="mainMenu.getElementById('mnuExit').callEvent('onAction')"/>
        </toolbar>
    </common>
</AppXML>

Cоздание MDI-окна

<AppXML>
    <main>
        <window id="mainWindow" mdi="true">
            <toolbar>
                <toolbaritem text="Добавить дочернее окно" onAction="mainWindow.locate(cw1)"/>
            </toolbar>
        </window>
    </main>

    <common>
        <childwindow id="cw1" title="Оп-па!" notitle="true">
            <label text="Привет! Я - дочернее окно." align="center"/>
        </childwindow>
    </common>
</AppXML>

Cоздание окна с двумя MDI-зонами

<AppXML>
    <main>
        <window id="mainWindow">
            <toolbar>
           <toolbaritem text="Добавить окно слева" onAction="mainMdi1.locate(cw1)" />
				<toolbaritem text="Добавить окно справа" onAction="mainMdi2.locate(cw2)" />
			</toolbar>
			<splitter a-id="split1" b-id="split2">
				<mdi id="mainMdi1" position="split1.center"/>
				<mdi id="mainMdi2" position="split2.center"/>
			</splitter>
		</window>
	</main>

	<common>
		<childwindow id="cw1" title="Оп-па!" notitle="true" width="200">
			<label text="Привет! Я - дочернее окно слева." align="center"/>
		</childwindow>
		<childwindow id="cw2" title="Оп-па!" notitle="true" width="200">
			<label text="Привет! Я - дочернее окно справа." align="center"/>
		</childwindow>
	</common>
	
</AppXML>
 
tags/window.txt · Последние изменения: 29/10/2020 16:32 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS