Skip to content

KonstantAnxiety/CircuitEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CircuitEditor

Управление

Нажатием кнопки можно выбрать один из инструментов (компонентов) для добавления на схему.

Правой кнопкой мыши можно отменить добавление.

Кнопкой R на клавиатуре – вращать компонент на 90 градусов.

Добавленные компоненты можно перемещать с зажатой ЛКМ и удалять нажатием ПКМ.

Компоненты, содержащие текст, можно редактировать двойным кликом ЛКМ.

Колесико мыши используется для навигации: прокрутка – масштабирование, движение с зажатием – перемещение.

Сохранить схему для редактирования можно в текстовый файл (*.txt) или специальный файл проекта (*.circ, по факту бинарный).

Настроено открытие программы через файл (открыть с помощью)

Доступен экспорт схемы в форматах bmp, jpg, png, svg.

Классы:

Базовый класс компонентов Component – абстрактный.

От него наследуются SerialComponent (последовательный компонент, напр., резистор), EndComponent (тупик, напр., земля) и TwoInputGate (логические вентили с двумя входами), от которых уже наследуются все компоненты.

В каждом присутствует виртуальный метод draw(QGraphicsScene *scene), принимающий указатель на сцену, на которой ему нужно отрисоваться (тут используется полиморфизм).

Перегружен оператор вывода в поток для сохранения в текстовый файл.

GraphicsView – класс рабочего пространства, наследуется от QGraphicsView. Хранит в шаблонном векторе все добавленные компоненты

About

OOP practice for uni

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published