From 1a2e4c193c2355b8662d84a462de1624cfaa7b2f Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Mon, 3 Apr 2017 22:48:47 +0300 Subject: [PATCH 01/11] =?UTF-8?q?=D1=81=D0=B0=D0=B0=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit асса --- Documentation/GUI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 58acfc6e..09f6927a 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -40,7 +40,7 @@ GUI.**contextMenu**( x, y ): *table* contextMenu | *int* | x | Координата меню по оси x | | *int* | y | Координата меню по оси y | -Открыть по указанным координатам котекстное меню и ожидать выбора пользователя. При выборе какого-либо элемента будет вызыван его callback-метод .**onTouch**, если таковой имеется. +Открыть по указанным координатам контекстное меню и ожидать выбора пользователя. При выборе какого-либо элемента будет вызыван его callback-метод .**onTouch**, если таковой имеется. | Тип свойства | Свойство |Описание | | ------ | ------ | ------ | From 944eec7a6f3e014d7990a7e062ddafdc318b5fab Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Mon, 3 Apr 2017 23:00:08 +0300 Subject: [PATCH 02/11] Update GUI.md --- Documentation/GUI.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 09f6927a..f5ba30d8 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -31,7 +31,7 @@ GUI - многофункциональная графическая библио Standalone-методы ====== -Библиотека имеет несколько полезных независимых методов, упрощающих разработку программ. К таковым относятся, к примеру, котекстное меню и информационное alert-окно. +Библиотека имеет несколько полезных независимых методов, упрощающих разработку программ. К таковым относятся, к примеру, контекстное меню и информационное alert-окно. GUI.**contextMenu**( x, y ): *table* contextMenu ------------------------------------------------------------------------ @@ -40,13 +40,13 @@ GUI.**contextMenu**( x, y ): *table* contextMenu | *int* | x | Координата меню по оси x | | *int* | y | Координата меню по оси y | -Открыть по указанным координатам контекстное меню и ожидать выбора пользователя. При выборе какого-либо элемента будет вызыван его callback-метод .**onTouch**, если таковой имеется. +Открыть по указанным координатам контекстное меню и ожидать выбора пользователя. При выборе какого-либо элемента будет вызван его callback-метод .**onTouch**, если таковой имеется. | Тип свойства | Свойство |Описание | | ------ | ------ | ------ | | *function* | :**addItem**( *string* text, *boolean* disabled, *string* shortcut, *int* color )| Добавить в контекстное меню элемент с указанными параметрами. При параметре disabled элемент не будет реагировать на клики мышью. Каждый элемент может иметь собственный callback-метод .**onTouch** для последующей обработки данных | | *function* | :**addSeparator**()| Добавить в контекстное меню визуальный разделитель | -| *table* | .**items** | Таблица элементов котекстного меню | +| *table* | .**items** | Таблица элементов контекстного меню | Пример реализации контекстного меню: From 08575e347f317c660a6281a960d42f94b3f97e74 Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:25:17 +0300 Subject: [PATCH 03/11] Update GUI.md --- Documentation/GUI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index f5ba30d8..138fad1a 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -110,7 +110,7 @@ GUI.**container**( x, y, width, height ): *table* container Каждый контейнер - это объект-группировщик для других объектов, описанных ниже. К примеру, при изменении позиции контейнера на экране все его дочерние элементы будут также смещены на соответствующие координаты. Контейнер также содержит все основные методы по добавлению дочерних элементов (виджетов) и работе с ними. -Все дочерние элементы контейнера имеют свою *localPosition* в контейнере (к примеру, *{x = 4, y = 2}*), при добавлении нового элемента в контейнер используются именно локальные координаты. Для получения глобальных (экранных) координат дочернего элемента необходимо обращаться к *element.x* и *element.y*. Глобальная (экранная) позиция дочерних элементов рассчитывается при каждой отрисовке содержимого контейнера. Таким образом, изменяя глобальные координаты дочернего элемента вручную, вы, в сущности, ничего не добьетесь. +Все дочерние элементы контейнера имеют свою *localPosition* в контейнере (к примеру, *{x = 4, y = 2}*), при добавлении нового элемента в контейнер используются именно локальные координаты. Для получения глобальных (экранных) координат дочернего элемента необходимо обращаться к *element.x* и *element.y*. Глобальная (экранная) позиция дочерних элементов рассчитывается при каждой отрисовке содержимого контейнера. Таким образом, изменяя глобальные координаты дочернего элемента вручную, вы, в сущности, ничего не добьётесь. Наглядно система иерархии и позиционирования контейнеров и дочерних элементов представлена на следущем изображении: From 2da3c67d14d2a118916e46257fb6ca4fa7148f02 Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:30:28 +0300 Subject: [PATCH 04/11] Update GUI.md --- Documentation/GUI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 138fad1a..640d41e4 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -137,7 +137,7 @@ GUI.**window**( x, y, width, height ): *table* window | *int* | width | Ширина объекта | | *int* | height | Высота объекта | -Создание объекта типа "окно" для дальнейшей работы. Каждое окно - это наследник объекта объекта типа "контейнер" (см. выше), содержащий дополнительные методы обработки системных событий и возврата данных окна. +Создание объекта типа "окно" для дальнейшей работы. Каждое окно - это наследник объекта типа "контейнер" (см. выше), содержащий дополнительные методы обработки системных событий и возврата данных окна. Некоторые методы обработки событий могут иметь аргумент *eventData*, представляющий собой нумерически индексированную таблицу с данными метода computer.pullSignal. Подробнее об ивентах (сигналах, событиях) можно прочесть по [ссылке](http://ocdoc.cil.li/component:signals). From 33b624e222f89d2b2f8eaf153e8faa1860a7da53 Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:34:04 +0300 Subject: [PATCH 05/11] Update GUI.md --- Documentation/GUI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 640d41e4..2599c2c7 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -179,7 +179,7 @@ GUI.**object**( x, y, width, height ): *table* object | ------ | ------ | ------ | | *function* | :**draw**() | Обязательный метод, вызываемый для отрисовки виджета на экране. Он может быть определен пользователем любым удобным для него образом. Повторюсь, что данный метод осуществляет отрисовку только в экранный буфер, а не на экран. | | *function* | :**isClicked**( *int* x, *int* y ): *boolean* isClicked | Метод для проверки валидности клика на объект. Используется родительскими методами контейнеров и удобен для ручной проверки пересечения указанных координат с расположением объекта на экране | -| *boolean* | .**isHidden** | Является ли объект скрытым. Если объект скрыт, от его отрисовка и анализ системных событий игнорируются | +| *boolean* | .**isHidden** | Является ли объект скрытым. Если объект скрыт, то его отрисовка и анализ системных событий игнорируются | После добавления виджета-объекта в контейнер с помощью метода *:addChild* он приобретает дополнительные свойства для удобства использования: From 7133bbff48c49591974254480b9fb7804be0e123 Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:36:34 +0300 Subject: [PATCH 06/11] Update GUI.md --- Documentation/GUI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 2599c2c7..1d8ff810 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -205,7 +205,7 @@ GUI.**panel**( x, y, width, height, color, transparency ): *table* panel | *int* | width | Ширина объекта | | *int* | height | Высота объекта | | *int* | color | Цвет панели | -| [*byte* | transparency] | Опциональная прозрачность панели | +| *byte* | transparency | Опциональная прозрачность панели | Создать объект типа "панель", представляющий собой закрашенный прямоугольник с определенной опциональной прозрачностью. В большинстве случаев служит декоративным элементом, однако способен обрабатывать индивидуальный метод *.onTouch()*. From 6cba4a2fb2ec20b8e02f739cea8d40b586bd8c89 Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:40:20 +0300 Subject: [PATCH 07/11] =?UTF-8?q?=D0=B0=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation/GUI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 1d8ff810..50a5decc 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -259,7 +259,7 @@ GUI.**button**( x, y, width, height, buttonColor, textColor, buttonPressedColor, | *callback-function* | .**onTouch**( *table* eventData )| Метод, вызываемый после нажатия кнопки в обработчике событий | | *function* | :**press**()| Изменить состояние кнопки на "нажатое" | | *function* | :**release**()| Изменить состояние кнопки на "отжатое" | -| *function* | :**pressAndRelease**( *float* time )| Нажать и отжать кнопку в течение указанного временного периода. Примечание: этот метод использует отрисовку содержимого двойного буфера | +| *function* | :**pressAndRelease**( *float* time )| Нажать и отжать кнопку в течение указанного временного периода. Примечание: этот метод использует отрисовку содержимого тройного буфера | Пример реализации кнопки: ```lua From 092970147b91fc40e4ac0cb5049bbe3487e98c6b Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:48:35 +0300 Subject: [PATCH 08/11] Update GUI.md --- Documentation/GUI.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 50a5decc..ffc79961 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -196,7 +196,7 @@ GUI.**object**( x, y, width, height ): *table* object При желании вы можете сделать абсолютно аналогичные или технически гораздо более продвинутые виджеты без каких-либо затруднений. Подробнее о создании собственных виджетов см. практические примеры в конце документации. Однако далее перечислены виджеты, уже созданные мной на основе описанных выше инструкций. -GUI.**panel**( x, y, width, height, color, transparency ): *table* panel +GUI.**panel**( x, y, width, height, color, [transparency] ): *table* panel ------------------------------------------------------------------------ | Тип | Аргумент | Описание | | ------ | ------ | ------ | @@ -205,7 +205,7 @@ GUI.**panel**( x, y, width, height, color, transparency ): *table* panel | *int* | width | Ширина объекта | | *int* | height | Высота объекта | | *int* | color | Цвет панели | -| *byte* | transparency | Опциональная прозрачность панели | +| [*byte*] | [transparency] | Опциональная прозрачность панели | Создать объект типа "панель", представляющий собой закрашенный прямоугольник с определенной опциональной прозрачностью. В большинстве случаев служит декоративным элементом, однако способен обрабатывать индивидуальный метод *.onTouch()*. @@ -332,11 +332,11 @@ GUI.**inputTextBox**( x, y, width, height, backgroundColor, textColor, backgroun | *int* | backgroundFocusedColor | Цвет поля ввода в состоянии *focused* | | *int* | textFocusedColor |Цвет текста поля ввода в состоянии *focused* | | *string* | text | Введенный на момент создания поля текст | -| [*string* | placeholderText] | Текст, появляющийся при условии, что *text* == nil | -| [*boolean* | eraseTextOnFocus] | Необходимо ли удалять текст при активации ввода | -| [*string* | textMask] | Символ-маска для вводимого текста. Полезно для создания поля ввода пароля | -| [*boolean* | highlightLuaSyntax] | Режим подсветки синтаксиса Lua для вводимой строки. Цвет текста при этом игнорируется | -| [*boolean* | autocompleteVariables] | Режим автодополнения текстовых данных на основе поиска таковых переменных в оперативной памяти | +| [*string*] | [placeholderText] | Текст, появляющийся при условии, что *text* == nil | +| [*boolean*] | [eraseTextOnFocus] | Необходимо ли удалять текст при активации ввода | +| [*string*] | [textMask] | Символ-маска для вводимого текста. Полезно для создания поля ввода пароля | +| [*boolean*] | [highlightLuaSyntax] | Режим подсветки синтаксиса Lua для вводимой строки. Цвет текста при этом игнорируется | +| [*boolean*] | [autocompleteVariables] | Режим автодополнения текстовых данных на основе поиска таковых переменных в оперативной памяти | Создать объект типа "поле ввода текста", предназначенный для ввода и анализа текстовых данных с клавиатуры. Объект универсален и подходит как для создания простых форм для ввода логина/пароля, так и для сложных структур наподобие интерпретаторов команд. К примеру, окно *палитры* выше целиком и полностью основано на использовании этого объекта. From 6046027e4807232ee0224278dc1238a12aedd3e4 Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:53:51 +0300 Subject: [PATCH 09/11] Update GUI.md --- Documentation/GUI.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index ffc79961..0f66f9cf 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -388,9 +388,9 @@ GUI.**horizontalSlider**( x, y, width, primaryColor, secondaryColor, pipeColor, | *float* | minimumValue | Минимальное значение слайдера | | *float* | maximumValue | Максимальное значение слайдера | | *float* | value | Значение слайдера | -| [*bool* | showCornerValues] | Показывать ли пиковые значения слайдера по сторонам от него | -| [*string* | currentValuePrefix] | Префикс для значения слайдера | -| [*string* | currentValuePostfix] | Постфикс для значения слайдера | +| [*bool*] | [showCornerValues] | Показывать ли пиковые значения слайдера по сторонам от него | +| [*string*] | [currentValuePrefix] | Префикс для значения слайдера | +| [*string*] | [currentValuePostfix] | Постфикс для значения слайдера | Создать объект типа "горизонтальный слайдер", предназначенный для манипуляцией числовыми данными. Значение слайдера всегда будет варьироваться в диапазоне от минимального до максимального значений. Опционально можно указать значение поля *слайдер.**roundValues** = true*, если необходимо округлять изменяющееся число. From 04bc44f6a519123b555126a9a49e7a6a423d870e Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 21:57:42 +0300 Subject: [PATCH 10/11] Update GUI.md --- Documentation/GUI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 0f66f9cf..bfab00c4 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -474,7 +474,7 @@ GUI.**colorSelector**( x, y, width, height, color, text ): *table* colorSelector | *int* | width | Ширина объекта | | *int* | height | Высота объекта | | *int* | color | Текущий цвет селектора | -| *string* | text] | Текст селектора | +| *string* | text | Текст селектора | Создать объект типа "селектор цвета", представляющий собой аналог кнопки, позволяющей выбрать цвет при помощи удобной палитры. From b347c001fb0dcdcd9b8f9930b7cb8e3bba8d5b10 Mon Sep 17 00:00:00 2001 From: Eugene8388608 Date: Tue, 4 Apr 2017 22:03:51 +0300 Subject: [PATCH 11/11] Update GUI.md --- Documentation/GUI.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index bfab00c4..51ef3d42 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -648,7 +648,7 @@ window:handleEvents() ![enter image description here](http://i91.fastpic.ru/big/2017/0402/80/3b0ec81c3b2f660b9a4c6f18908f4280.png) -GUI.**progressBar**( x, y, width, primaryColor, secondaryColor, valueColor, value, thin, showValue, valuePrefix, valuePostfix ): *table* progressBar +GUI.**progressBar**( x, y, width, primaryColor, secondaryColor, valueColor, value, [thin, showValue, valuePrefix, valuePostfix] ): *table* progressBar ------------------------------------------------------------------------ | Тип | Аргумент | Описание | | ------ | ------ | ------ | @@ -659,10 +659,10 @@ GUI.**progressBar**( x, y, width, primaryColor, secondaryColor, valueColor, valu | *int* | secondaryColor | Вторичный цвет шкалы прогресса | | *int* | valueColor | Цвет текста значений шкалы прогресса | | *float* | value | Значение шкалы прогресса | -| [*bool* | thin] | Активировать ли режим отрисовки "тонкого" объекта | -| [*bool* | showValue] | Показывать ли значение шкалы прогресса | -| [*string* | valuePrefix] | Префикс для значения шкалы прогресса | -| [*string* | valuePostfix] | Постфикс для значения шкалы прогресса | +| [*bool*] | [thin] | Активировать ли режим отрисовки "тонкого" объекта | +| [*bool*] | [showValue] | Показывать ли значение шкалы прогресса | +| [*string*] | [valuePrefix] | Префикс для значения шкалы прогресса | +| [*string*] | [valuePostfix] | Постфикс для значения шкалы прогресса | Создать объект типа "шкала прогресса", значение которой меняется от 0 до 100.