QElectroTech  0.70
linksingleelementwidget.h
Go to the documentation of this file.
1 /*
2  Copyright 2006-2019 The QElectroTech Team
3  This file is part of QElectroTech.
4 
5  QElectroTech is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 2 of the License, or
8  (at your option) any later version.
9 
10  QElectroTech is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef LINKSINGLEELEMENTWIDGET_H
19 #define LINKSINGLEELEMENTWIDGET_H
20 
21 #include "element.h"
23 
24 class QTreeWidgetItem;
25 
26 namespace Ui {
28 }
29 
41 {
42  Q_OBJECT
43 
45  public:
46  explicit LinkSingleElementWidget(Element *elmt, QWidget *parent = nullptr);
47  ~LinkSingleElementWidget() override;
48 
49  void setElement (Element *element) override;
50  void apply() override;
51  QUndoCommand *associatedUndo() const override;
52  QString title() const override;
53 
54  public slots:
55  void updateUi() override;
56  void buildTree();
57 
58  public:
59  bool setLiveEdit(bool live_edit) override;
60 
61  private :
62  QList <Element *> availableElements();
63  void setUpCompleter();
64  void clearTreeWidget();
65  void setUpHeaderLabels();
66 
67  private slots:
70  void linkTriggered();
71  void hideButtons();
72  void showButtons();
73  void headerCustomContextMenuRequested(const QPoint &pos);
74 
76  void on_m_tree_widget_itemDoubleClicked(QTreeWidgetItem *item, int column);
77  void on_m_tree_widget_customContextMenuRequested(const QPoint &pos);
80 
81  void on_m_search_field_textEdited(const QString &arg1);
82 
83  private:
84  Ui::LinkSingleElementWidget *ui;
85 
86  bool m_unlink = false;
88 
89  QHash <QTreeWidgetItem*, Element*> m_qtwi_elmt_hash;
90  QHash <QTreeWidgetItem*, QStringList> m_qtwi_strl_hash;
91 
92  QTreeWidgetItem *m_qtwi_at_context_menu = nullptr,
93  *m_pending_qtwi = nullptr;
94 
96  *m_element_to_link = nullptr;
97 
99  QAction *m_link_action,
100  *m_show_qtwi,
103 };
104 
105 #endif // LINKSINGLEELEMENTWIDGET_H
void buildTree()
LinkSingleElementWidget::buildTree Build the content of the QTreeWidget.
QHash< QTreeWidgetItem *, Element * > m_qtwi_elmt_hash
kind
The kind enum Used to know the kind of this element (master, slave, report ect...) ...
Definition: element.h:50
void on_m_search_field_textEdited(const QString &arg1)
LinkSingleElementWidget::on_m_search_field_textEdited Search all items which match with...
void showButtons()
LinkSingleElementWidget::showButtons Show the button displayed when element is already linked...
void hideButtons()
LinkSingleElementWidget::hideButtons Hide the button displayed when element is already linked...
Ui::LinkSingleElementWidget * ui
LinkSingleElementWidget(Element *elmt, QWidget *parent=nullptr)
Methods.
void apply() override
LinkSingleElementWidget::apply Apply the new property of the edited element by pushing the associated...
void updateUi() override
LinkSingleElementWidget::updateUi Update the content of this widget.
QUndoCommand * associatedUndo() const override
LinkSingleElementWidget::associatedUndo.
void diagramWasRemovedFromProject()
LinkSingleElementWidget::diagramWasRemovedFromProject.
QList< Element * > availableElements()
LinkSingleElementWidget::availableElements.
void clearTreeWidget()
LinkSingleElementWidget::clearTreeWidget Clear the tree widget. Delete all QTreeWidget (in the tree w...
The AbstractElementPropertiesEditorWidget class This class provide common method for all widget used ...
QTreeWidgetItem * m_qtwi_at_context_menu
The LinkSingleElementWidget class this class provide a widget to select an element to be linked to th...
void on_m_tree_widget_customContextMenuRequested(const QPoint &pos)
void setUpCompleter()
LinkSingleElementWidget::setUpCompleter Setup the completer of search_field.
bool setLiveEdit(bool live_edit) override
LinkSingleElementWidget::setLiveEdit.
QString title() const override
LinkSingleElementWidget::title.
~LinkSingleElementWidget() override
LinkSingleElementWidget::~LinkSingleElementWidget Default destructor.
void on_m_tree_widget_itemDoubleClicked(QTreeWidgetItem *item, int column)
LinkSingleElementWidget::on_m_tree_widget_itemDoubleClicked Highlight the element represented by ...
void headerCustomContextMenuRequested(const QPoint &pos)
void linkTriggered()
LinkSingleElementWidget::linkTriggered Action linkis triggered.
QHash< QTreeWidgetItem *, QStringList > m_qtwi_strl_hash
void setElement(Element *element) override
LinkSingleElementWidget::setElement Set element to be the edited element.