LibrePCB Developers Documentation
Loading...
Searching...
No Matches
PackageTab Class Referencefinal

The PackageTab class. More...

#include <packagetab.h>

+ Inheritance diagram for PackageTab:
+ Collaboration diagram for PackageTab:

Public Types

enum class  Mode
 
- Public Types inherited from PackageEditorFsmAdapter
enum class  Feature : quint32
 

Signals

void layerRequested (const Layer &layer)
 
void angleRequested (const Angle &angle)
 
void ratioRequested (const UnsignedLimitedRatio &ratio)
 
void filledRequested (bool filled)
 
void grabAreaRequested (bool grabArea)
 
void valueRequested (const QString &value)
 
void hAlignRequested (const HAlign &align)
 
void vAlignRequested (const VAlign &align)
 
void packagePadRequested (const std::optional< Uuid > &pad)
 
void componentSideRequested (Pad::ComponentSide side)
 
void shapeRequested (const ui::PadShape shape)
 
void pressFitRequested (bool pressFit)
 
void zoneLayerRequested (Zone::Layer layer, bool enable)
 
void zoneRuleRequested (Zone::Rule rule, bool enable)
 
- Signals inherited from WindowTab
void panelPageRequested (ui::PanelPage p)
 
void closeRequested ()
 
void closeEnforced ()
 
void statusBarMessageChanged (const QString &message, int timeoutMs)
 
void cursorCoordinatesChanged (const Point &pos, const LengthUnit &unit)
 

Public Member Functions

 PackageTab ()=delete
 
 PackageTab (const PackageTab &other)=delete
 
 PackageTab (LibraryEditor &editor, std::unique_ptr< Package > pkg, Mode mode, QObject *parent=nullptr) noexcept
 
 ~PackageTab () noexcept
 
FilePath getDirectoryPath () const noexcept override
 
ui::TabData getUiData () const noexcept override
 
ui::PackageTabData getDerivedUiData () const noexcept
 
void setDerivedUiData (const ui::PackageTabData &data) noexcept
 
void activate () noexcept override
 
void deactivate () noexcept override
 
void trigger (ui::TabAction a) noexcept override
 
slint::Image renderScene (float width, float height, int scene) noexcept override
 
bool processScenePointerEvent (const QPointF &pos, slint::private_api::PointerEvent e) noexcept override
 
bool processSceneScrolled (const QPointF &pos, slint::private_api::PointerScrollEvent e) noexcept override
 
bool processSceneKeyEvent (const slint::private_api::KeyEvent &e) noexcept override
 
bool requestClose () noexcept override
 Request to close the tab.
 
bool graphicsSceneKeyPressed (const GraphicsSceneKeyEvent &e) noexcept override
 
bool graphicsSceneKeyReleased (const GraphicsSceneKeyEvent &e) noexcept override
 
bool graphicsSceneMouseMoved (const GraphicsSceneMouseEvent &e) noexcept override
 
bool graphicsSceneLeftMouseButtonPressed (const GraphicsSceneMouseEvent &e) noexcept override
 
bool graphicsSceneLeftMouseButtonReleased (const GraphicsSceneMouseEvent &e) noexcept override
 
bool graphicsSceneLeftMouseButtonDoubleClicked (const GraphicsSceneMouseEvent &e) noexcept override
 
bool graphicsSceneRightMouseButtonReleased (const GraphicsSceneMouseEvent &e) noexcept override
 
QWidget * fsmGetParentWidget () noexcept override
 
GraphicsScenefsmGetGraphicsScene () noexcept override
 
PositiveLength fsmGetGridInterval () const noexcept override
 
void fsmSetViewCursor (const std::optional< Qt::CursorShape > &shape) noexcept override
 
void fsmSetViewGrayOut (bool grayOut) noexcept override
 
void fsmSetViewInfoBoxText (const QString &text) noexcept override
 
void fsmSetViewRuler (const std::optional< std::pair< Point, Point > > &pos) noexcept override
 
void fsmSetSceneCursor (const Point &pos, bool cross, bool circle) noexcept override
 
QPainterPath fsmCalcPosWithTolerance (const Point &pos, qreal multiplier) const noexcept override
 
Point fsmMapGlobalPosToScenePos (const QPoint &pos) const noexcept override
 
void fsmSetStatusBarMessage (const QString &message, int timeoutMs=-1) noexcept override
 
void fsmSetFeatures (Features features) noexcept override
 
void fsmToolLeave () noexcept override
 
void fsmToolEnter (PackageEditorState_Select &state) noexcept override
 
void fsmToolEnter (PackageEditorState_DrawLine &state) noexcept override
 
void fsmToolEnter (PackageEditorState_DrawRect &state) noexcept override
 
void fsmToolEnter (PackageEditorState_DrawPolygon &state) noexcept override
 
