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