Zer0Galaxy 2 187 Опубликовано: 5 августа, 2015 (изменено) Каждый, кто занимался разработкой человеко-машинного интерфейса под OpenOS, наверное знает какое это муторное занятие. Даже если Вы используете библиотеку GUI. То и дело приходится выходить из редактора кода, запускать свою программу, смотреть на результат своих стараний и снова заходить в редактор, чтобы исправить всего одну цифру. Предлагаемая система позволяет создавать интерфейсы программ не в текстовом редакторе, а в графическом при помощи мыши, но самое главное - результат своей работы Вы можете видеть сразу, не выходя из редактора. Построена система на основе уже известной Вам gui-библиотеки forms. При входе в FormsMaker мы видим пустую форму Щелкните правой кнопкой мыши в любом месте формы после чего откроется окно управления компонентом Выбрав пункт "Свойства Form1" можно (будет) редактировать свойства формы, такие как цвет рамка и т.д. Пункты "Add ..." добавляют на форму соответствующий компонент. Пункт "Проект" позволит управлять проектом: сохранять, компилировать и т.д. Для возврата к редактируемой форме выберите "Отмена" К примеру мы выбрали пункт "Add frame". Это добавит на нашу форму рамку. Таким же образом на рамку можно добавить кнопку. Щелкаем ПКМ на рамку и выбираем "Add button" Изменить размер рамки можно при помощи ЛКМ, потянув за правый-нижний ее угол А перемещать рамку по форме можно перетаскивая за любое свободное её место pastebin get wA5KMKav fmaker.lua Приму с благодарностью любую посильную помощь в развитии проекта, как в программировании, тестировании так и просто советом. Изменено 4 декабря, 2016 пользователем Zer0Galaxy 19 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 5 августа, 2015 Проект параметров формы сохраняется в отдельный файл? Библиотека умеет подгружать этот файл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 5 августа, 2015 Zer0Galaxy, ты как всегда суперские программы пишешь. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 5 августа, 2015 (изменено) Проект параметров формы сохраняется в отдельный файл? Библиотека умеет подгружать этот файл? На данный момент сохранение проекта в файл пока не реализовано. Планируется разработать структуру такого файла для сохранения и последующей загрузки проекта. И конечно же, самое интересное - это трансляция проекта в исполняемый lua-код. Библиотека сама по себе ни с какими файлами не работает. Подгружать файл будет среда разработки. Изменено 5 августа, 2015 пользователем Zer0Galaxy 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 5 августа, 2015 (изменено) Насколько я понял, в библиотеке GUI подразумевается только динамическое создание форм внутри кода программы. Без возможности подгрузки/сохранения файла параметров формы? Если это так, то было бы логичным добавить в библиотеку что-то вроде loadForm/SaveForm, чтобы иметь возможность статические параметры формы (цвета/размеры/флаги) хранить в отдельном файле и подгружать при необходимости. А в программе пользователя оставить только логику формы. Изменено 5 августа, 2015 пользователем swg2you Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 5 августа, 2015 Насколько я понял, в библиотеке GUI подразумевается только динамическое создание форм внутри кода программы. Без возможности подгрузки/сохранения файла параметров формы? Если это так, то было бы логичным добавить в библиотеку что-то вроде loadForm/SaveForm, чтобы иметь возможность статические параметры формы (цвета/размеры/флаги) хранить в отдельном файле и подгружать при необходимости. А в программе пользователя оставить только логику формы. И форма и все ее компоненты создаются динамически. Параметры компонентов предполагается задавать в коде программы. Если хранить их в отдельном файле, то для запуска программы потребуется и этот файл. А я не хотел бы лишних файлов, необходимых для исполнения. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 5 августа, 2015 Меня смущает название темы. "Система визуального программирования" это немного другая штука. "Редактор форм" - больше подходит 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 5 августа, 2015 Меня смущает название темы. "Система визуального программирования" это немного другая штука. "Редактор форм" - больше подходит Всё таки, конечным результатом работы системы будет луа-код, получаемый в результате компиляции проекта (да простит меня NEO). 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 6 августа, 2015 Всё таки, конечным результатом работы системы будет луа-код, получаемый в результате компиляции проекта (да простит меня NEO). Судя по всему, это будет что-то грандиозное. Хочется немного ясности. Что пользователь получит в конце после создания дизайна кнопок, окошка или списка + кнопки и прочим. Что это будет после сохранения? Луа код? А его потом уже можно и нужно дорабатывать функционально? Повесить функции кнопкам и прочее? Так? Это система быстрого визуального создания менюшек? 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 6 августа, 2015 У Зер0 всегда крутые проги получаются. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 7 августа, 2015 Судя по всему, это будет что-то грандиозное. Хочется немного ясности. Что пользователь получит в конце после создания дизайна кнопок, окошка или списка + кнопки и прочим. Что это будет после сохранения? Луа код? А его потом уже можно и нужно дорабатывать функционально? Повесить функции кнопкам и прочее? Так? Это система быстрого визуального создания менюшек? После создания окошек, кнопок и прочих элементов интерфейса, пользователь получит файл проекта - особый файл, который можно будет повторно открыть в редакторе и продолжить редактирование. Файл проекта можно будет преобразовать в исполняемый луа-код. Процесс преобразования я назвал генерацией, дабы не травмировать чувств интерпретационистов. А луа-код - уже редактировать и запускать как всякую другую программу. Поначалу предполагалось, что генерироваться будут только строки для создания элементов интерфейса, а логика добавляется вручную в редакторе edit. Затем возникла мысль добавить генерацию обработчиков событий. Но это требует встраивания в FormsMaker текстового редактора. Посмотрим как пойдет. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 8 августа, 2015 Желающие могут опробовать генерацию кода. Для этого надо на уже упоминавшемся компьютере создать элементы интерфейса, после чего нажать ПКМ и в выпадающем списке выбрать пункт "Генерировать код". Этот пункт в список не помещается, поэтому список нужно прокрутить колесиком. Результирующий код смотрим в файле Project1.lua. Его можно даже запустить. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 11 августа, 2015 При выборе пункта "Свойства" теперь доступно окно редактирования свойств компонента В этом окне можно изменять цвет, надпись и другие свойства. Тестовую версию программы по прежнему можно опробовать в дата-центре на компьютере с координатами 10150, 14199. 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 11 августа, 2015 А какие свойства можно добавлять? 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 11 августа, 2015 Пока никаких. Но в будущем, возможно, любые. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 11 августа, 2015 При выборе пункта "Свойства" теперь доступно окно редактирования свойств компонента 2015-08-11_16.39.58.png В этом окне можно изменять цвет, надпись и другие свойства. Тестовую версию программы по прежнему можно опробовать в дата-центре на компьютере с координатами 10150, 14199. Получился редактор луа таблиц ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 12 августа, 2015 Получился редактор луа таблиц ) Верно. Любой объект на луа есть ничто иное как таблица. Изменение свойств объекта это редактирование таблицы. А если учесть, что переменные и функции являются полями таблицы _G, то можно говорить, что программирование тоже редактирование таблицы. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov 34 Опубликовано: 12 августа, 2015 А как скоро будет готов релиз? И чем можно помочь для ускорения выпуска? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 12 августа, 2015 А как скоро будет готов релиз? Кто же его знает. Как дело пойдет. В принципе, то что есть уже можно использовать. И чем можно помочь для ускорения выпуска? Тестировать, находить баги, предлагать свои варианты реализации программы. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov 34 Опубликовано: 12 августа, 2015 Тестировать, находить баги, предлагать свои варианты реализации программы. Ок, буду периодически заходить в ДЦ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах