ostis-dev / pyui Goto Github PK
View Code? Open in Web Editor NEWPython implementation of semantic user interface
Python implementation of semantic user interface
Сделать возможным поддержку профилей пользователей, у каждого пользователя могут быть свои настройки, свое меню и так далее.
Использование паролей на текущий момент не нужно
Добавить информацию о лицензии используемых библиотек (пример: http://mygui.info/)
Панель отображает все вопросы и информацию о их состоянии
Добавить трансляцию контуров в sc-код и обратно
При трансляции бинарной пары из SC-кода в SCg-код не удаляется узел связки, если он уже присутствовал на экране.
Добавить команду, которая повзволяет вписывать окружность в трейгольник. А также тарнсляцию данного отношения в SC-код
Радиус, диаметр, конгруэнтность и т. д.
Сделать так, чтобы регистрация операций работала и при сборке исполняемого файла. Проблема заключается в том, что каждой операции в соответствие ставится модуль, который ищется на ФС, а в exe все модули лежат в архиве. Надо сделать их явную регистрацию как и с компонентами ПИ.
Сделать делегаты для update events, по примеру как это сделано с needTextUpdate в Object
Возможно использование переменной version для каждого модуля.
Add external language declaration for viewers and editors. It allows to operate with external languages not with formats.
Когда клавиша нажимается сделать уменьшающийся полупрозрачный круг (кольцо), при отпускании - обратный эффект
Надо сделать, чтобы в первую очередь выделялись и подсвечивались точки, а не объекты на которых они расположены
Для примера смотреть Просмотр БЗ.
Добавлять на разных языках.
Добавить панель, которая позволяет отслеживать историю диалога. В ней пользователь должен иметь возможность просматривать вопросы и переходить к ответам и решениям.
Диалог должен быть как sc.g-элемент. Другими словами к любому элементу управления в нем можно задавать вопрос (ему соответсвует узел в БЗ)
Данные о пользователях хранятся в БЗ
When remove scg-node that designate command. Node exists in scg-window, also it shows on top in menu. So if node removed, we can't open noatom command. Maybe sc_addr makes dead.
Всплывающие подсказки надо хранить в базе знаний. Пока вытягивать их по идентификаторам, а ситуации обрабатывать в коде. Потом сделать возможность описывать ситуации, когда они должны появляться с помощью sc-кода.
Эти подсказки для всего интерфейса, появляются по мере необходимости и обчуают пользователя работе с системой.
Падает, так как пытается взять у числа атрибут x
Число - масштаб.
Сделать отсечение текста по длине в пунктах меню. К примеру 15-20 символов, а дальше ...
При этом когда пункт меню находиться под курсором мыши, как-то отображать весь текст. К примеру, двигать его от края к краю
Add animation framework, that allow creation of animated position, scale and other paramaters change.
It must have much functionality, like automatic animation destroy, after finish
Переделать синхронизацию sc-памяти и инициирование операций, так, чтобы избежать взаимной блокировки.
Для этого в msession добавить методы принудительного lock и unlock, и вызывать их при инициировании обработчика события. Это позволит избежать проблем с синхронизацией памяти и избавиться от планировщика операций. SCp и python операции будут вызываться последовательно, что решит проблему их синхронизации.
Решение не самое красивое, но единственно верное на данный момент. Прокомментировать методы lock/unlock как опасные для использования, так как неверное их использование может привести к порче sc-памяти.
По нажатии esc текущее действие должно прерывваться (закрывать меню, удалять не созданную дугу), по сути выход в исходное состояние редактирования
Добавить возможность отображать содержимое любых узлов в рамках родительского окна. Другими словами, когда содержимое открыто не на весь экран. Для этого надо делать снимок последнего соятояния экрана и хранить как текстуру, которая потом накладывается на окно в родительском окне
Добавить в проигрыватель пользовательских действий поддержку клавиатуры (научить систему нажимать клавиши за пользователя)
Пересмотреть все просмотрщики и редакторы и добавить в них _onContentUpdate.
На текущий момент добавлено в text, scg, space, geometry
Добавить sc.g-контуры и работу с ними.
Рисование контуров отличается от отрисовки дуг, достаточно сделать сегменты между точками контура, нет необходимости беть его на части, так как с дугами. В качестве материала использовать scg_pair/pos/const_...
По возможности максимально оптимизировать контур, и производить пересчет геометрии только в случаях, когда произошли изменения с точками контура (добавление, удаление, перемещение)
Операция является частью проигрывателя пользовательских действий
Команда должна иметь задел, чтобы расширить типы объейтов. Но на начальном этапе добавить пересечение между отрезками. А также добавить трансляцию этого отношения в SC-код
Чтобы избежать циклов, необходимо при трансляции в SCg-код. Транслировать окна, как обычные узлы, в том случае, если это окно является одним из родителей (рекурсивно) для окна в которое идет трансляция.
Сделать синхронизацию содержимого при его изменении. Другими словами при изменении в базе знаний содержимого его необходимо изменить и в просмотрщике или редакторе
Необходимо разрешить такую ситуацию. Пока же получается, что узлы отталкиваются, а вот дуга притягивает лишь узел (атрибут) и никак не воздействует на узлы, которые являются начальным и конечным объектами дуги, в которую указанный атрибут входит.
Речь о алгоритме LayoutForceDirected2
При вызове трансляции содержимого окна, которое еще не протранслировано в SC-код, происходит падение. Надо запретить трансляцию, конструкций в рамках окна, которое еще не погружено в SC-память и выдавать при этом всплывающую подсказку поясняющую ситуацию
Возникает некоторый ореол, надо пересмотреть настройки текстуры при создании
Добавить возможность работы с сегментами окружности.
Сегменты должны иметь ряд настроек: толщина линии, радиус, начальный угол, конечный угол. Начальный и конечный угол указывают сегмент окружности.
Сделать возможность определения является ли сегмент полной окружностью, для этого начальный и конечный угол должны иметь значения 0 и 360 градусов.
Сделать возможность установки типа объекта: площадной, линейный. Когда объект площадной, то при проверке попадания точки (координат мыши) в него, проверяется вся его площадь (у линейного попадание в линию). В площадном объекте должна закрашиваться внутренность
Добавить возможность устанавливать точечные объекты по сетке (пример Геометрический редактор). К точечным объектам относятся точки излома, узлы, точки контура.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.