NDEVR
API Documentation
CustomerJobsList

Table widget that lists all jobs belonging to a customer. More...

Inheritance diagram for CustomerJobsList:
[legend]
Collaboration diagram for CustomerJobsList:
[legend]

Public Member Functions

 CustomerJobsList (QTModelManager *manager, QWidget *parent=nullptr)
 Constructs a customer jobs list with a model manager.
 CustomerJobsList (QWidget *parent=nullptr)
 Constructs an empty customer jobs list.
void setCustomerParent (const DynamicPointer< QTDesignObject > &object)
 Sets the customer parent whose jobs should be displayed.
virtual void setModelManager (QTModelManager *manager) override
 Sets the model manager and refreshes the table.
Public Member Functions inherited from DesignPropertyTable
 DesignPropertyTable (QTModelManager *manager, QWidget *parent=nullptr)
 Constructs a DesignPropertyTable with a model manager.
 DesignPropertyTable (QWidget *parent=nullptr)
 Constructs a DesignPropertyTable without a model manager.
uint04 addColumn (const DesignParameter &parameter, bool is_editable=true)
 Adds a column displaying the given design parameter.
uint04 addColumn (const ModelTableColumnSpec &column)
 Adds a column from a fully specified ModelTableColumnSpec.
uint04 addColumn (const TranslatedString &custom_column_name, const DesignParameter &parameter, bool is_editable=true)
 Adds a column with a custom name displaying the given design parameter.
uint04 addColumn (const TranslatedString &name, const StringView &icon, const std::function< void(UUID)> &callback)
 Adds a button column with a custom icon and click callback.
uint04 addColumn (NDPO property, bool is_editable=true)
 Adds a column displaying the given NDPO property.
void addListItem (const UUID &id)
 Adds a single object to the table.
uint04 addMaterialDataColumn (const TranslatedString &custom_column_name=TranslatedString())
 Adds a column showing material data for each design object.
ButtonaddNewButton (std::function< void(Button *)> callback, const TranslatedString &new_title=_t("Add New"), const StringView &add_icon="plus")
 Adds an "Add New" button to the bottom button bar.
void addOpenButton (std::function< void(Button *)> callback, const TranslatedString &new_title=_t("Open"), const StringView &add_icon="open")
 Adds an "Open" button to the bottom button bar.
uint04 addParentPathColumn (const TranslatedString &custom_column_name=TranslatedString())
 Adds a column showing the parent path of each design object.
void addWidget (QWidget *widget)
 Adds a custom widget to the bottom button bar.
bool event (QEvent *event) override
 Handles events, including custom polish events for deferred setup.
void filterAndSetList (Buffer< UUID > ids)
 Applies the current search filter and sets the list of objects to display.
bool isEditable ()
 Returns whether the table is currently editable.
const std::function< void(Model, PopupInfo)> & selectedCallback () const
 Returns the current selection callback.
Buffer< UUIDselectedIDs () const
 Returns the UUIDs of the currently selected rows.
void setAddedFilter (const std::function< bool(const Model &)> &callback)
 Sets a custom filter callback applied when objects are added.
void setColumnEditable (uint04 column, bool editable)
 Sets whether a specific column is editable.
void setColumnVisible (uint04 column, bool visible)
 Shows or hides a specific column.
void setEditable (bool editable)
 Sets whether the entire table is editable.
void setList (const Buffer< UUID > &ids)
 Sets the list of objects to display in the table.
void setModels (const Buffer< Model > &models)
 Sets the table contents from a buffer of Models.
void setSelectedCallback (const std::function< void(Model, PopupInfo)> &callback)
 Sets the callback invoked when a row is selected.
void setSortCallback (const std::function< bool(const Model &a, const Model &b)> &callback)
 Sets a custom sort comparison callback for ordering rows.
void setTypeAddedFilter (const String &type)
 Sets a type-based filter so only objects of the given type appear when added.
void setup ()
 Performs initial setup of the table layout, search bar, and edit button.
void setupTable ()
 Sets up the table view, proxy model, and delegate.
void showSearch (bool show_search)
 Shows or hides the search bar.
void updateRow (uint04 row)
 Updates the data display for a specific row.
void viewSettingsSignal ()
 Emitted when the view settings should be shown or updated.

Protected Member Functions

void setupJobsTable ()
 Sets up the table columns and populates job rows.
Protected Member Functions inherited from DesignPropertyTable
void contextMenu (const QPoint &pos)
 Slot called to display a context menu at the given position.
void selected (QModelIndex index)
 Slot called when a table row is selected.

Protected Attributes

DynamicPointer< QTDesignObjectm_object_parent
 The customer whose jobs are displayed.
Protected Attributes inherited from DesignPropertyTable
QHBoxLayout * m_bottom_button_layout
 The layout for buttons at the bottom of the table.
Buttonm_edit_button
 The button for toggling edit mode.
QTModelManagerm_manager
 The model manager providing design objects.
DesignObjectSearchWidgetm_search_text
 The search text input widget.
QWidget * m_search_widget
 The container widget for the search bar.
DesignSortFilterProxyModelm_sort_model
 The sort/filter proxy model.
DesignPropertyTableViewm_table_view
 The table view displaying design object properties.
DesignTableModelm_view_model
 The underlying table model.

Detailed Description

Table widget that lists all jobs belonging to a customer.

Displays job entries in a property table format, filtered by the selected customer parent.

Definition at line 12 of file CustomerJobsList.h.

Constructor & Destructor Documentation

◆ CustomerJobsList() [1/2]

CustomerJobsList::CustomerJobsList ( QWidget * parent = nullptr)
explicit

Constructs an empty customer jobs list.

Parameters
[in]parentOptional parent widget.

◆ CustomerJobsList() [2/2]

CustomerJobsList::CustomerJobsList ( QTModelManager * manager,
QWidget * parent = nullptr )

Constructs a customer jobs list with a model manager.

Parameters
[in]managerThe model manager providing data access.
[in]parentOptional parent widget.

Member Function Documentation

◆ setCustomerParent()

void CustomerJobsList::setCustomerParent ( const DynamicPointer< QTDesignObject > & object)

Sets the customer parent whose jobs should be displayed.

Parameters
[in]objectThe customer design object.

◆ setModelManager()

virtual void CustomerJobsList::setModelManager ( QTModelManager * manager)
overridevirtual

Sets the model manager and refreshes the table.

Parameters
[in]managerThe model manager to use.

Reimplemented from DesignPropertyTable.


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