QElectroTech  0.70
Public Slots | Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
LinkSingleElementWidget Class Reference

The LinkSingleElementWidget class this class provide a widget to select an element to be linked to the element given in the constructor. The element given in constructor must be linked with only one other element (like report or slave element). This widget detect automaticaly the kind of element given in the constructor and search all element that can be linked with it. If the element is already linked, the widget ask user to unlink. This widget embedded the diagram command for undo/redo the action. More...

#include <linksingleelementwidget.h>

Public Slots

void updateUi () override
 LinkSingleElementWidget::updateUi Update the content of this widget. More...
 
void buildTree ()
 LinkSingleElementWidget::buildTree Build the content of the QTreeWidget. More...
 

Public Member Functions

 LinkSingleElementWidget (Element *elmt, QWidget *parent=nullptr)
 Methods. More...
 
 ~LinkSingleElementWidget () override
 LinkSingleElementWidget::~LinkSingleElementWidget Default destructor. More...
 
void setElement (Element *element) override
 LinkSingleElementWidget::setElement Set element to be the edited element. More...
 
void apply () override
 LinkSingleElementWidget::apply Apply the new property of the edited element by pushing the associated undo command to parent project undo stack. More...
 
QUndoCommand * associatedUndo () const override
 LinkSingleElementWidget::associatedUndo. More...
 
QString title () const override
 LinkSingleElementWidget::title. More...
 
bool setLiveEdit (bool live_edit) override
 LinkSingleElementWidget::setLiveEdit. More...
 
- Public Member Functions inherited from AbstractElementPropertiesEditorWidget
 AbstractElementPropertiesEditorWidget (QWidget *parent=nullptr)
 
- Public Member Functions inherited from PropertiesEditorWidget
 PropertiesEditorWidget (QWidget *parent=nullptr)
 PropertiesEditorWidget::PropertiesEditorWidget Constructor. More...
 
virtual void reset ()
 
virtual void updateUi ()
 
bool isLiveEdit () const
 PropertiesEditorWidget::isLiveEdit. More...
 

Private Slots

void diagramWasRemovedFromProject ()
 LinkSingleElementWidget::diagramWasRemovedFromProject. More...
 
void showedElementWasDeleted ()
 
void linkTriggered ()
 LinkSingleElementWidget::linkTriggered Action linkis triggered. More...
 
void hideButtons ()
 LinkSingleElementWidget::hideButtons Hide the button displayed when element is already linked. More...
 
void showButtons ()
 LinkSingleElementWidget::showButtons Show the button displayed when element is already linked. More...
 
void headerCustomContextMenuRequested (const QPoint &pos)
 
void on_m_unlink_pb_clicked ()
 
void on_m_tree_widget_itemDoubleClicked (QTreeWidgetItem *item, int column)
 LinkSingleElementWidget::on_m_tree_widget_itemDoubleClicked Highlight the element represented by . More...
 
void on_m_tree_widget_customContextMenuRequested (const QPoint &pos)
 
void on_m_show_linked_pb_clicked ()
 
void on_m_show_this_pb_clicked ()
 
void on_m_search_field_textEdited (const QString &arg1)
 LinkSingleElementWidget::on_m_search_field_textEdited Search all items which match with. More...
 

Private Member Functions

QList< Element * > availableElements ()
 LinkSingleElementWidget::availableElements. More...
 
void setUpCompleter ()
 LinkSingleElementWidget::setUpCompleter Setup the completer of search_field. More...
 
void clearTreeWidget ()
 LinkSingleElementWidget::clearTreeWidget Clear the tree widget. Delete all QTreeWidget (in the tree widget and in the hash). Clear the hash. More...
 
void setUpHeaderLabels ()
 

Private Attributes

Ui::LinkSingleElementWidget * ui
 
bool m_unlink = false
 
Element::kind m_filter
 
QHash< QTreeWidgetItem *, Element * > m_qtwi_elmt_hash
 
QHash< QTreeWidgetItem *, QStringList > m_qtwi_strl_hash
 
QTreeWidgetItem * m_qtwi_at_context_menu = nullptr
 
QTreeWidgetItem * m_pending_qtwi = nullptr
 
Elementm_showed_element = nullptr
 
Elementm_element_to_link = nullptr
 
QMenu * m_context_menu
 
QAction * m_link_action
 
QAction * m_show_qtwi
 
QAction * m_show_element
 
QAction * m_save_header_state
 

Additional Inherited Members

- Protected Member Functions inherited from PropertiesEditorWidget
virtual void enableLiveEdit ()
 
virtual void disableLiveEdit ()
 