void fsmToolEnter (PackageEditorState_DrawCircle &state) noexcept override
 
void fsmToolEnter (PackageEditorState_DrawArc &state) noexcept override
 
void fsmToolEnter (PackageEditorState_AddNames &state) noexcept override
 
void fsmToolEnter (PackageEditorState_AddValues &state) noexcept override
 
void fsmToolEnter (PackageEditorState_DrawText &state) noexcept override
 
void fsmToolEnter (PackageEditorState_AddPads &state) noexcept override
 
void fsmToolEnter (PackageEditorState_DrawZone &state) noexcept override
 
void fsmToolEnter (PackageEditorState_AddHoles &state) noexcept override
 
void fsmToolEnter (PackageEditorState_ReNumberPads &state) noexcept override
 
void fsmToolEnter (PackageEditorState_Measure &state) noexcept override
 
PackageTaboperator= (const PackageTab &rhs)=delete
 
template<>
bool autoFix (const MsgNameNotTitleCase &msg)
 
template<>
bool autoFix (const MsgMissingAuthor &msg)
 
template<>
bool autoFix (const MsgMissingCategories &msg)
 
template<>
bool autoFix (const MsgDeprecatedAssemblyType &msg)
 
template<>
bool autoFix (const MsgSuspiciousAssemblyType &msg)
 
template<>
bool autoFix (const MsgMissingPackageOutline &msg)
 
template<>
bool autoFix (const MsgMissingCourtyard &msg)
 
template<>
bool autoFix (const MsgMinimumWidthViolation &msg)
 
template<>
bool autoFix (const MsgMissingFootprint &msg)
 
template<>
bool autoFix (const MsgMissingFootprintModel &msg)
 
template<>
bool autoFix (const MsgMissingFootprintName &msg)
 
template<>
bool autoFix (const MsgMissingFootprintValue &msg)
 
template<>
bool autoFix (const MsgFootprintOriginNotInCenter &msg)
 
template<>
bool autoFix (const MsgWrongFootprintTextLayer &msg)
 
template<>
bool autoFix (const MsgUnusedCustomPadOutline &msg)
 
template<>
bool autoFix (const MsgInvalidCustomPadOutline &msg)
 
template<>
bool autoFix (const MsgPadStopMaskOff &msg)
 
template<>
bool autoFix (const MsgSmtPadWithSolderPaste &msg)
 
template<>
bool autoFix (const MsgThtPadWithSolderPaste &msg)
 
template<>
bool autoFix (const MsgPadWithCopperClearance &msg)
 
template<>
bool autoFix (const MsgFiducialClearanceLessThanStopMask &msg)
 
template<>
bool autoFix (const MsgHoleWithoutStopMask &msg)
 
template<>
bool autoFix (const MsgUnspecifiedPadFunction &msg)
 
template<>
bool autoFix (const MsgSuspiciousPadFunction &msg)
 
- Public Member Functions inherited from LibraryEditorTab
 LibraryEditorTab ()=delete
 
 LibraryEditorTab (const LibraryEditorTab &other)=delete
 
 LibraryEditorTab (LibraryEditor &editor, QObject *parent=nullptr) noexcept
 
virtual ~LibraryEditorTab () noexcept
 
LibraryEditorTaboperator= (const LibraryEditorTab &rhs)=delete
 
- Public Member Functions inherited from WindowTab
 WindowTab ()=delete
 
 WindowTab (const WindowTab &other)=delete
 
 WindowTab (GuiApplication &app, QObject *parent=nullptr) noexcept
 
virtual ~WindowTab () noexcept
 
virtual void setWindow (MainWindow *w) noexcept
 
virtual void setUiData (const ui::TabData &data) noexcept
 
WindowTaboperator= (const WindowTab &rhs)=delete
 
- Public Member Functions inherited from IF_GraphicsViewEventHandler
 IF_GraphicsViewEventHandler () noexcept
 
virtual ~IF_GraphicsViewEventHandler () noexcept
 

Public Attributes

Signal< PackageTabonDerivedUiDataChanged
 
- Public Attributes inherited from WindowTab
Signal< WindowTabonUiDataChanged
 

Protected Member Functions

void watchedFilesModifiedChanged () noexcept override
 
void reloadFromDisk () override
 
std::optional< std::pair< RuleCheckMessageList, QSet< SExpression > > > runChecksImpl () override
 
bool autoFixImpl (const std::shared_ptr< const RuleCheckMessage > &msg, bool checkOnly) override
 
template<typename MessageType >
bool autoFixHelper (const std::shared_ptr< const RuleCheckMessage > &msg, bool checkOnly)
 
template<typename MessageType >
bool autoFix (const MessageType &msg)
 
template<typename MessageType >
bool fixPadFunction (const MessageType &msg)
 
