20#ifndef LIBREPCB_EDITOR_PACKAGEEDITORWIDGET_H
21#define LIBREPCB_EDITOR_PACKAGEEDITORWIDGET_H
26#include "../../widgets/if_graphicsvieweventhandler.h"
27#include "../cat/categorylisteditorwidget.h"
28#include "../editorwidgetbase.h"
50class OpenGlSceneBuilder;
52class PackageEditorFsm;
55class PackageEditorWidget;
70 QPixmap
buildPixmap(
const QColor& bgColor)
const noexcept;
89 QWidget* parent =
nullptr);
99 QToolBar& commandToolBar,
107 bool save() noexcept override;
109 bool cut() noexcept override;
110 bool copy() noexcept override;
111 bool paste() noexcept override;
112 bool move(Qt::ArrowType direction) noexcept override;
114 bool mirror(Qt::Orientation orientation) noexcept override;
115 bool flip(Qt::Orientation orientation) noexcept override;
118 bool remove() noexcept override;
120 bool zoomIn() noexcept override;
121 bool zoomOut() noexcept override;
122 bool zoomAll() noexcept override;
139 const QVariant& mode) noexcept override;
147 template <typename MessageType>
149 template <typename MessageType>
151 template <typename MessageType>
154 bool applyFix) override;
156 bool approve) noexcept override;
158 const QString& settingsKey) noexcept override;
160 Theme::GridStyle style) noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition: angle.h:78
This class represents absolute, well-formatted paths to files or directories.
Definition: filepath.h:129
The LengthUnit class represents a length unit (millimeters, inches,...) and provides some useful meth...
Definition: lengthunit.h:60
The Package class represents a package of a component (including footprint and 3D model)
Definition: package.h:59
Represents a 3D model of a librepcb::Package.
Definition: packagemodel.h:43
The RuleCheckMessage class.
Definition: rulecheckmessage.h:45
Theme class as used by librepcb::WorkspaceSettingsItem_Themes.
Definition: theme.h:44
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.h:58
The ExclusiveActionGroup class groups multiple QAction's together.
Definition: exclusiveactiongroup.h:54
This class provides a Dialog (GUI) to choose DXF import settings.
Definition: graphicsexportdialog.h:61
The GraphicsScene class.
Definition: graphicsscene.h:45
The IF_GraphicsViewEventHandler class.
Definition: if_graphicsvieweventhandler.h:41
Asynchronously generates a 3D board scene for OpenGL rendering.
Definition: openglscenebuilder.h:49
OpenGL 3D viewer widget.
Definition: openglview.h:52
The PackageEditorFsm class is the finit state machine (FSM) of the package editor.
Definition: packageeditorfsm.h:60
The StatusBar class extends QStatusBar for some commonly used fields.
Definition: statusbar.h:45
The UndoStackActionGroup class groups an undo-QAction and redo-QAction together and optionally connec...
Definition: undostackactiongroup.h:45
Definition: occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:812
QVector< std::shared_ptr< const RuleCheckMessage > > RuleCheckMessageList
Definition: rulecheckmessage.h:104
Definition: packageeditorwidget.h:62
QPixmap buildPixmap(const QColor &bgColor) const noexcept
Definition: packageeditorwidget.cpp:156
bool tryLoadFromDir(const FilePath &dir) noexcept
Definition: packageeditorwidget.cpp:102
Angle rotation
Rotation in scene.
Definition: packageeditorwidget.h:65
QList< std::pair< QPointF, Point > > references
References in image.
Definition: packageeditorwidget.h:66
QImage image
The original loaded image.
Definition: packageeditorwidget.h:64
bool enabled
Whether the background is enabled or not.
Definition: packageeditorwidget.h:63
void saveToDir(const FilePath &dir) noexcept
Definition: packageeditorwidget.cpp:127
Definition: editorwidgetbase.h:68