20 #ifndef LIBREPCB_EDITOR_LIBRARYEDITOR_H 21 #define LIBREPCB_EDITOR_LIBRARYEDITOR_H 26 #include "../graphics/graphicslayer.h" 43 class TransactionalFileSystem;
48 class ExclusiveActionGroup;
49 class LibraryOverviewWidget;
51 class StandardEditorCommandHandler;
52 class UndoStackActionGroup;
80 const QString& name)
const noexcept
override {
81 foreach (
const std::shared_ptr<GraphicsLayer>& layer, mLayers) {
82 if (layer->getName() == name) {
92 QList<std::shared_ptr<GraphicsLayer>>
getAllLayers() const noexcept
override {
119 bool closeAndDestroy(
bool askForSave) noexcept;
125 void newComponentCategoryTriggered() noexcept;
126 void newPackageCategoryTriggered() noexcept;
127 void newSymbolTriggered() noexcept;
128 void newPackageTriggered() noexcept;
129 void newComponentTriggered() noexcept;
130 void newDeviceTriggered() noexcept;
131 void editComponentCategoryTriggered(
const FilePath& fp) noexcept;
132 void editPackageCategoryTriggered(
const FilePath& fp) noexcept;
133 void editSymbolTriggered(
const FilePath& fp) noexcept;
134 void editPackageTriggered(
const FilePath& fp) noexcept;
135 void editComponentTriggered(
const FilePath& fp) noexcept;
136 void editDeviceTriggered(
const FilePath& fp) noexcept;
137 void duplicateComponentCategoryTriggered(
const FilePath& fp) noexcept;
138 void duplicatePackageCategoryTriggered(
const FilePath& fp) noexcept;
139 void duplicateSymbolTriggered(
const FilePath& fp) noexcept;
140 void duplicatePackageTriggered(
const FilePath& fp) noexcept;
141 void duplicateComponentTriggered(
const FilePath& fp) noexcept;
142 void duplicateDeviceTriggered(
const FilePath& fp) noexcept;
143 void closeTabIfOpen(
const FilePath& fp) noexcept;
144 template <
typename EditW
idgetType>
145 void editLibraryElementTriggered(
const FilePath& fp,
146 bool isNewElement) noexcept;
147 void currentTabChanged(
int index) noexcept;
148 void tabCloseRequested(
int index) noexcept;
149 bool closeTab(
int index) noexcept;
152 void createActions() noexcept;
153 void createToolBars() noexcept;
154 void createMenus() noexcept;
156 void setAvailableFeatures(
157 const QSet<EditorWidgetBase::Feature>& features) noexcept;
164 void updateTabTitles() noexcept;
165 void tabCountChanged() noexcept;
166 void keyPressEvent(QKeyEvent* event) noexcept
override;
167 void closeEvent(QCloseEvent* event) noexcept
override;
168 bool closeAllTabs(
bool withNonClosable,
bool askForSave) noexcept;
169 void addLayer(
const QString& name) noexcept;
174 QScopedPointer<Ui::LibraryEditor>
mUi;
176 QList<std::shared_ptr<GraphicsLayer>>
mLayers;
QScopedPointer< QAction > mActionPrint
Definition: libraryeditor.h:198
QScopedPointer< QAction > mActionToolSmtPadStandard
Definition: libraryeditor.h:243
QScopedPointer< QAction > mActionToolSpecialPadLocalFiducial
Definition: libraryeditor.h:249
QScopedPointer< QToolBar > mToolBarEdit
Definition: libraryeditor.h:261
QScopedPointer< QAction > mActionSnapToGrid
Definition: libraryeditor.h:226
QScopedPointer< QAction > mActionToolSpecialPadGlobalFiducial
Definition: libraryeditor.h:250
QScopedPointer< QAction > mActionRedo
Definition: libraryeditor.h:212
QScopedPointer< QAction > mActionToolCircle
Definition: libraryeditor.h:237
QScopedPointer< QAction > mActionFlipVertical
Definition: libraryeditor.h:225
QScopedPointer< QAction > mActionToolZone
Definition: libraryeditor.h:251
QScopedPointer< QAction > mActionToolPin
Definition: libraryeditor.h:242
QScopedPointer< QAction > mActionCut
Definition: libraryeditor.h:213
QScopedPointer< QAction > mActionZoomFit
Definition: libraryeditor.h:207
QScopedPointer< QAction > mActionSelectAll
Definition: libraryeditor.h:203
Definition: occmodel.cpp:77
QScopedPointer< QAction > mActionGridProperties
Definition: libraryeditor.h:204
Workspace & mWorkspace
Definition: libraryeditor.h:172
QScopedPointer< QToolBar > mToolBarCommand
Definition: libraryeditor.h:264
QScopedPointer< QAction > mActionToolHole
Definition: libraryeditor.h:252
QScopedPointer< QAction > mActionAboutLibrePcb
Definition: libraryeditor.h:181
QScopedPointer< Ui::LibraryEditor > mUi
Definition: libraryeditor.h:174
QScopedPointer< QAction > mActionSave
Definition: libraryeditor.h:186
QScopedPointer< QAction > mActionQuit
Definition: libraryeditor.h:191
QScopedPointer< QAction > mActionToolName
Definition: libraryeditor.h:240
QScopedPointer< QAction > mActionToolValue
Definition: libraryeditor.h:241
QScopedPointer< QAction > mActionFlipHorizontal
Definition: libraryeditor.h:224
QScopedPointer< QToolBar > mToolBarView
Definition: libraryeditor.h:262
QScopedPointer< QAction > mActionToolMeasure
Definition: libraryeditor.h:253
QScopedPointer< QAction > mActionZoomOut
Definition: libraryeditor.h:209
QScopedPointer< QAction > mActionCloseWindow
Definition: libraryeditor.h:190
QScopedPointer< QAction > mActionNextPage
Definition: libraryeditor.h:200
QScopedPointer< QAction > mActionKeyboardShortcutsReference
Definition: libraryeditor.h:184
QScopedPointer< QAction > mActionRotateCcw
Definition: libraryeditor.h:220
QScopedPointer< QAction > mActionPaste
Definition: libraryeditor.h:215
QScopedPointer< QAction > mActionFileManager
Definition: libraryeditor.h:192
QScopedPointer< QToolBar > mToolBarTools
Definition: libraryeditor.h:265
QScopedPointer< QAction > mActionGenerateOutline
Definition: libraryeditor.h:230
ElementType
Definition: newelementwizardcontext.h:77
QScopedPointer< SearchToolBar > mToolBarSearch
Definition: libraryeditor.h:263
QScopedPointer< QAction > mActionMirrorVertical
Definition: libraryeditor.h:223
QScopedPointer< QAction > mActionCloseTab
Definition: libraryeditor.h:188
QScopedPointer< QAction > mActionRotateCw
Definition: libraryeditor.h:221
QScopedPointer< QAction > mActionToolArc
Definition: libraryeditor.h:238
QScopedPointer< QAction > mActionImportDxf
Definition: libraryeditor.h:194
QScopedPointer< QAction > mActionToolLine
Definition: libraryeditor.h:234
QScopedPointer< QAction > mActionToolSpecialPadBga
Definition: libraryeditor.h:246
The IF_GraphicsLayerProvider class defines an interface for classes which provide layers...
Definition: graphicslayer.h:111
QScopedPointer< UndoStackActionGroup > mUndoStackActionGroup
Definition: libraryeditor.h:256
QScopedPointer< QAction > mActionAboutQt
Definition: libraryeditor.h:182
QScopedPointer< QAction > mActionGridIncrease
Definition: libraryeditor.h:205
QScopedPointer< QAction > mActionZoomIn
Definition: libraryeditor.h:208
QScopedPointer< QAction > mActionMoveDown
Definition: libraryeditor.h:219
std::shared_ptr< GraphicsLayer > getLayer(const QString &name) const noexcept override
Definition: libraryeditor.h:79
QScopedPointer< QAction > mActionMoveLeft
Definition: libraryeditor.h:216
QScopedPointer< QAction > mActionMirrorHorizontal
Definition: libraryeditor.h:222
QScopedPointer< QAction > mActionRescanLibraries
Definition: libraryeditor.h:193
This class represents absolute, well-formatted paths to files or directories.
Definition: filepath.h:129
QScopedPointer< QAction > mActionToolSelect
Definition: libraryeditor.h:233
QScopedPointer< QAction > mActionImportEagleLibrary
Definition: libraryeditor.h:195
QScopedPointer< QAction > mActionSaveAll
Definition: libraryeditor.h:187
bool mIsOpenedReadOnly
Definition: libraryeditor.h:173
EditorWidgetBase * mCurrentEditorWidget
Definition: libraryeditor.h:177
QScopedPointer< QAction > mActionToggle3D
Definition: libraryeditor.h:210
QScopedPointer< QToolBar > mToolBarFile
Definition: libraryeditor.h:260
QList< std::shared_ptr< GraphicsLayer > > mLayers
Definition: libraryeditor.h:176
QScopedPointer< ExclusiveActionGroup > mToolsActionGroup
Definition: libraryeditor.h:257
QScopedPointer< QAction > mActionMoveRight
Definition: libraryeditor.h:217
QScopedPointer< QAction > mActionGridDecrease
Definition: libraryeditor.h:206
QScopedPointer< QAction > mActionToolPolygon
Definition: libraryeditor.h:236
QScopedPointer< QAction > mActionRemove
Definition: libraryeditor.h:228
The Library class represents a library directory.
Definition: library.h:46
QScopedPointer< QAction > mActionToolSpecialPadEdgeConnector
Definition: libraryeditor.h:247
QScopedPointer< QAction > mActionProperties
Definition: libraryeditor.h:227
QScopedPointer< QAction > mActionUndo
Definition: libraryeditor.h:211
QScopedPointer< QAction > mActionToolThtPad
Definition: libraryeditor.h:244
QScopedPointer< QAction > mActionToolText
Definition: libraryeditor.h:239
QScopedPointer< QAction > mActionNewElement
Definition: libraryeditor.h:199
QScopedPointer< QAction > mActionExportImage
Definition: libraryeditor.h:196
QScopedPointer< StandardEditorCommandHandler > mStandardCommandHandler
Definition: libraryeditor.h:175
Library * mLibrary
Definition: libraryeditor.h:178
QScopedPointer< QAction > mActionToolSpecialPadTest
Definition: libraryeditor.h:248
QScopedPointer< QAction > mActionMoveUp
Definition: libraryeditor.h:218
QScopedPointer< QAction > mActionFind
Definition: libraryeditor.h:202
QScopedPointer< QAction > mActionToolSpecialPadThermal
Definition: libraryeditor.h:245
QScopedPointer< QAction > mActionGenerate
Definition: libraryeditor.h:229
QScopedPointer< QAction > mActionToolRect
Definition: libraryeditor.h:235
QScopedPointer< QAction > mActionPreviousPage
Definition: libraryeditor.h:201
The LibraryEditor class.
Definition: libraryeditor.h:65
QList< std::shared_ptr< GraphicsLayer > > getAllLayers() const noexcept override
Definition: libraryeditor.h:92
QScopedPointer< QAction > mActionOnlineDocumentation
Definition: libraryeditor.h:183
Definition: editorwidgetbase.h:68
QScopedPointer< QAction > mActionCopy
Definition: libraryeditor.h:214
QScopedPointer< QAction > mActionAbort
Definition: libraryeditor.h:232
QScopedPointer< QAction > mActionExportPdf
Definition: libraryeditor.h:197
QScopedPointer< QAction > mActionWebsite
Definition: libraryeditor.h:185
The Workspace class represents a workspace with all its data (library, projects, settings, ...)
Definition: workspace.h:54
QScopedPointer< QAction > mActionCloseAllTabs
Definition: libraryeditor.h:189
QScopedPointer< QAction > mActionGenerateCourtyard
Definition: libraryeditor.h:231