void messageApprovalChanged (const SExpression &approval, bool approved) noexcept override
 
void notifyDerivedUiDataChanged () noexcept override
 
- Protected Member Functions inherited from LibraryEditorTab
bool isPathOutsideLibDir () const noexcept
 
bool hasUnsavedChanges () const noexcept
 
void setWatchedFiles (const TransactionalDirectory &dir, const QSet< QString > &filenames) noexcept
 
void scheduleChecks () noexcept
 
void runChecks () noexcept
 
QString getWorkspaceSettingsUserName () const noexcept
 
- Protected Member Functions inherited from WindowTab
QWidget * getWindow () const noexcept
 

Private Member Functions

void setCurrentFootprintIndex (int index) noexcept
 
void setCurrentModelIndex (int index) noexcept
 
void autoSelectCurrentModelIndex () noexcept
 
bool isWritable () const noexcept
 
void refreshUiData () noexcept
 
void commitUiData () noexcept
 
bool save () noexcept
 
void memorizeInterface () noexcept
 
void updateWatchedFiles () noexcept
 
void setGridInterval (const PositiveLength &interval) noexcept
 
bool execGraphicsExportDialog (GraphicsExportDialog::Output output, const QString &settingsKey) noexcept
 
void scheduleOpenGlSceneUpdate () noexcept
 
void updateOpenGlScene () noexcept
 
bool toggleBackgroundImage () noexcept
 
void applyBackgroundImageSettings () noexcept
 
FilePath getBackgroundImageCacheDir () const noexcept
 
void requestRepaint () noexcept
 
void applyTheme () noexcept
 

Private Attributes

std::unique_ptr< PackagemPackage
 
std::unique_ptr< GraphicsLayerListmLayers
 
std::unique_ptr< SlintGraphicsViewmView
 
bool mOpenGlSceneRebuildScheduled
 
const bool mIsNewElement
 
bool mWizardMode
 
int mCurrentPageIndex
 
bool mView3d
 
Theme::GridStyle mGridStyle
 
LengthUnit mUnit
 
bool mChooseCategory
 
std::shared_ptr< PackageModelmCurrentModel
 
std::unique_ptr< OpenGlProjectionmOpenGlProjection
 
QHash< OpenGlObject::Type, float > mAlpha
 
QStringList mOpenGlSceneBuilderErrors
 
QPointF mSceneImagePos
 
int mFrameIndex
 
slint::SharedString mName
 
slint::SharedString mNameError
 
ElementName mNameParsed
 
slint::SharedString mDescription
 
slint::SharedString mKeywords
 
slint::SharedString mAuthor
 
slint::SharedString mVersion
 
slint::SharedString mVersionError
 
Version mVersionParsed
 
bool mDeprecated
 
std::shared_ptr< LibraryElementCategoriesModelmCategories
 
std::shared_ptr< CategoryTreeModelmCategoriesTree
 
Package::AssemblyType mAssemblyType
 
LengthEditContext mMinCopperClearance
 
std::shared_ptr< PackagePadListModelmPads
 
std::shared_ptr< slint::SortModel< ui::PackagePadData > > mPadsSorted
 
slint::SharedString mNewPadName
 
slint::SharedString mNewPadNameError
 
std::shared_ptr< FootprintListModelmFootprints
 
std::shared_ptr< PackageModelListModelmModels
 
Features mToolFeatures
 
ui::EditorTool mTool
 
Qt::CursorShape mToolCursorShape
 
QString mToolOverlayText
 
QVector< const Layer * > mToolLayersQt
 
std::shared_ptr< slint::VectorModel< slint::SharedString > > mToolLayers
 
const LayermToolLayer
 
LengthEditContext mToolLineWidth
 
LengthEditContext mToolSize
 
LengthEditContext mToolDrill
 
Angle mToolAngle
 
UnsignedLimitedRatio mToolRatio
 
bool mToolFilled
 
bool mToolGrabArea
 
QString mToolValue
 
std::shared_ptr< slint::VectorModel< slint::SharedString > > mToolValueSuggestions
 
Alignment mToolAlign
 
QVector< std::optional< Uuid > > mToolPackagePadsQt
 
std::shared_ptr< slint::VectorModel< slint::SharedString > > mToolPackagePads
 
std::optional< UuidmToolPackagePad
 
Pad::ComponentSide mToolComponentSide
 
ui::PadShape mToolShape
 
bool mToolFiducial
 
bool mToolPressFit
 
Zone::Layers mToolZoneLayers
 
Zone::Rules mToolZoneRules
 
QVector< QMetaObject::Connection > mFsmStateConnections
 Editor state machine.
 
std::unique_ptr< PackageEditorFsmmFsm
 
std::unique_ptr< GraphicsScenemScene
 
