|
Секреты программирования для Newton 1. Метод ConfirmВ корневом view ( getroot() ) находится метод Confirm, который служит для запроса к пользователю Newton на подтверждение того или иного действия.
Метод имеет следующие параметры:
Определим в getroot() метод обработки результатов нашего Confirm: getroot().my1:=func(x) if x then reboot() Вызовем сам Confirm: getroot():Confirm("My 1-st Confirm","Хочешь reboot?",getroot(),'my1) Если Вы укажете OK, то Newton перезагрузится. 2. Глобальная функция dopopupДля построения произвольного popup-меню существует глобальная функция dopopup со следующими параметрами:
В качестве результата dopopup возвращает view, реализующий меню. ПРИМЕР (выполняется прямо из Инспектора): Определим в getroot() методы pickcancelledscript и pickactionscript: getroot().pickcancelledscript:=func() nil getroot().pickactionscript:= func(x) if x=0 then print("1-st selected"); else print("2-nd selected") Вызовем dopopup: popupview:=dopopup(["first","second"],0,0,getroot()) 3. Метод NotifyДля выдачи сообщений в системный список сообщений можно использовать метод Notify из корневого view getroot().
Параметры метода: ПРИМЕР (выполняется прямо из Инспектора): getroot():Notify(kNotifyAlert," Заголовок","Сообщение") Приложение auxbutton написано с использованием трех вышеперечисленных
функций. Их приятной особенностью является отсутствие необходимости
дополнительных усилий по русификации выводимых на экран текстов.
Для большинства же прототипов, используемых в NewtonScript необходима
дополнительная замена шрифтов, используемых в данных прототипах
по умолчанию. Впрочем, эта необходимость дает возможность изменять
параметры используемого шрифта по вашему усмотрению. 4. Русификация Ваших приложенийБольшинство встроенных в Newton прототипов имеют атрибут viewFont, изменяя который Вы можете изменять шрифт выводимого текста и его характеристики, причем этот атрибут виден в списке specific. Для прототипов же из набора NewtApp ситуация немного иная. Там все labelled-элементы имеют атрибут labelFont для отображения label и атрибут entryFont для отображения строки ввода, причем имена labelFont и entryFont отсутствуют как в списке Specific, так и в списке Attributes, и слоты с этими именами надо создавать вручную при помощи пункта NewSlot меню Browser.
Любишев Александр |
|
|