|
|
|
|
Warning: Parameter 3 to plgContentfile_upload::onPrepareContent() expected to be a reference, value given in /var/www/docs/it/libraries/joomla/event/event.php on line 67 Требуются люди с бородами для разработки UIDLНет ли желания у кого соорудить свой доморощенный ЯОП? Наличие бороды приветствуется.
Я опустил вводные замечания. Может, кому то будет интересно. Вот кусок из писанины:
[...]
BUTTON IS INPUT OF CLICK;
Объявления декларируют типы. За ключевым словом OF следует указание того, что данный элемент управления возвращает. В примере кнопка (button) объявляется как тип виджета, воспринимающий нажатие.
Немного усложним объявление кнопки, добавив декларации свойств:
BUTTON IS INPUT OF CLICK
property Caption: TEXT;
property Default: BOOLEAN;
property Cancel: BOOLEAN;
END BUTTON;
Свойство Caption содержит текст надписи на кнопке, Default указывает на то, является ли кнопка действующей по умолчанию, а Cancel- является ли кнопка кнопкой отмены.
На различных кнопка может иметь значительно больше свойств. Например, кнопка может быть графической и содержать свойства, указывающей, какое изображение и где должно отображаться. С другой стороны, в некоторых интерфейсах свойство Caption может быть излишним, то есть не содержать надписи.
Таким образом, свойства могут применяться, а могут и не применяться, если целевая платформа, например, не поддерживает определенные возможности, но даже если так, эти свойства могут способствовать улучшению читаемости текста.
Наконец, добавим сигнал, которые кнопка эмиттирует при нажатии на кнопку:
BUTTON IS INPUT OF CLICK
property Caption: TEXT;
property Default: BOOLEAN;
property Cancel: BOOLEAN;
emit click();
END BUTTON;
Сигнал отмечается ключевым словом emit и имеет скобки, в которых могут перчисляться параметры. В случае кнопки это может быть событие мыши или клавиатуры, но, поскольку нам не важно различать такие детали, можем опустить эти параметры в описании.
Операторы UI
Операторы UI же создают элементы управления в UI, тоже путем декларации. Чтобы отличить оператор от объявления, вместо ключевого слова IS используется символ ':'. Например, следующие операторы:
OK: BUTTON
Caption = 'Ok';
Default = true;
on
click() = doSmth();
END BUTTON;
CANCEL: BUTTON
Caption = 'Cancel';
Cancel = true;
END BUTTON;
создают две кнопки, одну- действующую по умолчанию (например, при нажатии клавиши Enter), и вторую- действующую при отказе (при нажатии клавиши Escape). Для этого используются оператор присвоения ”=” свойствам виджетов.
После ключевого слова «on» перечисляются обработчики событий. Обработчик событий — это асинхронно вызываемая функция.
Ключевое слово «on» может быть пропущено анализатором, пока оставлено для отделения обработчиков от свойств. Никакой особой разницы между назначением свойств и обработчиков, в общем-то, нет.
[...]
Что то типа того. Мешанина почти ЯОП. Чтобы не загружать, опустил начало (многобуквенные рассуждения нафиг это надо) и конец, там про асинхронные вызовы, колбэки всего около 25 страниц наколбасил.
Сначала я было попробовал сразу рисовать РБНФ, но это оказалось не то.
Есть какие то предложения?
Комментарии (8)
|
|
|
|
|
|
|

У вас нет времени на внедрение?
Yakutsk State University OpenSource Union
Open Source University Meetup - социальная сеть для общения между пользователями, администраторами и разработчиками Опенсорса по всему миру.