Примеры работы некоторых компонент ApplicationXML.
<AppXML title="AppXML" default-class-name="Lib" log-modifying-date="true" language="ru"> <main> <window id="mainWindow" location="center" height="600" width="800"> <panel id="menuTree" position="left" width="150"> <tree id="mTree"> <treeitem id="inputFields_simple" text="Простые поля ввода"> <onaction> simpleInputFields:mainPanel; </onaction> </treeitem> <treeitem id="lists" text="Списки"> <onaction> listsPanel:mainPanel; </onaction> </treeitem> <treeitem id="tablists" text="Вкладки"> <onaction> tabsPanel:mainPanel; </onaction> </treeitem> <treeitem id="panels" text="Панели"> <onaction> panelsPanel:mainPanel; </onaction> </treeitem> <treeitem id="exit" text="Выход"> <onaction> mainWindow.close = true; </onaction> </treeitem> </tree> </panel> <panel id="mainPanel"/> </window> </main> <common> <panel id="simpleInputFields" title="Простые поля ввода" gap="5"> <panel layout="flow" align="left" position="top"> <string id="st_id" text="Строка" width="400" init-value="[Здесь можно печатать текст - любые символы]" field-background-color="pink" length="2000"> <onchanged> st_l.text = "Событие onChanged объекта string. Значение = "; st_l.text-after = this.value; </onchanged> <onenter> st_l.text = "Событие onEnter объекта string."; st_l.text-after = ""; </onenter> </string> </panel> <panel gap="5"> <panel layout="flow" align="left" position="top"> <memo id="memo_id" text="Многострочное поле ввода" width="400" rows="3" max-chars="2000"> <onchanged> st_l.text = "Событие onChanged объекта memo. Значение = "; st_l.text-after = this.value; </onchanged> <onenter> st_l.text = "Событие onEnter объекта memo."; st_l.text-after = ""; </onenter> </memo> </panel> <panel layout="flow" align="left"> <number id="n_id" text="Число" mask="99999" width="90"> <onchanged> st_l.text = "Событие onChanged объекта number (Целое число). Значение = "; st_l.text-after = this.value; </onchanged> <onenter> st_l.text = "Событие onEnter объекта number (Целое число)."; st_l.text-after = ""; </onenter> </number> <number id="n_id" text="Число в формате #####.##" mask="99999.99" width="230"> <onchanged> st_l.text = "Событие onChanged объекта number (Число с плавающей запятой). Значение = "; st_l.text-after = this.value; </onchanged> <onenter> st_l.text = "Событие onEnter объекта number (Число с плавающей точкой)."; st_l.text-after = ""; </onenter> </number> <date id="date_id" text="Дата" mask="dd.MM.yy" width="100"> <oncreated> this.value = dtos(currentDate(), 'dd.MM.yy'); </oncreated> <onchanged> st_l.text = "Событие onChanged объекта date. Значение = "; st_l.text-after = this.value; </onchanged> <onenter> st_l.text = "Событие onEnter объекта date."; st_l.text-after = ""; </onenter> </date> <time id="time_id" text="Время" mask="HH:ss" width="90"> <oncreated> this.value = dtos(currentDate(), 'HH:mm'); </oncreated> <onchanged> st_l.text = "Событие onChanged объекта time. Значение = "; st_l.text-after = this.value; </onchanged> <onenter> st_l.text = "Событие onEnter объекта time."; st_l.text-after = ""; </onenter> </time> <checkbox id="ch_id" text="Чекбокс" text-position="right"> <onchecked> st_l.text = "Событие onChecked объекта checkbox! Флаг поднят."; st_l.text-after = ""; </onchecked> <onunchecked> st_l.text = "Событие onUnChecked объекта checkbox! Флаг опущен."; st_l.text-after = ""; </onunchecked> </checkbox> </panel> </panel> <statusbar> <label id="st_l" text="Статусбар" color="blue" font-style="bold"/> </statusbar> </panel> <panel id="listsPanel" title="Списки" gap="5"> <panel position="top" layout="flow" align="left"> <combo width="300" height="25" text="Выпадающий список"> <comboitem name="Крокодил Гена" value="test1"/> <comboitem name="Чебурашка" value="test2" default="true"/> <comboitem name="Пятачок" value="test3"/> <onselected> lco.value = "Событие onselected, значение = " + this.value-text; </onselected> </combo> <label id="lco" value="Чебурашка" field-color="red"/> </panel> <panel gap="5"> <panel position="top" layout="flow" align="left"> <list text="Список" height="60" width="200"> <listitem name="Лис" value="list1"/> <listitem name="Слон" value="list2"/> <listitem name="Крокодил" value="list3" default="true"/> <listitem name="Собака" value="list4"/> <listitem name="Волк" value="list5"/> <listitem name="Ежик" value="list6"/> <listitem name="Кот" value="list7"/> <onchanged> llist.value = "Событие onchanged, значение = " + this.value-text; </onchanged> <onselected> llist.value = "Событие onselected (двойное нажатие мышью), значение = " + this.value-text; </onselected> </list> <label id="llist" value="Крокодил" field-color="pink"/> </panel> <panel layout="flow" align="left"> <radio order="horizontal" text="Радиокнопка"> <radioitem name="Домашние" value="radio1" default="true"/> <radioitem name="Дикие" value="radio2"/> <radioitem name="Смесь" value="radio3"/> <onaction> lra.value = "Событие onaction, выбранное значение = " + this.value-text; </onaction> </radio> <label id="lra" value="Домашние" field-color="blue"/> </panel> </panel> </panel> <panel id="tabsPanel"> <toolbar> <toolbaritem id="addTab" text="Добавить вкладку"> <onaction> if (!tab_id.hasItems()){ tab_id.visible = true; } var b = tab_id.addItem(); tab_id.setCurrentItem(b.id); tab_id.getCurrentItem().title = "Вкладка №" + tab_id.getCurrentItem().id; </onaction> </toolbaritem> <toolbaritem id="delTab" text="Удалить вкладку"> <onaction> tab_id.removeItem(tab_id.getCurrentItem()); if (!tab_id.hasItems()){ tab_id.visible = false; } </onaction> </toolbaritem> </toolbar> <tablist id="tab_id" visible="false"/> </panel> <panel id="panelsPanel" layout="flow" margin-top="100"> <panel layout="border" position="center" width="300" height="200" margin="2" border="line:red" background-color="pink"> <panel layout="flow" position="left" width="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СЛЕВА"/> </panel> <panel layout="flow" position="top" height="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СВЕРХУ"/> </panel> <panel layout="flow" position="bottom" height="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СНИЗУ"/> </panel> <panel layout="flow" position="right" width="50" border="line:blue" margin="1"> <label text="Я панель"/> <label text="СПРАВА"/> </panel> <panel layout="flow" align="center" margin="1" border="line:green"> <label icon="res:world.gif" margin-top="20"/> </panel> </panel> </panel> </common> </AppXML>