ostis-dev / kbe Goto Github PK
View Code? Open in Web Editor NEWKnowledge Base source Editor
Home Page: www.ostis.net
License: Other
Knowledge Base source Editor
Home Page: www.ostis.net
License: Other
В режимах создания дуги, шины, контура при нажатии правой кнопки мыши для отменя создания последней точки выпадает контекстное меню, чего не должно происходить
При выборе изображения во время установки содержимого (в диалоге выбора файла), по умолчанию отображаются лишь bmp формат. Необходимо сделать, чтобы по умолчанию отображались все графические форматы, а пользователь потом мог выбрать любой, если ему надо.
Переписать механизм arrangers. В интерфейсе оставить только следующие преегружаемые функции:
Разделить все arrangers по файлам
Добавить возможность выбора режима редактирования для SCg-констукций. К примеру: редактирование онтологии БЗ, редактирование SCP программ, редактирование Геометрической БЗ и т. д.
По сути каждый режим должен быть описан во внешних файлах и подгружаться системой при старте, после чего у пользователя есть возможность работать с ним. В режиме может быть свой набор команд и стилистик размещения. К примеру при редактировании SCP программ добавить команду создания оператора (целая конструкция).
У пользователя появиться возможность редактировать различные SCg-конструкции по разному. Но при этом останется и лобовой (стандартный вариант).
Пока на стадии идеи.
Будет детальнее описано.
Добавить возможность печати с поддержкой автоматического разбиения на страницы.
При создании нового файла необходимо добавить возможность создания уже готовых шаблонов для типовых конструкций.
Шаблоны должны храниться во внешних файлах, которые потом можно легко менять и добавлять. Кроме этого надо учесть такую вещь как размещение. Чтобы указывать в шаблонах как размещать конструкции. Они же не будут жестко фиксированы.
Make interactive help about working with kbe. Show it on startup. Like a tutorial in game
При создании нового файла дать возможность пользователю выбрать его тип. Тип берется из зарегистрированных форматов (scg, m4scp, scs и т. д.) Пока достаточно сделать список корматов и выбор из него (не выпадающий, а обычный список).
Изменение типа сделать следующим образом. В общем изменение по некоторому признаку включается по нажатии клавиши Alt + <некоторая клавиша>. После чего на экране появляются возможные типы по указанному признаку. каждому из которых соответствует клавиша, нажатие на нее - выбор типа.
Выбор типа по признаку константности для дуг и узлов:
Структурные типы узлов:
Alt + S. Появившимся типа соответствуют следующие клавиши: 1, 2, 3....
Все эти команды должны иметь аналог на панели инструментов. Типа команд редактирования в Word (курсив, подчеркнутый текст, жирный и т.д.)
Изменить алфавит в соответсвии с новым описанием:
Добавить в документацию описание новых возможностей, которые добавлены
Add settings dialog. This dialog make possible to change any settings for all parts of KBE (inluding plugins). Each plugin interface need function to get abstract description of possible settings. Settings for each plugins shows in separate tab.
Add tooltips that show how to work with command.
For example see 3d max 2011.
Разработвать новый формат хранения scg конструкций. В нем выделить семантику и синтаксис. По сути это обычный scs файл, в котором вся семантика - это scs-текст. Вся синтаксическая информация храниться в конце файла в коментариях
Семантика хранит типы объектов и связи между ними, а синтаксис: цвет, позицию и так далее.
scs-текст /* <object id="2"> <position>100 200</position> <identifier> ... </identifier> <points> <point>...</point> <point>...</point> <point>...</point> </points> </object> */
Для такого формата надо сделать загрузку и сохранение.
Преимущество такого формата, в том, что в него легко можно добавлять новые поля в синтаксис.
Важно, чтобы поле id было уникально для каждого объекта. В начале файла должна быть указана версия. Для проверки совместимости во время загрузки, на случай внесения изменений в формат.
Формат будет иметь расширение scs.
Добавить окно с подсветкой синтаксиса для редактирования m4scp программ.
Продумать и реализовать интерфейсы для алгоритмов обеспечивающих автоматическое размещени конструкций.
Семантическая окрестность может быть представлена на разных языках, для начала предлагается сделать SCn. Пример: https://sourceforge.net/apps/trac/ostis/raw-attachment/ticket/629/sample.png
Make type changin menu like on image:
https://sourceforge.net/apps/trac/ostis/raw-attachment/ticket/243/menu.png
Add hot keys to accelerate type changing
Add constraints that will affect to scg constructions. For example, movement constrain for two objects to make them on horizontal line. When we move one of them, the other will be moved to the same Y coordinate.
Ограничители позволят пользователю задавать ограничения на конструкцию, например при перемещении мы можем сказать, что объект А должен находиться на одной горизонтальной линии с объектом Б. Тогда при перемещении одного из объектов второй тоже перемещается.
Очень важным является, чтобы установка ограничителей была очень быстрой и не требовала от пользователя большого времени. Основная цель у пользователя - нарисовать SCg-конструкцию, а не сделать ее красивой. Ограничители позволят лишь опростить некоторые вещи.
В рамках этой задачи необходимо разработать базовые классы для ограничителей, и два базовых ограничителя: выравнивание по горизонтали и вертикали. Которые выставляют ряд объектов в одну линию при перемещении какого либо из них.
Важным является то, что ограничители могут иметь дочерние ограничители, то есть использовать друг друга
Добавить иконку для выравнивания связки (файл: tool-align-tuple.png)
все что касается scg перенести в отдельную папку
Запретить перемещение объектов, находящихся внутри контура, за его границы.
Особенностью должно быть то, что редактирование должно быть визуальным (редактирование на уровне отображаемого текста, а не разметки), при этом сохранение может производить в различной разметке, к примеру одной из разметок может быть текущая используемая в рамках systems.ostis.net
Внести в changelog все изменения в версии
Add automatic update from server. Make updater as additional application. It starts on kbe start and update it if need.
Just for windows platform. Updating on linux will be throught default update system.
Интерфейсы, которые обеспечивают работу расширений. На базе BaseWindow.
Добавить в список Denis Klimenko и Gr1n
Добавить иконки для операций:
Сделать установку иконок из текущей темы: QIcon::fromTheme("document-save", QIcon(":/document-save.png"))
Добавить в алфавит sc-ребро и sc-дугу общего вида.
sc-ребро: https://sourceforge.net/apps/trac/ostis/raw-attachment/ticket/682/1.png
sc-дуга общего вида: https://sourceforge.net/apps/trac/ostis/raw-attachment/ticket/682/2.png
Добавить в license.html информацию о лицензии используемых сторонних библиотек (в том числе иконок).
Сделать возможным изменение позиции идентификатора объекта. Это будет актуально после разработки нового формата issue #54
Добавить возможность установки содержимого SCg-рамки при помощи перетягивания файлов.
Логика работы следующая, если файл перетянут на таб-бар, то он открывается при наличии плагина, который его поддерживает.
Если файл перетянут на SCg-окно, то возможны следующие варианты:
Перевести редактирование исходных кодов на уровень проекта БЗ. Вся база знаний хранится в директории, которая имеет следующую структуру:
Необходимо для всех плагинов добавить интерфейсы получения идентификаторов, ключевых узлов и т. д. И хранить эту информацию централизованно.
Добавить исходный файл документации
Сделать возможность добавлять множество идентификаторов на различных языках для каждого объекта, которые потом будут связаны с объектов через отношение идентификация*
Сделать так, чтобы инсталятор запускался от имени администратора. Есть проблема при установке на Windows 7, когда не хватает прав.
Появляется при старте KBE, в нем отображается прогресс загрузки инструмента.
Прогресс должен отображаться для всех плагинов и для каждого плагина отдельно.
2 прогрессбара:
1 - % загрузки плагинов
2 - % загрузки конкретного плагина
Add layers to work with scg-constructions. User can hide/show layers.
Some of them will be created automaticaly. For example, layer that contains nodes, arc, pairs and etc.
Also user can create his own layers.
Add support for different editors made as plugins
Добавить быстрые направляющие как в Photoshop. При перемещении объекта, они приклеиваются на одну линию с гранями, центрами, точками других объектов при достаточно маленьких расстояниях, это позволит быстро выравнивать объекты.
При установке числового содержимого с большим показателем экспоненты, например "123e1552", происходить переполнение, и в результате устанавливается ноль. Возможно, стоит ввести ограничения на порядок устанавливаемого числа.
Сделать документацию в tex или doxygen формате, и сборку его в pdf
При выравнивании по сетке или связки возникает проблема:
Не пересчитываются dot позицции для дуг. Если же выполнить еще раз, не меняя параметры, то они пересчитываются.
Скорее всего проблема в очередности применения изменений. Все изменения заносятся в стек команд и мы н е знаем в какой очередности они выполняются. Поэтому изменения к дугам могут происходить раньше, чем изменения объектов в которые они входят или выходят. Проблема только, с концами дуг, которые присоединяются к линейным объектам.
Make cmake scripts for project building
Add help tooltips, that will be show what user can do with current object.
For example, we have selected node. System show tooltips, that help user to work with selected object.
Добавить алгоритм выравнивания связок по шаблону как на рисунке http://img233.imageshack.us/img233/2195/template1n.png. При этом выделяется связка которая указана зеленым цветом.
Должна иметься возможность настройки, длины бинарной пары, и расстояния между объектами которые соединены с шиной.
Такой алгоритм должен работать как и выравнивание по сетке. Это значительно упростит набор текстов, так как такие конструкции используются при описании отношений идентификация_, декомпозиция_ и многих других.
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.