LibrePCB Developers Documentation
BGI_Device Class Referencefinal

The BGI_Device class. More...

#include <bgi_device.h>

Inherits QGraphicsItemGroup.

+ Collaboration diagram for BGI_Device:

Public Types

enum class  Event
 
typedef Slot< BGI_Device, EventOnEditedSlot
 

Public Member Functions

 BGI_Device ()=delete
 
 BGI_Device (const BGI_Device &other)=delete
 
 BGI_Device (BI_Device &device, const IF_GraphicsLayerProvider &lp) noexcept
 
virtual ~BGI_Device () noexcept
 
BI_DevicegetDevice () noexcept
 
QPainterPath shape () const noexcept override
 
BGI_Deviceoperator= (const BGI_Device &rhs)=delete
 

Public Attributes

Signal< BGI_Device, EventonEdited
 

Private Member Functions

void deviceEdited (const BI_Device &obj, BI_Device::Event event) noexcept
 
void layerEdited (const GraphicsLayer &layer, GraphicsLayer::Event event) noexcept
 
virtual QVariant itemChange (GraphicsItemChange change, const QVariant &value) noexcept override
 
void updatePosition () noexcept
 
void updateRotationAndMirrored () noexcept
 
void updateBoardSide () noexcept
 
void updateHoleStopMaskOffsets () noexcept
 
void updateZoneLayers () noexcept
 
std::shared_ptr< GraphicsLayergetLayer (const Layer &layer) const noexcept
 

Private Attributes

BI_DevicemDevice
 
const IF_GraphicsLayerProvidermLayerProvider
 
std::shared_ptr< GraphicsLayermGrabAreaLayer
 
std::shared_ptr< OriginCrossGraphicsItemmOriginCrossGraphicsItem
 
QVector< std::shared_ptr< PrimitiveCircleGraphicsItem > > mCircleGraphicsItems
 
QVector< std::shared_ptr< PrimitivePathGraphicsItem > > mPolygonGraphicsItems
 
QVector< std::shared_ptr< PrimitiveZoneGraphicsItem > > mZoneGraphicsItems
 
QVector< std::shared_ptr< PrimitiveHoleGraphicsItem > > mHoleGraphicsItems
 
QPainterPath mShape
 
BI_Device::OnEditedSlot mOnEditedSlot
 
GraphicsLayer::OnEditedSlot mOnLayerEditedSlot
 

Detailed Description

The BGI_Device class.

Member Typedef Documentation

◆ OnEditedSlot

Member Enumeration Documentation

◆ Event

enum class Event
strong
Enumerator
PositionChanged 
SelectionChanged 

Constructor & Destructor Documentation

◆ BGI_Device() [1/3]

BGI_Device ( )
delete

◆ BGI_Device() [2/3]

BGI_Device ( const BGI_Device other)
delete

◆ BGI_Device() [3/3]

BGI_Device ( BI_Device device,
const IF_GraphicsLayerProvider lp 
)
noexcept
+ Here is the call graph for this function:

◆ ~BGI_Device()

~BGI_Device ( )
virtualnoexcept

Member Function Documentation

◆ getDevice()

BI_Device & getDevice ( )
inlinenoexcept

◆ shape()

QPainterPath shape ( ) const
overridenoexcept

◆ operator=()

BGI_Device & operator= ( const BGI_Device rhs)
delete

◆ deviceEdited()

void deviceEdited ( const BI_Device obj,
BI_Device::Event  event 
)
privatenoexcept

◆ layerEdited()

void layerEdited ( const GraphicsLayer layer,
GraphicsLayer::Event  event 
)
privatenoexcept

◆ itemChange()

QVariant itemChange ( GraphicsItemChange  change,
const QVariant &  value 
)
overrideprivatevirtualnoexcept

◆ updatePosition()

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

◆ updateRotationAndMirrored()

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

◆ updateBoardSide()

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

◆ updateHoleStopMaskOffsets()

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

◆ updateZoneLayers()

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

◆ getLayer()

std::shared_ptr< GraphicsLayer > getLayer ( const Layer layer) const
privatenoexcept
+ Here is the caller graph for this function:

Member Data Documentation

◆ onEdited

Signal<BGI_Device, Event> onEdited

◆ mDevice

BI_Device& mDevice
private

◆ mLayerProvider

const IF_GraphicsLayerProvider& mLayerProvider
private

◆ mGrabAreaLayer

std::shared_ptr<GraphicsLayer> mGrabAreaLayer
private

◆ mOriginCrossGraphicsItem

std::shared_ptr<OriginCrossGraphicsItem> mOriginCrossGraphicsItem
private

◆ mCircleGraphicsItems

QVector<std::shared_ptr<PrimitiveCircleGraphicsItem> > mCircleGraphicsItems
private

◆ mPolygonGraphicsItems

QVector<std::shared_ptr<PrimitivePathGraphicsItem> > mPolygonGraphicsItems
private

◆ mZoneGraphicsItems

QVector<std::shared_ptr<PrimitiveZoneGraphicsItem> > mZoneGraphicsItems
private

◆ mHoleGraphicsItems

QVector<std::shared_ptr<PrimitiveHoleGraphicsItem> > mHoleGraphicsItems
private

◆ mShape

QPainterPath mShape
private

◆ mOnEditedSlot

BI_Device::OnEditedSlot mOnEditedSlot
private

◆ mOnLayerEditedSlot

GraphicsLayer::OnEditedSlot mOnLayerEditedSlot
private

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