std::unique_ptr< SlintOpenGlViewmOpenGlView
 
std::unique_ptr< OpenGlSceneBuildermOpenGlSceneBuilder
 
std::unique_ptr< QTimer > mOpenGlSceneRebuildTimer
 
BackgroundImageSettings mBackgroundImageSettings
 
std::shared_ptr< QGraphicsPixmapItem > mBackgroundImageGraphicsItem
 
bool mIsInterfaceBroken
 Broken interface detection.
 
QSet< UuidmOriginalPackagePadUuids
 
FootprintList mOriginalFootprints
 

Additional Inherited Members

- Protected Attributes inherited from LibraryEditorTab
LibraryEditormEditor
 
std::unique_ptr< UndoStackmUndoStack
 
bool mManualModificationsMade
 
QSet< SExpressionmSupportedApprovals
 
QSet< SExpressionmDisappearedApprovals
 
std::shared_ptr< RuleCheckMessagesModelmCheckMessages
 
slint::SharedString mCheckError
 
QTimer mRuleCheckDelayTimer
 
QFileSystemWatcher mFileSystemWatcher
 
QHash< FilePath, QByteArray > mWatchedFileHashes
 To detect modifications.
 
QSet< FilePathmModifiedWatchedFiles
 Modified, but not reloaded yet.
 
bool mAutoReloadOnFileModifications
 Set by derived classes.
 
QTimer mWatchedFilesTimer
 To delay/aggregate the notification & reload.
 
- Protected Attributes inherited from WindowTab
GuiApplicationmApp
 
MainWindowmWindow
 

Detailed Description

The PackageTab class.

Member Enumeration Documentation

◆ Mode

enum class Mode
strong
Enumerator
Open 
New 
Duplicate 

Constructor & Destructor Documentation

◆ PackageTab() [1/3]

PackageTab ( )
delete

◆ PackageTab() [2/3]

PackageTab ( const PackageTab other)
delete

◆ PackageTab() [3/3]

PackageTab ( LibraryEditor editor,
std::unique_ptr< Package pkg,
Mode  mode,
QObject *  parent = nullptr 
)
explicitnoexcept

◆ ~PackageTab()

~PackageTab ( )
noexcept
+ Here is the call graph for this function:

Member Function Documentation

◆ getDirectoryPath()

FilePath getDirectoryPath ( ) const
overridevirtualnoexcept

Implements LibraryEditorTab.

◆ getUiData()

ui::TabData getUiData ( ) const
overridevirtualnoexcept

Implements WindowTab.

+ Here is the call graph for this function:

◆ getDerivedUiData()

ui::PackageTabData getDerivedUiData ( ) const
noexcept
+ Here is the call graph for this function:

◆ setDerivedUiData()

void setDerivedUiData ( const ui::PackageTabData &  data)
noexcept
+ Here is the call graph for this function:

◆ activate()

void activate ( )
overridevirtualnoexcept

Reimplemented from WindowTab.

+ Here is the call graph for this function:

◆ deactivate()

void deactivate ( )
overridevirtualnoexcept

Reimplemented from WindowTab.

+ Here is the caller graph for this function:

◆ trigger()

void trigger ( ui::TabAction  a)
overridevirtualnoexcept

Reimplemented from WindowTab.

+ Here is the call graph for this function:

◆ renderScene()

slint::Image renderScene ( float  width,
float  height,
int  scene 
)
overridevirtualnoexcept

Reimplemented from WindowTab.

◆ processScenePointerEvent()

bool processScenePointerEvent ( const QPointF &  pos,
slint::private_api::PointerEvent  e 
)
overridevirtualnoexcept

Reimplemented from WindowTab.

◆ processSceneScrolled()

bool processSceneScrolled ( const QPointF &  pos,
slint::private_api::PointerScrollEvent  e 
)
overridevirtualnoexcept

Reimplemented from WindowTab.

◆ processSceneKeyEvent()

bool processSceneKeyEvent ( const slint::private_api::KeyEvent &  e)
overridevirtualnoexcept

Reimplemented from WindowTab.

◆ requestClose()

bool requestClose ( )
overridevirtualnoexcept

Request to close the tab.

If there are unsaved changes to the tab, this method will ask the user whether the changes should be saved or not. If the user clicks on "cancel" or the changes could not be saved successfully, this method will return false. If there were no unsaved changes or they were successfully saved, the method returns true.

Return values
trueTab is safe to be closed.
falseTab still has unsaved changes.

Reimplemented from WindowTab.

+ Here is the call graph for this function:

◆ graphicsSceneKeyPressed()

bool graphicsSceneKeyPressed ( const GraphicsSceneKeyEvent e)
overridevirtualnoexcept

Reimplemented from IF_GraphicsViewEventHandler.

◆ graphicsSceneKeyReleased()

