From 57e1fa77312fec3b06114d7670ff1f62ad7ffed2 Mon Sep 17 00:00:00 2001 From: Igor Timofeev Date: Wed, 9 Aug 2017 11:31:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=BE=D0=BB=D1=8C=D1=88=D0=B5=20=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=BC=D0=B0=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation/GUI.md | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/Documentation/GUI.md b/Documentation/GUI.md index 095e99e3..06fe2dd4 100644 --- a/Documentation/GUI.md +++ b/Documentation/GUI.md @@ -39,15 +39,15 @@ О библиотеке ====== -GUI - многофункциональная графическая библиотека, отлаженная под использование маломощными компьютерами с максимально возможной производительностью. Она поддерживает множество элементов интерфейса: от привычных кнопок, слайдеров, текстовых полей и картинок до графиков и инструментов работы с цветовыми режимами. Быстродействие достигается за счет использования двойной буферизации и сложных группировочных алгоритмов. +GUI - многофункциональная графическая библиотека, отлаженная под использование маломощными компьютерами с максимально возможной производительностью и малым расходом оперативной памяти. С ее помощью можно реализовать самые извращенные фантазии: от банальных кнопок, слайдеров и графиков до сложных анимированных интерфейсов. Быстродействие библиотеки достигается за счет использования двойной буферизации и сложных группировочных алгоритмов. -К примеру, моя операционная система и среда разработки полностью реализованы методами данной библиотеки: +К примеру, моя операционная система, среда разработки и 3D-приложение полностью реализованы методами данной библиотеки: -![Imgur](http://i.imgur.com/U1Jybei.png?1) +![Imgur](http://i.imgur.com/hTFGCqj.gif) -![Imgur](http://i.imgur.com/RPozLwZ.png?1) +![Imgur](http://i.imgur.com/tHAiTmF.gif) -Пусть синтаксис и обилие текста вас не пугают, в документации имеется множество наглядных иллюстрированных примеров и практических задач. +Пусть обилие текста и вас не пугает, в документации имеется множество наглядных иллюстрированных примеров и практических задач. Установка ====== @@ -87,6 +87,7 @@ GUI.**contextMenu**( x, y ): *table* contextMenu | ------ | ------ | ------ | | *function* | :**addItem**( *string* text, *boolean* disabled, *string* shortcut, *int* color )| Добавить в контекстное меню элемент с указанными параметрами. При параметре disabled элемент не будет реагировать на клики мышью. Каждый элемент может иметь собственный callback-метод .**onTouch** для последующей обработки данных | | *function* | :**addSeparator**()| Добавить в контекстное меню визуальный разделитель | +| *function* | :**addSubMenu**(*string* text): *table* contextMenu| Добавить в данное контекстное меню другое контекстное меню. Возвращаемый методом объект меню самостоятелен и поддерживает все описанные выше методы | | Пример реализации контекстного меню: @@ -94,14 +95,21 @@ GUI.**contextMenu**( x, y ): *table* contextMenu local buffer = require("doubleBuffering") local GUI = require("GUI") -buffer.clear(0x2D2D2D) -buffer.draw(true) +------------------------------------------------------------------------------------------ local contextMenu = GUI.contextMenu(2, 2) contextMenu:addItem("New") contextMenu:addItem("Open").onTouch = function() -- Do something to open file or whatever end + +local subMenu = contextMenu:addSubMenu("Open with") +subMenu:addItem("Explorer.app") +subMenu:addItem("Viewer.app") +subMenu:addItem("Finder.app") +subMenu:addSeparator() +subMenu:addItem("Browse...") + contextMenu:addSeparator() contextMenu:addItem("Save", true) contextMenu:addItem("Save as") @@ -109,12 +117,17 @@ contextMenu:addSeparator() for i = 1, 25 do contextMenu:addItem("Do something " .. i) end + +------------------------------------------------------------------------------------------ + +buffer.clear(0x2D2D2D) +buffer.draw(true) contextMenu:show() ``` Результат: -![Imgur](http://i.imgur.com/UejZUwv.png) +![Imgur](http://i.imgur.com/A9NCEdc.gif) GUI.**error**( text ) ------------------------------------------------------------------------