QElectroTech  0.8-dev
templatevisualcell.h
Go to the documentation of this file.
1 /*
2  Copyright 2006-2020 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 TITLEBLOCK_SLASH_QET_TEMPLATE_VISUAL_CELL_H
19 #define TITLEBLOCK_SLASH_QET_TEMPLATE_VISUAL_CELL_H
20 #include <QtWidgets>
21 #include "qet.h"
22 class TitleBlockTemplate;
23 #include "titleblockcell.h"
24 
29 class TitleBlockTemplateVisualCell : public QGraphicsLayoutItem, public QGraphicsItem {
30  // constructor, destructor
31  public:
32  TitleBlockTemplateVisualCell(QGraphicsItem * parent = nullptr);
34  private:
36 
37  // methods
38  public:
39  void setGeometry(const QRectF &) override;
40  QSizeF sizeHint(Qt::SizeHint, const QSizeF & = QSizeF()) const override;
41  QRectF boundingRect() const override;
42  void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = nullptr) override;
43 
44  public slots:
47  TitleBlockCell *cell() const;
48  QSet<TitleBlockCell *> cells() const;
49 
50  // attributes
51  private:
54 };
55 #endif
TitleBlockTemplateVisualCell::TitleBlockTemplateVisualCell
TitleBlockTemplateVisualCell(const TitleBlockTemplateVisualCell &)
TitleBlockTemplateVisualCell::titleBlockTemplate
TitleBlockTemplate * titleBlockTemplate() const
Definition: templatevisualcell.cpp:110
TitleBlockTemplateVisualCell::sizeHint
QSizeF sizeHint(Qt::SizeHint, const QSizeF &=QSizeF()) const override
Definition: templatevisualcell.cpp:59
TitleBlockTemplateVisualCell
Definition: templatevisualcell.h:29
TitleBlockTemplateVisualCell::cell_
TitleBlockCell * cell_
Previewed cell.
Definition: templatevisualcell.h:53
TitleBlockTemplate
The TitleBlockTemplate class This class represents an title block template for an electric diagram....
Definition: titleblocktemplate.h:36
TitleBlockTemplateVisualCell::cells
QSet< TitleBlockCell * > cells() const
Definition: templatevisualcell.cpp:125
qet.h
TitleBlockTemplateVisualCell::template_
TitleBlockTemplate * template_
Title block template of the previewed cell.
Definition: templatevisualcell.h:52
titleblockcell.h
TitleBlockTemplateVisualCell::boundingRect
QRectF boundingRect() const override
Definition: templatevisualcell.cpp:67
TitleBlockTemplateVisualCell::setGeometry
void setGeometry(const QRectF &) override
Definition: templatevisualcell.cpp:48
TitleBlockTemplateVisualCell::~TitleBlockTemplateVisualCell
~TitleBlockTemplateVisualCell() override
Definition: templatevisualcell.cpp:40
diagramcontext.h
TitleBlockTemplateVisualCell::TitleBlockTemplateVisualCell
TitleBlockTemplateVisualCell(QGraphicsItem *parent=nullptr)
Definition: templatevisualcell.cpp:26
templatevisualcell.h
TitleBlockTemplateVisualCell::setTemplateCell
void setTemplateCell(TitleBlockTemplate *, TitleBlockCell *)
Definition: templatevisualcell.cpp:102
TitleBlockTemplateVisualCell::cell
TitleBlockCell * cell() const
Definition: templatevisualcell.cpp:117
titleblocktemplate.h
TitleBlockTemplateVisualCell::paint
void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *=nullptr) override
Definition: templatevisualcell.cpp:77
DiagramContext
Definition: diagramcontext.h:56
TitleBlockCell
Definition: titleblockcell.h:26