21 #ifndef ICEMON_STARVIEW_H
22 #define ICEMON_STARVIEW_H
25 #include "statusview.h"
27 #include <QGraphicsView>
28 #include <QResizeEvent>
30 #include <QGraphicsEllipseItem>
51 void setNodesPerRing(
int nodes);
53 bool suppressDomainName()
const;
54 void setSuppressDomainName(
bool suppress);
56 void setMaxNodes(
int);
61 void slotNodesPerRingChanged(
int nodes);
62 void slotSuppressDomainName(
bool);
68 QSlider *mNodesPerRingSlider;
69 QLabel *mNodesPerRingLabel;
70 QLineEdit *mArchFilterEdit;
71 QCheckBox *mSuppressDomainName;
75 :
public QGraphicsItemGroup
78 static const int HaloMargin = 4;
79 static const int PenDarkerFactor = 125;
81 enum { RttiHostItem = 1000 };
83 explicit HostItem(
const QString &text);
89 HostInfo *hostInfo()
const {
return mHostInfo; }
91 void setHostColor(
const QColor &color);
93 void setIsActiveClient(
bool active) { mIsActiveClient = active; }
94 bool isActiveClient()
const {
return mIsActiveClient; }
96 void setIsCompiling(
bool compiling) { mIsCompiling = compiling; }
97 bool isCompiling()
const {
return mIsCompiling; }
99 void setStateItem(QGraphicsItem *item) { m_stateItem = item; }
100 QGraphicsItem *stateItem() {
return m_stateItem; }
102 void setClient(
unsigned int client) { m_client = client; }
103 unsigned int client()
const {
return m_client; }
105 QString hostName()
const;
107 void setFixedText(
const QString &text);
109 double centerPosX()
const {
return pos().x() + m_textItem->boundingRect().width() / 2; }
110 double centerPosY()
const {
return pos().y() + m_textItem->boundingRect().height() / 2; }
112 double relativeCenterPosX()
const {
return m_textItem->boundingRect().width() / 2; }
113 double relativeCenterPosY()
const {
return m_textItem->boundingRect().height() / 2; }
115 qreal baseXMargin()
const {
return (mBaseWidth - m_textItem->boundingRect().width()) / 2; }
116 qreal baseYMargin()
const {
return (mBaseHeight - m_textItem->boundingRect().height()) / 2; }
118 void setCenterPos(
double x,
double y);
120 void update(
const Job &job);
123 void createJobHalo(
const Job &);
124 void deleteJobHalo(
const Job &job);
131 bool mIsActiveClient;
134 QGraphicsItem *m_stateItem;
135 QGraphicsTextItem *m_textItem;
137 unsigned int m_client;
142 QGraphicsEllipseItem *m_boxItem;
144 QMap<Job, QGraphicsEllipseItem *> m_jobHalos;
150 :
public QGraphicsView
158 void drawNodeStatus();
161 void resizeEvent(QResizeEvent *e)
override;
162 bool event(QEvent *event)
override;
165 void arrangeHostItems();
166 void arrangeSchedulerItem();
183 void writeSettings();
185 void update(
const Job &job)
override;
186 QWidget *widget()
const override;
188 QString id()
const override {
return QStringLiteral(
"star"); }
190 QList<HostItem *> hostItems()
const;
191 HostItem *findHostItem(
unsigned int hostid)
const;
193 void setMonitor(
Monitor *monitor)
override;
195 void checkNode(
unsigned int hostid)
override;
196 void removeNode(
unsigned int hostid)
override;
197 void updateSchedulerState(Monitor::SchedulerState state)
override;
198 void configureView()
override;
200 bool isConfigurable()
override {
return true; }
214 void slotConfigChanged();
217 void createKnownHosts();
218 HostItem *createHostItem(
unsigned int hostid);
220 QGraphicsScene *m_canvas;
221 QScopedPointer<StarViewGraphicsView> m_widget;
224 QMap<unsigned int, HostItem *> m_hostItems;
225 QMap<unsigned int, HostItem *> mJobMap;
bool filterArch(unsigned int hostid)
Definition: starview.cc:740
Definition: starview.h:74
Definition: starview.h:149
Definition: starview.h:42
Definition: hostinfo.h:114
Definition: starview.h:173
Definition: statusview.h:39
Definition: hostinfo.h:29