NDEVR
API Documentation
TransitIncidentPersonTable

Table widget for displaying and managing persons in a transit incident. More...

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

Public Member Functions

 TransitIncidentPersonTable (const DynamicPointer< QTDesignObject > &parent_object, QWidget *parent_widget=nullptr)
 Constructs a TransitIncidentPersonTable from a parent design object.
 TransitIncidentPersonTable (QTModelManager *manager, QWidget *parent=nullptr)
 Constructs a TransitIncidentPersonTable from a model manager.
void createAddButton (TransitIncidentPersonType person_type)
 Adds an "Add" button to the table that creates a person of the given type.
void createModel (TransitIncidentPersonType person_type, PopupInfo info)
 Creates a new person model of the given type and shows it in a popup editor.
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.
virtual void setModelManager (QTModelManager *manager)
 Sets the model manager and connects it to the table model.
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 init ()
 Initializes the table columns and configuration.
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_parent
 The parent design object for this table.
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 for displaying and managing persons in a transit incident.

Definition at line 17 of file TransitIncidentEntityTable.h.

Constructor & Destructor Documentation

◆ TransitIncidentPersonTable() [1/2]

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

Constructs a TransitIncidentPersonTable from a model manager.

Parameters
[in]managerThe model manager for data access.
[in]parentThe parent widget.

◆ TransitIncidentPersonTable() [2/2]

TransitIncidentPersonTable::TransitIncidentPersonTable ( const DynamicPointer< QTDesignObject > & parent_object,
QWidget * parent_widget = nullptr )

Constructs a TransitIncidentPersonTable from a parent design object.

Parameters
[in]parent_objectThe parent design object containing person models.
[in]parent_widgetThe parent widget.

Member Function Documentation

◆ createAddButton()

void TransitIncidentPersonTable::createAddButton ( TransitIncidentPersonType person_type)

Adds an "Add" button to the table that creates a person of the given type.

Parameters
[in]person_typeThe type of person the button will create.

Referenced by OfficersEditor::OfficersEditor(), TransitIncidentPedestrianEditor::TransitIncidentPedestrianEditor(), and WitnessEditor::WitnessEditor().

◆ createModel()

void TransitIncidentPersonTable::createModel ( TransitIncidentPersonType person_type,
PopupInfo info )

Creates a new person model of the given type and shows it in a popup editor.

Parameters
[in]person_typeThe type of person to create.
[in]infoThe popup display configuration.

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