HAL
pin_item.cpp
Go to the documentation of this file.
2 
4 #include "gui/gui_globals.h"
6 
7 namespace hal
8 {
9 
11  BaseTreeItem(),
12  mItemType(type)
13  {
14 
15  }
16 
17  int PinItem::row() const
18  {
19  BaseTreeItem* parent = getParent();
20  if (!parent) return 0;
21  return parent->getRowForChild(this);
22  }
23 
24  QVariant PinItem::getData(int column) const
25  {
26  switch(mItemType){
28  if(!column) return "create new pingroup...";
29  return QVariant();
31  if(!column) return "create new pin...";
32  return QVariant();
33  default:
34  break;
35  }
36 
37  switch (column){
38  case 0:
39  return QVariant(mName);
40  case 1:
41  return QString::fromStdString(enum_to_string(mDirection));
42  case 2:
44  }
45  return QVariant();
46  }
47 
49  {
50  //TODO initialize
51  switch(mItemType){
53  case TreeItemType::Pin: {
54  mId = data[0].toInt();
55  mName = data[1].toString();
56  mDirection = enum_from_string<PinDirection>(data[2].toString().toStdString());
57  mType = enum_from_string<PinType>(data[3].toString().toStdString());
58  break;
59  }
62  mName = data[0].toString();
63  mId = 0;
64  mDirection = PinDirection::none;
65  mType = PinType::none;
66  break;
67  }
68 
69  }
70  }
71 
72  void PinItem::setId(u32 newId){
73  mId = newId;
74  }
75 
76  void PinItem::setDataAtIndex(int index, QVariant &data)
77  {
78 
79  }
80 
82  {
83  return mName;
84  }
85 
87  {
88  return mType;
89  }
90 
92  {
94  }
95 
97  {
98  return mDirection;
99  }
100 
102  {
103  return QString::fromStdString(enum_to_string(mDirection));
104  }
105 
107  {
108  return mId;
109  }
110 
112  {
113  mName = name;
114  }
115 
117  {
118  mDirection = enum_from_string<PinDirection>(direction.toStdString());
119  }
120 
122  mType = enum_from_string<PinType>(type.toStdString());
123  }
124 
126  {
127  return 3;
128  }
129 
131 
133  {
134  return mItemType;
135  }
136 
137 
139  {
140  mDirection = direction;
141  }
142 
144  {
145  mType = type;
146  }
147 
149  setFields(QString::fromStdString(pin->get_name()), pin->get_id(), pin->get_direction(), pin->get_type());
150  }
151 
153  {
154  mId = id;
155  mName = name;
157  setType(type);
158  }
159 
161  {
162  mItemType = type;
163  }
164 }
const std::string & get_name() const
Definition: base_pin.h:108
u32 get_id() const
Definition: base_pin.h:88
PinType get_type() const
Definition: base_pin.h:148
PinDirection get_direction() const
Definition: base_pin.h:128
(Future) Base class for all tree models related to the details widget.
virtual int getRowForChild(const BaseTreeItem *child) const
virtual BaseTreeItem * getParent() const
QString getPinTypeAsText() const
Definition: pin_item.cpp:91
QString getName() const
Definition: pin_item.cpp:81
void setDataAtIndex(int index, QVariant &data) override
Definition: pin_item.cpp:76
void setId(u32 newId)
Definition: pin_item.cpp:72
int row() const
Definition: pin_item.cpp:17
int getColumnCount() const override
Definition: pin_item.cpp:125
PinDirection getDirection() const
Definition: pin_item.cpp:96
u32 getId() const
Definition: pin_item.cpp:106
PinItem(TreeItemType type)
Definition: pin_item.cpp:10
TreeItemType getItemType() const
Definition: pin_item.cpp:132
PinType getPinType() const
Definition: pin_item.cpp:86
void setName(const QString &name)
Definition: pin_item.cpp:111
void setType(const QString &type)
Definition: pin_item.cpp:121
void setFields(GatePin *pin)
Definition: pin_item.cpp:148
void setData(QList< QVariant > data) override
Definition: pin_item.cpp:48
void setItemType(TreeItemType type)
Definition: pin_item.cpp:160
QString getDirectionAsText() const
Definition: pin_item.cpp:101
void appendData(QVariant data) override
Definition: pin_item.cpp:130
void setDirection(const QString &direction)
Definition: pin_item.cpp:116
QVariant getData(int column) const override
Definition: pin_item.cpp:24
PinDirection
Definition: pin_direction.h:36
PinType
Definition: pin_type.h:36
std::string enum_to_string(T e)
Definition: enums.h:52
quint32 u32
PinType type
PinDirection direction
std::string name
i32 id
QString fromStdString(const std::string &str)