11#include <QCoreApplication>
17#include <QVersionNumber>
42 static void loadFile(
IC &ic,
const QString &fileName,
const QString &contextDir = {});
45 static void loadFromBlob(
IC &ic,
const QByteArray &blob,
const QString &contextDir);
51 static void loadFileDirectly(
IC &ic,
const QFileInfo &fileInfo);
53 static void migrateFile(
const QFileInfo &fileInfo,
const QList<QGraphicsItem *> &items,
54 const QVersionNumber &version,
const QMap<QString, QByteArray> &fileRegistry);
55 static void deserializeAndLoad(
IC &ic,
const QByteArray &bytes,
const QString &contextDir);
61 static void processLoadedItems(
IC &ic, QList<QGraphicsItem *> &items);
63 static void loadBoundaryPorts(
IC &ic,
bool isInput,
const QVector<QString> &labels);
Integrated Circuit (IC) graphic element that encapsulates a sub-circuit file.
Abstract base class for all graphical circuit elements in wiRedPanda.
Loads an IC's sub-circuit (from file or embedded blob), migrates old-format files,...
static IC::PortMetadata buildPortMetadata(const QVector< GraphicElement * > &elements)
Scans elements for Input/Output groups, sorts by Y/X position, and builds labels.
static void loadFromBlob(IC &ic, const QByteArray &blob, const QString &contextDir)
Loads ic from in-memory blob bytes (full .panda file format).
static void loadFile(IC &ic, const QString &fileName, const QString &contextDir={})
Loads ic's circuit from fileName and rebuilds the logic mapping.
Graphic element representing an Integrated Circuit (sub-circuit) box.