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
Please read readme.html in the docs folder.
Добавить иконку для выравнивания связки (файл: tool-align-tuple.png)
Перевести редактирование исходных кодов на уровень проекта БЗ. Вся база знаний хранится в директории, которая имеет следующую структуру:
Необходимо для всех плагинов добавить интерфейсы получения идентификаторов, ключевых узлов и т. д. И хранить эту информацию централизованно.
Разделить все arrangers по файлам
Сделать документацию в tex или doxygen формате, и сборку его в pdf
Особенностью должно быть то, что редактирование должно быть визуальным (редактирование на уровне отображаемого текста, а не разметки), при этом сохранение может производить в различной разметке, к примеру одной из разметок может быть текущая используемая в рамках systems.ostis.net
Добавить быстрые направляющие как в Photoshop. При перемещении объекта, они приклеиваются на одну линию с гранями, центрами, точками других объектов при достаточно маленьких расстояниях, это позволит быстро выравнивать объекты.
Добавить возможность выбора режима редактирования для SCg-констукций. К примеру: редактирование онтологии БЗ, редактирование SCP программ, редактирование Геометрической БЗ и т. д.
По сути каждый режим должен быть описан во внешних файлах и подгружаться системой при старте, после чего у пользователя есть возможность работать с ним. В режиме может быть свой набор команд и стилистик размещения. К примеру при редактировании SCP программ добавить команду создания оператора (целая конструкция).
У пользователя появиться возможность редактировать различные SCg-конструкции по разному. Но при этом останется и лобовой (стандартный вариант).
Пока на стадии идеи.
Будет детальнее описано.
Изменить алфавит в соответсвии с новым описанием:
Добавить алгоритм выравнивания связок по шаблону как на рисунке http://img233.imageshack.us/img233/2195/template1n.png. При этом выделяется связка которая указана зеленым цветом.
Должна иметься возможность настройки, длины бинарной пары, и расстояния между объектами которые соединены с шиной.
Такой алгоритм должен работать как и выравнивание по сетке. Это значительно упростит набор текстов, так как такие конструкции используются при описании отношений идентификация_, декомпозиция_ и многих других.
Добавить в документацию описание новых возможностей, которые добавлены
Добавить иконки для операций:
Сделать установку иконок из текущей темы: QIcon::fromTheme("document-save", QIcon(":/document-save.png"))
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.
При создании нового файла дать возможность пользователю выбрать его тип. Тип берется из зарегистрированных форматов (scg, m4scp, scs и т. д.) Пока достаточно сделать список корматов и выбор из него (не выпадающий, а обычный список).
Make cmake scripts for project building
При создании нового файла необходимо добавить возможность создания уже готовых шаблонов для типовых конструкций.
Шаблоны должны храниться во внешних файлах, которые потом можно легко менять и добавлять. Кроме этого надо учесть такую вещь как размещение. Чтобы указывать в шаблонах как размещать конструкции. Они же не будут жестко фиксированы.
При выборе изображения во время установки содержимого (в диалоге выбора файла), по умолчанию отображаются лишь bmp формат. Необходимо сделать, чтобы по умолчанию отображались все графические форматы, а пользователь потом мог выбрать любой, если ему надо.
Интерфейсы, которые обеспечивают работу расширений. На базе BaseWindow.
все что касается scg перенести в отдельную папку
При установке числового содержимого с большим показателем экспоненты, например "123e1552", происходить переполнение, и в результате устанавливается ноль. Возможно, стоит ввести ограничения на порядок устанавливаемого числа.
Сделать возможным изменение позиции идентификатора объекта. Это будет актуально после разработки нового формата issue #54
Продумать и реализовать интерфейсы для алгоритмов обеспечивающих автоматическое размещени конструкций.
Изменение типа сделать следующим образом. В общем изменение по некоторому признаку включается по нажатии клавиши Alt + <некоторая клавиша>. После чего на экране появляются возможные типы по указанному признаку. каждому из которых соответствует клавиша, нажатие на нее - выбор типа.
Выбор типа по признаку константности для дуг и узлов:
Структурные типы узлов:
Alt + S. Появившимся типа соответствуют следующие клавиши: 1, 2, 3....
Все эти команды должны иметь аналог на панели инструментов. Типа команд редактирования в Word (курсив, подчеркнутый текст, жирный и т.д.)
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 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.
В режимах создания дуги, шины, контура при нажатии правой кнопки мыши для отменя создания последней точки выпадает контекстное меню, чего не должно происходить
Добавить возможность печати с поддержкой автоматического разбиения на страницы.
Сделать возможность добавлять множество идентификаторов на различных языках для каждого объекта, которые потом будут связаны с объектов через отношение идентификация*
Появляется при старте KBE, в нем отображается прогресс загрузки инструмента.
Прогресс должен отображаться для всех плагинов и для каждого плагина отдельно.
2 прогрессбара:
1 - % загрузки плагинов
2 - % загрузки конкретного плагина
Внести в 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.
Добавить в алфавит 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
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-конструкцию, а не сделать ее красивой. Ограничители позволят лишь опростить некоторые вещи.
В рамках этой задачи необходимо разработать базовые классы для ограничителей, и два базовых ограничителя: выравнивание по горизонтали и вертикали. Которые выставляют ряд объектов в одну линию при перемещении какого либо из них.
Важным является то, что ограничители могут иметь дочерние ограничители, то есть использовать друг друга
Добавить в список Denis Klimenko и Gr1n
Сделать так, чтобы инсталятор запускался от имени администратора. Есть проблема при установке на Windows 7, когда не хватает прав.
Make interactive help about working with kbe. Show it on startup. Like a tutorial in game
Добавить исходный файл документации
Семантическая окрестность может быть представлена на разных языках, для начала предлагается сделать SCn. Пример: https://sourceforge.net/apps/trac/ostis/raw-attachment/ticket/629/sample.png
При выравнивании по сетке или связки возникает проблема:
Не пересчитываются dot позицции для дуг. Если же выполнить еще раз, не меняя параметры, то они пересчитываются.
Скорее всего проблема в очередности применения изменений. Все изменения заносятся в стек команд и мы н е знаем в какой очередности они выполняются. Поэтому изменения к дугам могут происходить раньше, чем изменения объектов в которые они входят или выходят. Проблема только, с концами дуг, которые присоединяются к линейным объектам.
Запретить перемещение объектов, находящихся внутри контура, за его границы.
Добавить окно с подсветкой синтаксиса для редактирования m4scp программ.
Добавить возможность установки содержимого SCg-рамки при помощи перетягивания файлов.
Логика работы следующая, если файл перетянут на таб-бар, то он открывается при наличии плагина, который его поддерживает.
Если файл перетянут на SCg-окно, то возможны следующие варианты:
Разработвать новый формат хранения scg конструкций. В нем выделить семантику и синтаксис. По сути это обычный scs файл, в котором вся семантика - это scs-текст. Вся синтаксическая информация храниться в конце файла в коментариях
Семантика хранит типы объектов и связи между ними, а синтаксис: цвет, позицию и так далее.
scs-текст /* <object id="2"> <position>100 200</position> <identifier> ... </identifier> <points> <point>...</point> <point>...</point> <point>...</point> </points> </object> */
Для такого формата надо сделать загрузку и сохранение.
Преимущество такого формата, в том, что в него легко можно добавлять новые поля в синтаксис.
Важно, чтобы поле id было уникально для каждого объекта. В начале файла должна быть указана версия. Для проверки совместимости во время загрузки, на случай внесения изменений в формат.
Формат будет иметь расширение scs.
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.
Переписать механизм arrangers. В интерфейсе оставить только следующие преегружаемые функции:
Add support for different editors made as plugins
Add tooltips that show how to work with command.
For example see 3d max 2011.
Добавить в license.html информацию о лицензии используемых сторонних библиотек (в том числе иконок).
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.