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

The ComponentCategoryTab class. More...

#include <componentcategorytab.h>

+ Inheritance diagram for ComponentCategoryTab:
+ Collaboration diagram for ComponentCategoryTab:

Public Types

enum class  Mode
 

Public Member Functions

 ComponentCategoryTab ()=delete
 
 ComponentCategoryTab (const ComponentCategoryTab &other)=delete
 
 ComponentCategoryTab (LibraryEditor &editor, std::unique_ptr< ComponentCategory > cat, Mode mode, QObject *parent=nullptr) noexcept
 
 ~ComponentCategoryTab () noexcept
 
FilePath getDirectoryPath () const noexcept override
 
ui::TabData getUiData () const noexcept override
 
ui::CategoryTabData getDerivedUiData () const noexcept
 
void setDerivedUiData (const ui::CategoryTabData &data) noexcept
 
void trigger (ui::TabAction a) noexcept override
 
bool requestClose () noexcept override
 Request to close the tab.
 
ComponentCategoryTaboperator= (const ComponentCategoryTab &rhs)=delete
 
template<>
void autoFix (const MsgNameNotTitleCase &msg)
 
template<>
void autoFix (const MsgMissingAuthor &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 setUiData (const ui::TabData &data) noexcept
 
virtual void activate () noexcept
 
virtual void deactivate () noexcept
 
virtual slint::Image renderScene (float width, float height, int scene) noexcept
 
virtual bool processScenePointerEvent (const QPointF &pos, slint::private_api::PointerEvent e) noexcept
 
virtual bool processSceneScrolled (const QPointF &pos, slint::private_api::PointerScrollEvent e) noexcept
 
virtual bool processSceneKeyEvent (const slint::private_api::KeyEvent &e) noexcept
 
WindowTaboperator= (const WindowTab &rhs)=delete
 

Public Attributes

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

Protected Member Functions

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 >
void autoFix (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 scheduleChecks () noexcept
 
void runChecks () noexcept
 
QString getWorkspaceSettingsUserName () const noexcept
 

Private Member Functions

bool isWritable () const noexcept
 
void refreshUiData () noexcept
 
void commitUiData () noexcept
 
bool save () noexcept
 

Private Attributes

std::unique_ptr< ComponentCategorymCategory
 
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::optional< UuidmParent
 
std::shared_ptr< slint::VectorModel< slint::SharedString > > mParents
 
std::shared_ptr< CategoryTreeModelmParentsModel
 

Additional Inherited Members

- 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)
 
- 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
 
- Protected Attributes inherited from WindowTab
GuiApplicationmApp
 

Detailed Description

Member Enumeration Documentation

◆ Mode

enum class Mode
strong
Enumerator
Open 
New 
Duplicate 

Constructor & Destructor Documentation

◆ ComponentCategoryTab() [1/3]

◆ ComponentCategoryTab() [2/3]

ComponentCategoryTab ( const ComponentCategoryTab other)
delete

◆ ComponentCategoryTab() [3/3]

ComponentCategoryTab ( LibraryEditor editor,
std::unique_ptr< ComponentCategory cat,
Mode  mode,
QObject *  parent = nullptr 
)
explicitnoexcept
+ Here is the call graph for this function:

◆ ~ComponentCategoryTab()

~ComponentCategoryTab ( )
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::CategoryTabData getDerivedUiData ( ) const
noexcept
+ Here is the call graph for this function:

◆ setDerivedUiData()

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

◆ trigger()

void trigger ( ui::TabAction  a)
overridevirtualnoexcept

Reimplemented from WindowTab.

+ Here is the call graph for this function:

◆ 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:

◆ operator=()

ComponentCategoryTab & operator= ( const ComponentCategoryTab rhs)
delete

◆ 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/3]

template<typename MessageType >
void autoFix ( const MessageType &  msg)
protected
+ 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.

◆ isWritable()

bool isWritable ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ 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:

◆ autoFix() [2/3]

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

◆ autoFix() [3/3]

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

Member Data Documentation

◆ onDerivedUiDataChanged

Signal<ComponentCategoryTab> onDerivedUiDataChanged

◆ mCategory

std::unique_ptr<ComponentCategory> mCategory
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

◆ mParent

std::optional<Uuid> mParent
private

◆ mParents

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

◆ mParentsModel

std::shared_ptr<CategoryTreeModel> mParentsModel
private

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