bool graphicsSceneKeyReleased ( const GraphicsSceneKeyEvent e)
overridevirtualnoexcept

Reimplemented from IF_GraphicsViewEventHandler.

◆ graphicsSceneMouseMoved()

bool graphicsSceneMouseMoved ( const GraphicsSceneMouseEvent e)
overridevirtualnoexcept

Reimplemented from IF_GraphicsViewEventHandler.

◆ graphicsSceneLeftMouseButtonPressed()

bool graphicsSceneLeftMouseButtonPressed ( const GraphicsSceneMouseEvent e)
overridevirtualnoexcept

Reimplemented from IF_GraphicsViewEventHandler.

◆ graphicsSceneLeftMouseButtonReleased()

bool graphicsSceneLeftMouseButtonReleased ( const GraphicsSceneMouseEvent e)
overridevirtualnoexcept

Reimplemented from IF_GraphicsViewEventHandler.

◆ graphicsSceneLeftMouseButtonDoubleClicked()

bool graphicsSceneLeftMouseButtonDoubleClicked ( const GraphicsSceneMouseEvent e)
overridevirtualnoexcept

Reimplemented from IF_GraphicsViewEventHandler.

◆ graphicsSceneRightMouseButtonReleased()

bool graphicsSceneRightMouseButtonReleased ( const GraphicsSceneMouseEvent e)
overridevirtualnoexcept

Reimplemented from IF_GraphicsViewEventHandler.

◆ fsmGetParentWidget()

QWidget * fsmGetParentWidget ( )
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmGetGraphicsScene()

GraphicsScene * fsmGetGraphicsScene ( )
overridevirtualnoexcept

◆ fsmGetGridInterval()

PositiveLength fsmGetGridInterval ( ) const
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmSetViewCursor()

void fsmSetViewCursor ( const std::optional< Qt::CursorShape > &  shape)
overridevirtualnoexcept

◆ fsmSetViewGrayOut()

void fsmSetViewGrayOut ( bool  grayOut)
overridevirtualnoexcept

◆ fsmSetViewInfoBoxText()

void fsmSetViewInfoBoxText ( const QString &  text)
overridevirtualnoexcept

◆ fsmSetViewRuler()

void fsmSetViewRuler ( const std::optional< std::pair< Point, Point > > &  pos)
overridevirtualnoexcept

◆ fsmSetSceneCursor()

void fsmSetSceneCursor ( const Point pos,
bool  cross,
bool  circle 
)
overridevirtualnoexcept

◆ fsmCalcPosWithTolerance()

QPainterPath fsmCalcPosWithTolerance ( const Point pos,
qreal  multiplier 
) const
overridevirtualnoexcept

◆ fsmMapGlobalPosToScenePos()

Point fsmMapGlobalPosToScenePos ( const QPoint &  pos) const
overridevirtualnoexcept

◆ fsmSetStatusBarMessage()

void fsmSetStatusBarMessage ( const QString &  message,
int  timeoutMs = -1 
)
overridevirtualnoexcept

◆ fsmSetFeatures()

void fsmSetFeatures ( Features  features)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the caller graph for this function:

◆ fsmToolLeave()

void fsmToolLeave ( )
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [1/14]

void fsmToolEnter ( PackageEditorState_Select state)
overridevirtualnoexcept

◆ fsmToolEnter() [2/14]

