mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2026-03-21 15:25:56 +01:00
Update ECSAPI.lua
This commit is contained in:
141
lib/ECSAPI.lua
141
lib/ECSAPI.lua
@@ -1654,6 +1654,7 @@ function ECSAPI.universalWindow(x, y, width, background, closeWindowAfter, ...)
|
||||
ECSAPI.border(x + 1, objects[number].y, width - 2, objectsHeights.input, background, objects[number][2])
|
||||
--Текстик
|
||||
gpu.set(x + 3, objects[number].y + 1, ECSAPI.stringLimit("start", objects[number][4], width - 6))
|
||||
ECSAPI.inputText(x + 3, objects[number].y + 1, width - 6, objects[number][4], background, objects[number][2], true, objects[number][5])
|
||||
end
|
||||
|
||||
newObj("Inputs", number, x + 1, objects[number].y, x + width - 2, objects[number].y + 2)
|
||||
@@ -1984,55 +1985,101 @@ end
|
||||
|
||||
--[[
|
||||
Функция universalWindow(x, y, width, background, closeWindowAfter, ...)
|
||||
Это универсальная модульная функция для максимально удобного и быстрого
|
||||
отображения необходимой вам информации. С ее помощью вводить данные
|
||||
с клавиатуры, осуществлять выбор из предложенных вариантов, рисовать
|
||||
красивые кнопки, отрисовывать обычный текст, отрисовывать текстовые
|
||||
поля с возможностью прокрутки, рисовать разделители и прочее.
|
||||
Любой объект выделяется с помощью клика мыши, после чего функция
|
||||
приступает к работе с этим объектом.
|
||||
|
||||
Аргументы функции:
|
||||
x и y:
|
||||
Это числа, обозначающие стартовые координаты левого верхнего угла
|
||||
данного окна.
|
||||
Вместо цифр вы также можете написать "auto" - и программа
|
||||
автоматически разместит окно по центру экрана по выбранной
|
||||
координате. Или по обеим координатам, если вам угодно.
|
||||
|
||||
width:
|
||||
Это ширина окна, которую вы можете задать по собственному желанию.
|
||||
Если некторые объекты требуют расширения окна, то окно будет
|
||||
автоматически расширено до нужной ширины. Да, вот такая вот тавтология ;)
|
||||
|
||||
background:
|
||||
Базовый цвет окна (цвет фона, кому как понятнее).
|
||||
|
||||
closeWindowAfter:
|
||||
Если true, то окно по завершению функции будет выгружено, а на его месте отрисуются пиксели,
|
||||
которые имелись на экране до выполнения функции. Удобно, если не хочешь париться
|
||||
с перерисовкой интерфейса.
|
||||
Это универсальная модульная функция для максимально удобного и быстрого отображения
|
||||
необходимой вам информации. С ее помощью вводить данные с клавиатуры, осуществлять выбор
|
||||
из предложенных вариантов, рисовать красивые кнопки, отрисовывать обычный текст,
|
||||
отрисовывать текстовые поля с возможностью прокрутки, рисовать разделители и прочее.
|
||||
Любой объект выделяется с помощью клика мыши, после чего функция приступает к работе
|
||||
с этим объектом.
|
||||
|
||||
Аргументы функции:
|
||||
|
||||
...:
|
||||
Многоточием тут является перечень объектов, указанных через запятую.
|
||||
Каждый объект является массивом и имеет собственный формат.
|
||||
Ниже перечислены все возиожные типы объектов:
|
||||
{"Button", {Цвет кнопки1, Цвет текста на кнопке1, Сам текст1}, {Цвет кнопки2, Цвет текста на кнопке2, Сам текст2}, ...}
|
||||
{"Input", Цвет рамки и текста, Цвет при выделении, Стартовый текст, Маскировать символом}
|
||||
{"Selector", Цвет рамки, Цвет при выделении, Выбор 1, Выбор 2, Выбор 3 ...}
|
||||
{"Select", Цвет рамки, Цвет галочки, Выбор 1, Выбор 2, Выбор 3 ...}
|
||||
{"TextField", Высота, Цвет фона, Цвет текста, Цвет скроллбара, Цвет пимпочки скроллбара, Сам текст}
|
||||
{"CenterText", Цвет текста, Сам текст}
|
||||
{"Separator", Цвет разделителя}
|
||||
{"Slider", Цвет линии слайдера, Цвет пимпочки слайдера, Значения слайдера ОТ, Значения слайдера ДО, Текущее значение, Текст-подсказка ДО, Текст-подсказка ПОСЛЕ}
|
||||
{"WrappedText", Цвет текста, Текст}
|
||||
{"EmptyLine"}
|
||||
Каждый из объектов рисуется по порядку сверху вниз. Каждый объект автоматически
|
||||
увеличивает высоту окна до необходимого значения. Каждому объекту требуется
|
||||
определенная ширина экрана, и если указанной при старте функции ширины не хватает,
|
||||
то объект автоматически расширяет окно до необходимого значения.
|
||||
x и y: это числа, обозначающие стартовые координаты левого верхнего угла данного окна.
|
||||
Вместо цифр вы также можете написать "auto" - и программа автоматически разместит окно
|
||||
по центру экрана по выбранной координате. Или по обеим координатам, если вам угодно.
|
||||
|
||||
width: это ширина окна, которую вы можете задать по собственному желанию. Если некторые
|
||||
объекты требуют расширения окна, то окно будет автоматически расширено до нужной ширины.
|
||||
Да, вот такая вот тавтология ;)
|
||||
|
||||
background: базовый цвет окна (цвет фона, кому как понятнее).
|
||||
|
||||
closeWindowAfter: eсли true, то окно по завершению функции будет выгружено, а на его месте
|
||||
отрисуются пиксели, которые имелись на экране до выполнения функции. Удобно, если не хочешь
|
||||
париться с перерисовкой интерфейса.
|
||||
|
||||
... : многоточием тут является перечень объектов, указанных через запятую. Каждый объект
|
||||
является массивом и имеет собственный формат. Ниже перечислены все возможные типы объектов.
|
||||
|
||||
{"Button", {Цвет кнопки1, Цвет текста на кнопке1, Сам текст1}, {Цвет кнопки2, Цвет текста на кнопке2, Сам текст2}, ...}
|
||||
|
||||
Это объект для рисования кнопок. Каждая кнопка - это массив, состоящий из трех элементов:
|
||||
цвета кнопки, цвета текста на кнопке и самого текста. Кнопок может быть неограниченное количество,
|
||||
однако чем их больше, тем большее требуется разрешение экрана по ширине.
|
||||
|
||||
Интерактивный объект.
|
||||
|
||||
{"Input", Цвет рамки и текста, Цвет при выделении, Стартовый текст [, Маскировать символом]}
|
||||
|
||||
Объект для рисования полей ввода текстовой информации. Удобно для открытия или сохранения файлов,
|
||||
Опциональный аргумент "Маскировать символом" полезен, если вы делаете поле для ввода пароля.
|
||||
Никто не увидит ваш текст. В качестве данного аргумента передается символ, например "*".
|
||||
|
||||
Интерактивный объект.
|
||||
|
||||
{"Selector", Цвет рамки, Цвет при выделении, Выбор 1, Выбор 2, Выбор 3 ...}
|
||||
|
||||
Внешне схож с объектом "Input", однако в этом случае вы будете выбирать один из предложенных
|
||||
вариантов из выпадающего списка. По умолчанию выбран первый вариант.
|
||||
|
||||
Интерактивный объект.
|
||||
|
||||
{"Select", Цвет рамки, Цвет галочки, Выбор 1, Выбор 2, Выбор 3 ...}
|
||||
|
||||
Объект выбора. Отличается от "Selector" тем, что здесь вы выбираете один из вариантов, отмечая
|
||||
его галочкой. По умолчанию выбран первый вариант.
|
||||
|
||||
Интерактивный объект.
|
||||
|
||||
{"Slider", Цвет линии слайдера, Цвет пимпочки слайдера, Значения слайдера ОТ, Значения слайдера ДО, Текущее значение [, Текст-подсказка ДО] [, Текст-подсказка ПОСЛЕ]}
|
||||
|
||||
Ползунок, позволяющий задавать определенное количество чего-либо в указанном интервале. Имеются два
|
||||
опциональных аргумента, позволяющих четко понимать, с чем именно мы имеем дело.
|
||||
|
||||
К примеру, если аргумент "Текст-подсказка ДО" будет равен "Съедено ", а аргумент "Текст-подсказка ПОСЛЕ"
|
||||
будет равен " яблок", а значение слайдера будет равно 50, то на экране будет написано "Съедено 50 яблок".
|
||||
|
||||
Интерактивный объект.
|
||||
|
||||
{"CenterText", Цвет текста, Сам текст}
|
||||
|
||||
Отображение текста указанного цвета по центру окна. Чисто для информативных целей.
|
||||
|
||||
{"WrappedText", Цвет текста, Текст}
|
||||
|
||||
Отображение большого количества текста с автоматическим переносом. Прото режет слова на кусочки,
|
||||
перенос символический. Чисто для информативных целей.
|
||||
|
||||
{"TextField", Высота, Цвет фона, Цвет текста, Цвет скроллбара, Цвет пимпочки скроллбара, Сам текст}
|
||||
|
||||
Текстовое поле с возможностью прокрутки. Отличается от "WrappedText"
|
||||
фиксированной высотой. Чисто для информативных целей.
|
||||
|
||||
{"Separator", Цвет разделителя}
|
||||
|
||||
Линия-разделитель, помогающая лучше отделять объекты друг от друга. Декоративный объект.
|
||||
|
||||
{"EmptyLine"}
|
||||
|
||||
Пустое пространство, помогающая лучше отделять объекты друг от друга. Декоративный объект.
|
||||
|
||||
Каждый из объектов рисуется по порядку сверху вниз. Каждый объект автоматически
|
||||
увеличивает высоту окна до необходимого значения. Если объектов будет указано слишком много -
|
||||
т.е. если окно вылезет за пределы экрана, то программа завершится с ошибкой.
|
||||
|
||||
Что возвращает функция:
|
||||
|
||||
Возвратом является массив, пронумерованный от 1 до <количества объектов>.
|
||||
К примеру, 1 индекс данного массива соответствует 1 указанному объекту.
|
||||
Каждый индекс данного массива несет в себе какие-то данные, которые вы
|
||||
@@ -2045,8 +2092,8 @@ end
|
||||
с EmptyLine, CenterText, TextField или Separator, то в возвращенном
|
||||
массиве этот объект указываться не будет.
|
||||
|
||||
Готовые примеры использования функции указаны ниже и закомментированы.
|
||||
Выбирайте нужный и раскомментируйте.
|
||||
Готовые примеры использования функции указаны ниже и закомментированы.
|
||||
Выбирайте нужный и раскомментируйте.
|
||||
]]
|
||||
|
||||
--Функция-демонстратор, показывающая все возможные объекты в одном окне. Код окна находится выше.
|
||||
|
||||
Reference in New Issue
Block a user