- Protected Attributes inherited from AbstractElementPropertiesEditorWidget
QPointer< Elementm_element
 
- Protected Attributes inherited from PropertiesEditorWidget
bool m_live_edit
 

Detailed Description

The LinkSingleElementWidget class this class provide a widget to select an element to be linked to the element given in the constructor. The element given in constructor must be linked with only one other element (like report or slave element). This widget detect automaticaly the kind of element given in the constructor and search all element that can be linked with it. If the element is already linked, the widget ask user to unlink. This widget embedded the diagram command for undo/redo the action.

Definition at line 40 of file linksingleelementwidget.h.

Constructor & Destructor Documentation

◆ LinkSingleElementWidget()

LinkSingleElementWidget::LinkSingleElementWidget ( Element elmt,
QWidget *  parent = nullptr 
)
explicit

◆ ~LinkSingleElementWidget()

LinkSingleElementWidget::~LinkSingleElementWidget ( )
override

Member Function Documentation

◆ apply()

void LinkSingleElementWidget::apply ( )
overridevirtual

LinkSingleElementWidget::apply Apply the new property of the edited element by pushing the associated undo command to parent project undo stack.

Reimplemented from PropertiesEditorWidget.

Definition at line 142 of file linksingleelementwidget.cpp.

References associatedUndo(), AbstractElementPropertiesEditorWidget::m_element, m_element_to_link, m_pending_qtwi, and m_unlink.

Referenced by linkTriggered(), and on_m_unlink_pb_clicked().

◆ associatedUndo()

QUndoCommand * LinkSingleElementWidget::associatedUndo ( ) const
overridevirtual

LinkSingleElementWidget::associatedUndo.

Returns
the undo command associated to the current edition if there isn't change, return nulptr

Reimplemented from PropertiesEditorWidget.

Definition at line 158 of file linksingleelementwidget.cpp.

References AbstractElementPropertiesEditorWidget::m_element, m_element_to_link, m_unlink, LinkElementCommand::setLink(), and LinkElementCommand::unlinkAll().

Referenced by apply().

◆ availableElements()

QList< Element * > LinkSingleElementWidget::availableElements ( )
private

LinkSingleElementWidget::availableElements.

Returns
A QList with all available element to be linked with the edited element. This methode take care of the combo box "find in diagram"

Definition at line 349 of file linksingleelementwidget.cpp.

References Element::AllReport, ElementProvider::freeElement(), AbstractElementPropertiesEditorWidget::m_element, m_filter, and m_unlink.

Referenced by buildTree().

◆ buildTree

void LinkSingleElementWidget::buildTree ( )
slot

◆ clearTreeWidget()

void LinkSingleElementWidget::clearTreeWidget ( )
private

LinkSingleElementWidget::clearTreeWidget Clear the tree widget. Delete all QTreeWidget (in the tree widget and in the hash). Clear the hash.

Definition at line 395 of file linksingleelementwidget.cpp.

References m_qtwi_elmt_hash, m_qtwi_strl_hash, and ui.

Referenced by buildTree().

◆ diagramWasRemovedFromProject

void LinkSingleElementWidget::diagramWasRemovedFromProject ( )
privateslot

LinkSingleElementWidget::diagramWasRemovedFromProject.

  • This slot is called when a diagram is removed from the parent project of edited element to update the content of this widget

Definition at line 448 of file linksingleelementwidget.cpp.

References updateUi().

Referenced by setElement().

◆ headerCustomContextMenuRequested

void LinkSingleElementWidget::headerCustomContextMenuRequested ( const QPoint &  pos)
privateslot

Definition at line 524 of file linksingleelementwidget.cpp.

References m_context_menu, m_save_header_state, and ui.

Referenced by LinkSingleElementWidget().

◆ hideButtons

void LinkSingleElementWidget::hideButtons ( )
privateslot

LinkSingleElementWidget::hideButtons Hide the button displayed when element is already linked.

Definition at line 502 of file linksingleelementwidget.cpp.

References ui.

Referenced by updateUi().

◆ linkTriggered

void LinkSingleElementWidget::linkTriggered ( )
privateslot

◆ on_m_search_field_textEdited

void LinkSingleElementWidget::on_m_search_field_textEdited ( const QString &  arg1)
privateslot

LinkSingleElementWidget::on_m_search_field_textEdited Search all items which match with.

and shows it, other items is hidden. If is empty, show all items.

Parameters
arg1

Definition at line 610 of file linksingleelementwidget.cpp.

References m_qtwi_elmt_hash, and m_qtwi_strl_hash.

◆ on_m_show_linked_pb_clicked

