Перейти к содержимому
  • 0
kaka888

Где взять библиотеку GUI от ECS для OpenOS?

Вопрос

Привет всем. Хочу делать красивый GUI для своих приложений в OpenOS, но последний опыт с Forms меня очень сильно огорчил. Хотелось бы попробовать GUI от ECS, но не уверен, что в его репе https://github.com/IgorTimofeev/GUI вариант именно для OpenOS, да и там ещё куча зависимостей, которые хрен знает сколько придётся искать.

Так что жду совета от опытных гаишников - где взять эту либу?

Изменено пользователем kaka888

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

47 минут назад, kaka888 сказал:

А если взять вариант либы для MineOS, но юзать её в OpenOS, то она будет работать так же хорошо или как? Ну типа если я все зависимости типа advancedLua, doubleBuffering и т.д. тоже загружу.

Хех, она не будет работать вообще никак, т.к. у нее одна зависимость: MineOS целиком.

 

Если интересны подробности, то вот лонгстори: изначальная версия гуи-либы писалась как простая основа для графической оболочки поверх OpenOS, и "из коробки" она поддерживала лишь наиболее привычные виджеты типа кнопок/картинок/слайдеров (кстати, по ссылке выше как раз та самая версия). MineOS была скорее технодемкой возможностей гуишки. Однако время шло, появилась потребность в перетаскиваемых окошках, файловых модальных диалогах, селекторах цвета и т.п. Также требовалось все больше и больше узкопрофильного функционала - например, почанковое скачивание файлов с обработчиками данных или побитовые приколюхи типа file:readBytesAsNumber(count, isLittleEndian). Все эти мелочи использовались довольно часто как в системных либах по работе с пикчами, так и в прикладном софте типа MIDI-парсера или мини-игр. Изначально я оформлял их в виде дополнительных библиотек типа AdvancedLua или Web, однако просто устал плодить архитектурный говнокод. Контрольным выстрелом оказалась обнова OpenOS (1.6, если не ошибаюсь), где поменялись API process/event, что убило инсталлер MineOS на новых версиях мода. В итоге я решил, что быстрее будет написать чистую ОС с интегрированной UI'шной бизнес-логикой, чем пытаться адаптироваться под существующую

 

Собственно, вот, интеграция вышла по самые помидоры. Глобальный минус один - либы настолько глубоко засели друг в друге, что проще писать под MineOS, чем пытаться их выдрать и использовать в другой ОС. На всякий случай я сохранил старые версии гуишки в виде легаси - но никаких новых фич и фиксов, конечно, там уже не будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

За работоспособность самой либы не ручаюсь, т.к. с тех времен вышла тысяча и одна обнова под майнось, но инсталлер рабочий:

 

pastebin run ryhyXUKZ

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, ECS сказал:

За работоспособность самой либы не ручаюсь, т.к. с тех времен вышла тысяча и одна обнова под майнось, но инсталлер рабочий:

 

pastebin run ryhyXUKZ

 

 

А если взять вариант либы для MineOS, но юзать её в OpenOS, то она будет работать так же хорошо или как? Ну типа если я все зависимости типа advancedLua, doubleBuffering и т.д. тоже загружу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, ECS сказал:

Хех, она не будет работать вообще никак, т.к. у нее одна зависимость: MineOS целиком.

 

Если интересны подробности, то вот лонгстори: изначальная версия гуи-либы писалась как простая основа для графической оболочки поверх OpenOS, и "из коробки" она поддерживала лишь наиболее привычные виджеты типа кнопок/картинок/слайдеров (кстати, по ссылке выше как раз та самая версия). MineOS была скорее технодемкой возможностей гуишки. Однако время шло, появилась потребность в перетаскиваемых окошках, файловых модальных диалогах, селекторах цвета и т.п. Также требовалось все больше и больше узкопрофильного функционала - например, почанковое скачивание файлов с обработчиками данных или побитовые приколюхи типа file:readBytesAsNumber(count, isLittleEndian). Все эти мелочи использовались довольно часто как в системных либах по работе с пикчами, так и в прикладном софте типа MIDI-парсера или мини-игр. Изначально я оформлял их в виде дополнительных библиотек типа AdvancedLua или Web, однако просто устал плодить архитектурный говнокод. Контрольным выстрелом оказалась обнова OpenOS (1.6, если не ошибаюсь), где поменялись API process/event, что убило инсталлер MineOS на новых версиях мода. В итоге я решил, что быстрее будет написать чистую ОС с интегрированной UI'шной бизнес-логикой, чем пытаться адаптироваться под существующую

 

Собственно, вот, интеграция вышла по самые помидоры. Глобальный минус один - либы настолько глубоко засели друг в друге, что проще писать под MineOS, чем пытаться их выдрать и использовать в другой ОС. На всякий случай я сохранил старые версии гуишки в виде легаси - но никаких новых фич и фиксов, конечно, там уже не будет

Офигенная история)

Жаль, что не смогу "выдрать" для OpenOS. Просто я в колледже хочу делать лабы по программированию в эмуляторе OpenComputers, а forms.lua не сильно хочется юзать.

Ну что ж, попробую тогда GUI.lua legacy, спасибо :)

Изменено пользователем kaka888

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну и попробую тогда поставить MineOS на эмулятор))) Думаю должно получиться, и летать, наверное, будет

Изменено пользователем kaka888

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 28.02.2022 в 18:53, ECS сказал:

За работоспособность самой либы не ручаюсь, т.к. с тех времен вышла тысяча и одна обнова под майнось, но инсталлер рабочий:

 

pastebin run ryhyXUKZ

 

 

Я тут чекнул твою тему про библиотеку, но там нет инструкции по использованию. Где её можно найти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, kaka888 сказал:

Я тут чекнул твою тему про библиотеку, но там нет инструкции по использованию. Где её можно найти?

Пардон, старая тема, забыл обновить ссылку:

https://github.com/IgorTimofeev/GUI/blob/0fadb161469d404d477dd9babfdc9a5aa42ff203/README.md

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...