-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwidgetconnections.cpp
More file actions
87 lines (73 loc) · 3.45 KB
/
widgetconnections.cpp
File metadata and controls
87 lines (73 loc) · 3.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
#include "widgetconnections.h"
#include <QPainter>
WidgetConnections::WidgetConnections(QWidget *parent) :
WidgetQmfObject(parent)
{
this->setSectionName(QString("Connections"));
summaryColumns.append(Column("msgsToClient", "To client", Qt::AlignRight, "N", modeMessages, true));
summaryColumns.append(Column("msgsFromClient", "From client", Qt::AlignRight, "N", modeMessages, true, QColor(Qt::green)));
summaryColumns.append(Column("msgsToClient", "To client / sec", Qt::AlignRight, "N", modeMessageRate, true));
summaryColumns.append(Column("msgsFromClient", "From client / sec", Qt::AlignRight, "N", modeMessageRate, true, QColor(Qt::green)));
summaryColumns.append(Column("bytesToClient", "To client", Qt::AlignRight, "B", modeBytes, true));
summaryColumns.append(Column("bytesFromClient", "From client", Qt::AlignRight, "B", modeBytes, true, QColor(Qt::green)));
summaryColumns.append(Column("bytesToClient", "To client / sec", Qt::AlignRight, "N", modeByteRate, true));
summaryColumns.append(Column("bytesFromClient", "From client / sec", Qt::AlignRight, "N", modeByteRate, true, QColor(Qt::green)));
setRelatedText("Related Connections");
}
WidgetConnections::~WidgetConnections()
{
}
void WidgetConnections::showRelated(const qmf::Data& object, const QString &, ArrowDirection a)
{
if (!updateAll)
if (this->hasData() && (arrow() != arrowNone)) {
//qDebug("showRelated: %s needs an update", this->objectName().toStdString().c_str());
emit needUpdate();
return;
}
setArrow(a);
// for connections, we should only be asked to show records related to a session
// so assume the object is a session
qpid::types::Variant value = object.getProperty("connectionRef");
QString name(value.asMap()["_object_name"].asString().c_str());
QString connection = name.section(':', -1);
related->setRelatedData("address", connection.toStdString());
related->clearFilter();
//qDebug("showRelated: %s needs new data", this->objectName().toStdString().c_str());
emit needData();
}
QString WidgetConnections::unique_property()
{
QString prop = WidgetQmfObject::unique_property();
// if the remoteProcessName is absent (it is optional after all)
// then use the address as the object's "name"
if (prop.isEmpty()) {
if (data.isValid()) {
const qpid::types::Variant::Map& props(data.getProperties());
qpid::types::Variant::Map::const_iterator iter;
iter = props.find("address");
if (iter != props.end()) {
prop = QString(iter->second.asString().c_str());
}
}
}
return prop;
}