void LinkSingleElementWidget::on_m_show_linked_pb_clicked ( )
privateslot

◆ on_m_show_this_pb_clicked

void LinkSingleElementWidget::on_m_show_this_pb_clicked ( )
privateslot

Definition at line 599 of file linksingleelementwidget.cpp.

References m_show_element.

◆ on_m_tree_widget_customContextMenuRequested

void LinkSingleElementWidget::on_m_tree_widget_customContextMenuRequested ( const QPoint &  pos)
privateslot

◆ on_m_tree_widget_itemDoubleClicked

void LinkSingleElementWidget::on_m_tree_widget_itemDoubleClicked ( QTreeWidgetItem *  item,
int  column 
)
privateslot

◆ on_m_unlink_pb_clicked

void LinkSingleElementWidget::on_m_unlink_pb_clicked ( )
privateslot

◆ setElement()

void LinkSingleElementWidget::setElement ( Element element)
overridevirtual

◆ setLiveEdit()

bool LinkSingleElementWidget::setLiveEdit ( bool  live_edit)
overridevirtual

LinkSingleElementWidget::setLiveEdit.

Parameters
live_edit
Returns

Reimplemented from PropertiesEditorWidget.

Definition at line 333 of file linksingleelementwidget.cpp.

References PropertiesEditorWidget::m_live_edit.

◆ setUpCompleter()

void LinkSingleElementWidget::setUpCompleter ( )
private

LinkSingleElementWidget::setUpCompleter Setup the completer of search_field.

Definition at line 374 of file linksingleelementwidget.cpp.

References m_qtwi_strl_hash, and ui.

Referenced by buildTree().

◆ setUpHeaderLabels()

void LinkSingleElementWidget::setUpHeaderLabels ( )
private

◆ showButtons

void LinkSingleElementWidget::showButtons ( )
privateslot

LinkSingleElementWidget::showButtons Show the button displayed when element is already linked.

Definition at line 515 of file linksingleelementwidget.cpp.

References ui.

Referenced by updateUi().

◆ showedElementWasDeleted

void LinkSingleElementWidget::showedElementWasDeleted ( )
privateslot

Definition at line 455 of file linksingleelementwidget.cpp.

References m_showed_element.

Referenced by on_m_tree_widget_itemDoubleClicked().

◆ title()

QString LinkSingleElementWidget::title ( ) const
overridevirtual

LinkSingleElementWidget::title.

Returns
the title used for this editor

Reimplemented from PropertiesEditorWidget.

Definition at line 179 of file linksingleelementwidget.cpp.

References Element::AllReport, AbstractElementPropertiesEditorWidget::m_element, and QET::Icons::tr.

◆ updateUi

void LinkSingleElementWidget::updateUi ( )
overrideslot

Member Data Documentation

◆ m_context_menu

QMenu* LinkSingleElementWidget::m_context_menu
private

◆ m_element_to_link

Element * LinkSingleElementWidget::m_element_to_link = nullptr
private

Definition at line 96 of file linksingleelementwidget.h.

Referenced by apply(), associatedUndo(), linkTriggered(), and setElement().

◆ m_filter

Element::kind LinkSingleElementWidget::m_filter
private

Definition at line 87 of file linksingleelementwidget.h.

Referenced by availableElements(), and setElement().

◆ m_link_action

QAction* LinkSingleElementWidget::m_link_action
private

◆ m_pending_qtwi

QTreeWidgetItem * LinkSingleElementWidget::m_pending_qtwi = nullptr
private

Definition at line 93 of file linksingleelementwidget.h.

Referenced by apply(), linkTriggered(), and setElement().

◆ m_qtwi_at_context_menu

QTreeWidgetItem* LinkSingleElementWidget::m_qtwi_at_context_menu = nullptr
private

◆ m_qtwi_elmt_hash

QHash<QTreeWidgetItem*, Element*> LinkSingleElementWidget::m_qtwi_elmt_hash
private

◆ m_qtwi_strl_hash

QHash<QTreeWidgetItem*, QStringList> LinkSingleElementWidget::m_qtwi_strl_hash
private

◆ m_save_header_state

QAction * LinkSingleElementWidget::m_save_header_state
private

◆ m_show_element

QAction * LinkSingleElementWidget::m_show_element
private

◆ m_show_qtwi

QAction * LinkSingleElementWidget::m_show_qtwi
private

◆ m_showed_element

Element* LinkSingleElementWidget::m_showed_element = nullptr
private

◆ m_unlink

bool LinkSingleElementWidget::m_unlink = false
private

◆ ui

Ui::LinkSingleElementWidget* LinkSingleElementWidget::ui
private

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