Skip to content

Latest commit

 

History

History
34 lines (17 loc) · 2.35 KB

README.md

File metadata and controls

34 lines (17 loc) · 2.35 KB

CircuitEditor

Управление

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

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

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

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

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

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

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

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

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

Классы:

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

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

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

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

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