void fsmToolEnter ( PackageEditorState_DrawLine state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [3/14]

void fsmToolEnter ( PackageEditorState_DrawRect state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [4/14]

void fsmToolEnter ( PackageEditorState_DrawPolygon state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [5/14]

void fsmToolEnter ( PackageEditorState_DrawCircle state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [6/14]

void fsmToolEnter ( PackageEditorState_DrawArc state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [7/14]

void fsmToolEnter ( PackageEditorState_AddNames state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [8/14]

void fsmToolEnter ( PackageEditorState_AddValues state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [9/14]

void fsmToolEnter ( PackageEditorState_DrawText state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [10/14]

void fsmToolEnter ( PackageEditorState_AddPads state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [11/14]

void fsmToolEnter ( PackageEditorState_DrawZone state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [12/14]

void fsmToolEnter ( PackageEditorState_AddHoles state)
overridevirtualnoexcept

Implements PackageEditorFsmAdapter.

+ Here is the call graph for this function:

◆ fsmToolEnter() [13/14]

void fsmToolEnter ( PackageEditorState_ReNumberPads state)
overridevirtualnoexcept

◆ fsmToolEnter() [14/14]

void fsmToolEnter ( PackageEditorState_Measure state)
overridevirtualnoexcept

◆ operator=()

PackageTab & operator= ( const PackageTab rhs)
delete

◆ layerRequested

void layerRequested ( const Layer layer)
signal
+ Here is the caller graph for this function:

◆ angleRequested

void angleRequested ( const Angle angle)
signal
+ Here is the caller graph for this function:

◆ ratioRequested

void ratioRequested ( const UnsignedLimitedRatio ratio)
signal
+ Here is the caller graph for this function:

◆ filledRequested

void filledRequested ( bool  filled)
signal
+ Here is the caller graph for this function:

◆ grabAreaRequested

void grabAreaRequested ( bool  grabArea)
signal
+ Here is the caller graph for this function:

◆ valueRequested

void valueRequested ( const QString &  value)
signal
+ Here is the caller graph for this function:

◆ hAlignRequested

void hAlignRequested ( const HAlign align)
signal
+ Here is the caller graph for this function:

◆ vAlignRequested

void vAlignRequested ( const VAlign align)
signal
+ Here is the caller graph for this function:

◆ packagePadRequested

void packagePadRequested ( const std::optional< Uuid > &  pad)
signal
+ Here is the caller graph for this function:

◆ componentSideRequested

void componentSideRequested ( Pad::ComponentSide  side)
signal
+ Here is the caller graph for this function:

◆ shapeRequested

void shapeRequested ( const ui::PadShape  shape)
signal
+ Here is the caller graph for this function:

◆ pressFitRequested

void pressFitRequested ( bool  pressFit)
signal
+ Here is the caller graph for this function:

◆ zoneLayerRequested

void zoneLayerRequested ( Zone::Layer  layer,
bool  enable 
)
signal
+ Here is the caller graph for this function:

◆ zoneRuleRequested

void zoneRuleRequested ( Zone::Rule  rule,
bool  enable 
)
signal
+ Here is the caller graph for this function:

◆ watchedFilesModifiedChanged()

void watchedFilesModifiedChanged ( )
overrideprotectedvirtualnoexcept

Reimplemented from LibraryEditorTab.

◆ reloadFromDisk()

void reloadFromDisk ( )
overrideprotectedvirtual

Reimplemented from LibraryEditorTab.

+ Here is the call graph for this function:

◆ runChecksImpl()

std::optional< std::pair< RuleCheckMessageList, QSet< SExpression > > > runChecksImpl ( )
overrideprotectedvirtual

Implements LibraryEditorTab.

◆ autoFixImpl()

bool autoFixImpl ( const std::shared_ptr< const RuleCheckMessage > &  msg,
bool  checkOnly 
)
overrideprotectedvirtual

Implements LibraryEditorTab.

◆ autoFixHelper()

template<typename MessageType >
bool autoFixHelper ( const std::shared_ptr< const RuleCheckMessage > &  msg,
bool  checkOnly 
)
protected
+ Here is the call graph for this function:

◆ autoFix() [1/25]

template<typename MessageType >
bool autoFix ( const MessageType &  msg)
protected
+ Here is the caller graph for this function:

◆ fixPadFunction()

template<typename MessageType >
bool fixPadFunction ( const MessageType &  msg)
protected
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ messageApprovalChanged()

void messageApprovalChanged ( const SExpression approval,
bool  approved 
)
overrideprotectedvirtualnoexcept

Implements LibraryEditorTab.

◆ notifyDerivedUiDataChanged()

void notifyDerivedUiDataChanged ( )
overrideprotectedvirtualnoexcept

Implements LibraryEditorTab.

◆ setCurrentFootprintIndex()

void setCurrentFootprintIndex ( int  index)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCurrentModelIndex()

void setCurrentModelIndex ( int  index)
privatenoexcept
+ Here is the caller graph for this function:

◆ autoSelectCurrentModelIndex()

void autoSelectCurrentModelIndex ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isWritable()

bool isWritable ( ) const
privatenoexcept
+ Here is the caller graph for this function:

◆ refreshUiData()

void refreshUiData ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ commitUiData()

void commitUiData ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ save()

bool save ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ memorizeInterface()

void memorizeInterface ( )
privatenoexcept
+ Here is the caller graph for this function:

◆ updateWatchedFiles()

void updateWatchedFiles ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setGridInterval()

void setGridInterval ( const PositiveLength interval)
privatenoexcept

◆ execGraphicsExportDialog()

bool execGraphicsExportDialog ( GraphicsExportDialog::Output  output,
const QString &  settingsKey 
)
privatenoexcept
+ Here is the call graph for this function:

◆ scheduleOpenGlSceneUpdate()

void scheduleOpenGlSceneUpdate ( )
privatenoexcept
+ Here is the caller graph for this function:

◆ updateOpenGlScene()

void updateOpenGlScene ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toggleBackgroundImage()

bool toggleBackgroundImage ( )
privatenoexcept
+ Here is the call graph for this function:

◆ applyBackgroundImageSettings()

void applyBackgroundImageSettings ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBackgroundImageCacheDir()

FilePath getBackgroundImageCacheDir ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ requestRepaint()

void requestRepaint ( )
privatenoexcept
+ Here is the caller graph for this function:

◆ applyTheme()

void applyTheme ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ autoFix() [2/25]

template<>
bool autoFix ( const MsgNameNotTitleCase msg)
+ Here is the call graph for this function:

◆ autoFix() [3/25]

template<>
bool autoFix ( const MsgMissingAuthor msg)
+ Here is the call graph for this function:

◆ autoFix() [4/25]

template<>
bool autoFix ( const MsgMissingCategories msg)

◆ autoFix() [5/25]

template<>
bool autoFix ( const MsgDeprecatedAssemblyType msg)

◆ autoFix() [6/25]

template<>
bool autoFix ( const MsgSuspiciousAssemblyType msg)

◆ autoFix() [7/25]

template<>
bool autoFix ( const MsgMissingPackageOutline msg)
+ Here is the call graph for this function:

◆ autoFix() [8/25]

template<>
bool autoFix ( const MsgMissingCourtyard msg)
+ Here is the call graph for this function:

◆ autoFix() [9/25]

template<>
bool autoFix ( const MsgMinimumWidthViolation msg)
+ Here is the call graph for this function:

◆ autoFix() [10/25]

template<>
bool autoFix ( const MsgMissingFootprint msg)
+ Here is the call graph for this function:

◆ autoFix() [11/25]

template<>
bool autoFix ( const MsgMissingFootprintModel msg)
+ Here is the call graph for this function:

◆ autoFix() [12/25]

template<>
bool autoFix ( const MsgMissingFootprintName msg)
+ Here is the call graph for this function:

◆ autoFix() [13/25]

template<>
bool autoFix ( const MsgMissingFootprintValue msg)
+ Here is the call graph for this function:

◆ autoFix() [14/25]

template<>
bool autoFix ( const MsgFootprintOriginNotInCenter msg)
+ Here is the call graph for this function:

◆ autoFix() [15/25]

template<>
bool autoFix ( const MsgWrongFootprintTextLayer msg)
+ Here is the call graph for this function:

◆ autoFix() [16/25]

template<>
bool autoFix ( const MsgUnusedCustomPadOutline msg)
+ Here is the call graph for this function:

◆ autoFix() [17/25]

template<>
bool autoFix ( const MsgInvalidCustomPadOutline msg)
+ Here is the call graph for this function:

◆ autoFix() [18/25]

template<>
bool autoFix ( const MsgPadStopMaskOff msg)
+ Here is the call graph for this function:

◆ autoFix() [19/25]

template<>
bool autoFix ( const MsgSmtPadWithSolderPaste msg)
+ Here is the call graph for this function:

◆ autoFix() [20/25]

template<>
bool autoFix ( const MsgThtPadWithSolderPaste msg)
+ Here is the call graph for this function:

◆ autoFix() [21/25]

template<>
bool autoFix ( const MsgPadWithCopperClearance msg)
+ Here is the call graph for this function:

◆ autoFix() [22/25]

template<>
bool autoFix ( const MsgFiducialClearanceLessThanStopMask msg)
+ Here is the call graph for this function:

◆ autoFix() [23/25]

template<>
bool autoFix ( const MsgHoleWithoutStopMask msg)
+ Here is the call graph for this function:

◆ autoFix() [24/25]

template<>
bool autoFix ( const MsgUnspecifiedPadFunction msg)
+ Here is the call graph for this function:

◆ autoFix() [25/25]

template<>
bool autoFix ( const MsgSuspiciousPadFunction msg)
+ Here is the call graph for this function:

Member Data Documentation

◆ onDerivedUiDataChanged

Signal<PackageTab> onDerivedUiDataChanged

◆ mPackage

std::unique_ptr<Package> mPackage
private

◆ mLayers

std::unique_ptr<GraphicsLayerList> mLayers
private

◆ mView

std::unique_ptr<SlintGraphicsView> mView
private

◆ mOpenGlSceneRebuildScheduled

bool mOpenGlSceneRebuildScheduled
private

◆ mIsNewElement

const bool mIsNewElement
private

◆ mWizardMode

bool mWizardMode
private

◆ mCurrentPageIndex

int mCurrentPageIndex
private

◆ mView3d

bool mView3d
private

◆ mGridStyle

Theme::GridStyle mGridStyle
private

◆ mUnit

LengthUnit mUnit
private

◆ mChooseCategory

bool mChooseCategory
private

◆ mCurrentModel

std::shared_ptr<PackageModel> mCurrentModel
private

◆ mOpenGlProjection

std::unique_ptr<OpenGlProjection> mOpenGlProjection
private

◆ mAlpha

QHash<OpenGlObject::Type, float> mAlpha
private

◆ mOpenGlSceneBuilderErrors

QStringList mOpenGlSceneBuilderErrors
private

◆ mSceneImagePos

QPointF mSceneImagePos
private

◆ mFrameIndex

int mFrameIndex
private

◆ mName

slint::SharedString mName
private

◆ mNameError

slint::SharedString mNameError
private

◆ mNameParsed

ElementName mNameParsed
private

◆ mDescription

slint::SharedString mDescription
private

◆ mKeywords

slint::SharedString mKeywords
private

◆ mAuthor

slint::SharedString mAuthor
private

◆ mVersion

slint::SharedString mVersion
private

◆ mVersionError

slint::SharedString mVersionError
private

◆ mVersionParsed

Version mVersionParsed
private

◆ mDeprecated

bool mDeprecated
private

◆ mCategories

std::shared_ptr<LibraryElementCategoriesModel> mCategories
private

◆ mCategoriesTree

std::shared_ptr<CategoryTreeModel> mCategoriesTree
private

◆ mAssemblyType

Package::AssemblyType mAssemblyType
private

◆ mMinCopperClearance

LengthEditContext mMinCopperClearance
private

◆ mPads

std::shared_ptr<PackagePadListModel> mPads
private

◆ mPadsSorted

std::shared_ptr<slint::SortModel<ui::PackagePadData> > mPadsSorted
private

◆ mNewPadName

slint::SharedString mNewPadName
private

◆ mNewPadNameError

slint::SharedString mNewPadNameError
private

◆ mFootprints

std::shared_ptr<FootprintListModel> mFootprints
private

◆ mModels

std::shared_ptr<PackageModelListModel> mModels
private

◆ mToolFeatures

Features mToolFeatures
private

◆ mTool

ui::EditorTool mTool
private

◆ mToolCursorShape

Qt::CursorShape mToolCursorShape
private

◆ mToolOverlayText

QString mToolOverlayText
private

◆ mToolLayersQt

QVector<const Layer*> mToolLayersQt
private

◆ mToolLayers

std::shared_ptr<slint::VectorModel<slint::SharedString> > mToolLayers
private

◆ mToolLayer

const Layer* mToolLayer
private

◆ mToolLineWidth

LengthEditContext mToolLineWidth
private

◆ mToolSize

LengthEditContext mToolSize
private

◆ mToolDrill

LengthEditContext mToolDrill
private

◆ mToolAngle

Angle mToolAngle
private

◆ mToolRatio

UnsignedLimitedRatio mToolRatio
private

◆ mToolFilled

bool mToolFilled
private

◆ mToolGrabArea

bool mToolGrabArea
private

◆ mToolValue

QString mToolValue
private

◆ mToolValueSuggestions

std::shared_ptr<slint::VectorModel<slint::SharedString> > mToolValueSuggestions
private

◆ mToolAlign

Alignment mToolAlign
private

◆ mToolPackagePadsQt

QVector<std::optional<Uuid> > mToolPackagePadsQt
private

◆ mToolPackagePads

std::shared_ptr<slint::VectorModel<slint::SharedString> > mToolPackagePads
private

◆ mToolPackagePad

std::optional<Uuid> mToolPackagePad
private

◆ mToolComponentSide

Pad::ComponentSide mToolComponentSide
private

◆ mToolShape

ui::PadShape mToolShape
private

◆ mToolFiducial

bool mToolFiducial
private

◆ mToolPressFit

bool mToolPressFit
private

◆ mToolZoneLayers

Zone::Layers mToolZoneLayers
private

◆ mToolZoneRules

Zone::Rules mToolZoneRules
private

◆ mFsmStateConnections

QVector<QMetaObject::Connection> mFsmStateConnections
private

Editor state machine.

◆ mFsm

std::unique_ptr<PackageEditorFsm> mFsm
private

◆ mScene

std::unique_ptr<GraphicsScene> mScene
private

◆ mOpenGlView

std::unique_ptr<SlintOpenGlView> mOpenGlView
private

◆ mOpenGlSceneBuilder

std::unique_ptr<OpenGlSceneBuilder> mOpenGlSceneBuilder
private

◆ mOpenGlSceneRebuildTimer

std::unique_ptr<QTimer> mOpenGlSceneRebuildTimer
private

◆ mBackgroundImageSettings

BackgroundImageSettings mBackgroundImageSettings
private

◆ mBackgroundImageGraphicsItem

std::shared_ptr<QGraphicsPixmapItem> mBackgroundImageGraphicsItem
private

◆ mIsInterfaceBroken

bool mIsInterfaceBroken
private

Broken interface detection.

◆ mOriginalPackagePadUuids

QSet<Uuid> mOriginalPackagePadUuids
private

◆ mOriginalFootprints

FootprintList mOriginalFootprints
private

The documentation for this class was generated from the following files: