Skip to content

Commit

Permalink
Domain graph view feature
Browse files Browse the repository at this point in the history
Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Update graph view name

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Close last tab would open New tab

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Add and delete tab buttons improvements

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix transition

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Cap max tabs to 15

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix view issue when first tab gets closed

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix ChartLayout view issue when resizing window

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix polish infinite loop

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Avoid tab dragging

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Propagate fullScreen var changes

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Initial domain graph view

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Improve domain view

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Adapt to new JSON and visual improvements

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Add arrows to connections

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Round elements

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix entities height

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Update tab name with view content

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix connections

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Introduce backend call

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Add domain id selector for graph view

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Establish connection

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Add Refresh button and refresh feature

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Add try-catch in SyncBackendConnection call

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Catch Exception when no graph

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix wheel movement when scrollbar disabled

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix communication arrows visual bugs

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix icons and text spacing in entity boxes

Signed-off-by: JesusPoderoso <[email protected]>

Refs: Remove vulcanexus blue from color palette

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix entity order generation to optimize resizing

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Add comments to QML code

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Improve backend calls

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix overlapping visual bugs

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix resizing with large alias

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix single topic (and no entities) data representation

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Fix tab issue with multiple domains

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Display domain info when navigating through different domain views in tabs

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19308: Display entity and topic data when clicked in the graph

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19513: Improve Domain ID Dialog values

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19513: Add metatraffic filter in the graph view

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19513: Add status layout skeleton

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19513: Add right click options

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19513: Include topic filtering

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19513: Improve alias updates

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19533: Implement topic filtering

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19533: Fix alias to set automatically in domain view graph

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19533: Fix refresh tab renaming

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19533: Fix topic view from logical model

Signed-off-by: JesusPoderoso <[email protected]>

Refs #19533: Improve arrow drawing

Signed-off-by: JesusPoderoso <[email protected]>
  • Loading branch information
JesusPoderoso committed Oct 24, 2023
1 parent 6529cc4 commit 9da757e
Show file tree
Hide file tree
Showing 11 changed files with 408 additions and 22 deletions.
1 change: 1 addition & 0 deletions qml.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
<file>qml/StatisticsChartBox.qml</file>
<file>qml/StatisticsChartView.qml</file>
<file>qml/StatusPanel.qml</file>
<file>qml/StatusLayout.qml</file>
<file>qml/StatusView.qml</file>
<file>qml/SummaryView.qml</file>
<file>qml/TabLayout.qml</file>
Expand Down
2 changes: 2 additions & 0 deletions qml/ChangeAliasDialog.qml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Dialog {
standardButtons: Dialog.Ok | Dialog.Cancel
anchors.centerIn: Overlay.overlay

property var domainEntityId: ""
property var entityId: ""
property var currentAlias: ""
property var entityKind: ""
Expand Down Expand Up @@ -79,6 +80,7 @@ Dialog {
} else {
controller.set_alias(entityId, newSeriesNameTextField.text, entityKind)
}
refreshDomainGraphView(domainEntityId, entityId)
}
}
}
7 changes: 6 additions & 1 deletion qml/EntitiesMenu.qml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@ import Theme 1.0
*/
Menu {
id: entitiesMenu
property string domainEntityId: ""
property string entityId: ""
property string currentAlias: ""
property string entityKind: ""

MenuItem {
text: "Change alias"
onTriggered: changeAlias(menu.entityId, menu.currentAlias, menu.entityKind)
onTriggered: changeAlias(menu.domainEntityId, menu.entityId, menu.currentAlias, menu.entityKind)
}
MenuItem {
text: "View Problems"
onTriggered: {}//todo
}
}
6 changes: 3 additions & 3 deletions qml/EntityList.qml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Rectangle {
}
onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openEntitiesMenu("", id, name, kind)
} else {
controller.participant_click(id)
}
Expand Down Expand Up @@ -173,7 +173,7 @@ Rectangle {
}
onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openEntitiesMenu("", id, name, kind)
} else {
controller.endpoint_click(id)
}
Expand Down Expand Up @@ -245,7 +245,7 @@ Rectangle {

onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openEntitiesMenu("", id, name, kind)
} else {
controller.locator_click(id)
}
Expand Down
29 changes: 27 additions & 2 deletions qml/LeftPanel.qml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ RowLayout {
signal explorerPhysicalChanged(bool status)
signal explorerLogicalChanged(bool status)
signal explorerEntityInfoChanged(bool status)
signal open_topic_view(string domainEntityId, string domainId, string entityId)
signal refresh_domain_graph_view(string domainEntityId, string entityId)

MonitoringPanel {
id: monitoringPanel
Expand All @@ -65,26 +67,49 @@ RowLayout {
id: entitiesMenu
}

TopicMenu {
id: topicMenu
}

IssuesPanel {
id: issuesPanel
Layout.fillHeight: true
visible: (visiblePanel === panelItem[LeftPanel.LeftSubPanel.Issues]) ? true : false
}

function changeAlias(entityId, currentAlias, entityKind) {
function changeAlias(domainEntityId, entityId, currentAlias, entityKind) {
aliasDialog.domainEntityId = domainEntityId
aliasDialog.entityId = entityId
aliasDialog.currentAlias = currentAlias
aliasDialog.entityKind = entityKind
aliasDialog.open()
}

function openEntitiesMenu(entityId, currentAlias, entityKind) {
function openEntitiesMenu(domainEntityId, entityId, currentAlias, entityKind) {
entitiesMenu.domainEntityId = domainEntityId
entitiesMenu.entityId = entityId
entitiesMenu.currentAlias = currentAlias
entitiesMenu.entityKind = entityKind
entitiesMenu.popup()
}

function openTopicMenu(domainEntityId, domainId, entityId, currentAlias, entityKind) {
topicMenu.domainEntityId = domainEntityId
topicMenu.domainId = domainId
topicMenu.entityId = entityId
topicMenu.currentAlias = currentAlias
topicMenu.entityKind = entityKind
topicMenu.popup()
}

function openTopicView(domainEntityId, domainId, entityId) {
leftPanel.open_topic_view(domainEntityId, domainId, entityId)
}

function refreshDomainGraphView(domainEntityId, entityId) {
leftPanel.refresh_domain_graph_view(domainEntityId, entityId)
}

function expandAll(view, model) {
for(var i=0; i < model.rowCount(); i++) {
var index = model.index(i, 0)
Expand Down
5 changes: 3 additions & 2 deletions qml/LogicalView.qml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ Rectangle {
height: domainListColumn.childrenRect.height

property var domainId: id
property var domainName: name
property int domainIdx: index
property var topicList: topicList

Expand Down Expand Up @@ -96,7 +97,7 @@ Rectangle {
}
onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openEntitiesMenu(domainId, id, name, kind)
} else {
controller.domain_click(id)
}
Expand Down Expand Up @@ -166,7 +167,7 @@ Rectangle {

onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openTopicMenu(domainId, domainName, id, name, kind)
} else {
controller.topic_click(id)
}
Expand Down
79 changes: 68 additions & 11 deletions qml/Panels.qml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,20 @@ RowLayout {
// If is set to true, the left sidebar was opened, and false if it was closed.
property bool prevFullScreenLeftSidebarState: true

// private properties
property int status_layout_height: status_layout_min_height_

signal openCloseLeftSideBar
signal changeChartboxLayout(int chartsPerRow)
signal explorerDDSEntitiesChanged(bool status)
signal explorerPhysicalChanged(bool status)
signal explorerLogicalChanged(bool status)
signal explorerEntityInfoChanged(bool status)

// Read only design properties
readonly property int status_layout_min_height_: 24


onOpenCloseLeftSideBar: {
if (panels.showLeftSidebar) {
iconsVBar.iconClicked(iconsVBar.selected)
Expand Down Expand Up @@ -90,24 +97,66 @@ RowLayout {
onExplorerPhysicalChanged: panels.explorerPhysicalChanged(status)
onExplorerLogicalChanged: panels.explorerLogicalChanged(status)
onExplorerEntityInfoChanged: panels.explorerEntityInfoChanged(status)
onOpen_topic_view: tabs.open_topic_view(domainEntityId, domainId, entityId)
onRefresh_domain_graph_view: tabs.refresh_domain_graph_view(domainEntityId, entityId)
}

TabLayout {
id: tabs
SplitView.fillWidth: true
clip: true

onFullScreenChanged: {
if (fullScreen) {
if (showLeftSidebar) {
openCloseLeftSideBar()
prevFullScreenLeftSidebarState = true
} else {
prevFullScreenLeftSidebarState = false
SplitView {
id: tabsSplitView
anchors.fill: parent
orientation: Qt.Vertical

TabLayout {
id: tabs
SplitView.fillWidth: true
SplitView.fillHeight: true
SplitView.preferredHeight: parent.height - parent.height / 5
clip: true

onFullScreenChanged: {
if (fullScreen) {
if (showLeftSidebar) {
openCloseLeftSideBar()
prevFullScreenLeftSidebarState = true
} else {
prevFullScreenLeftSidebarState = false
}
} else {
if (!showLeftSidebar && prevFullScreenLeftSidebarState) {
openCloseLeftSideBar()
}
}
}
} else {
if (!showLeftSidebar && prevFullScreenLeftSidebarState) {
openCloseLeftSideBar()
onOpenEntitiesMenu: {
panels.openEntitiesMenu(domainEntityId, entityId, currentAlias, entityKind)
}
onOpenTopicMenu: {
panels.openTopicMenu(domainEntityId, domainId, entityId, currentAlias, entityKind)
}
}
StatusLayout {
id: statusLayout
SplitView.preferredHeight: status_layout_height
SplitView.minimumHeight: status_layout_min_height_
clip: true
current_status: StatusLayout.Status.Collapsed
footer_height: status_layout_min_height_

onClose_status_layout: {
status_layout_height = status_layout_min_height_
statusLayout.current_status = StatusLayout.Status.Closed
}
onCollapse_status_layout: {
status_layout_height = tabsSplitView.height / 5
statusLayout.current_status = StatusLayout.Status.Collapsed
}
onExpand_status_layout: {
status_layout_height = tabsSplitView.height
statusLayout.current_status = StatusLayout.Status.Expanded
}
}
}
Expand Down Expand Up @@ -145,4 +194,12 @@ RowLayout {
function changeExplorerEntityInfo(status) {
leftPanel.changeExplorerEntityInfo(status)
}

function openEntitiesMenu(domainEntityId, entityId, currentAlias, entityKind) {
leftPanel.openEntitiesMenu(domainEntityId, entityId, currentAlias, entityKind)
}

function openTopicMenu(domainEntityId, domainId, entityId, currentAlias, entityKind) {
leftPanel.openTopicMenu(domainEntityId, domainId, entityId, currentAlias, entityKind)
}
}
6 changes: 3 additions & 3 deletions qml/PhysicalView.qml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Rectangle {
}
onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openEntitiesMenu("", id, name, kind)
} else {
controller.host_click(id)
}
Expand Down Expand Up @@ -174,7 +174,7 @@ Rectangle {
}
onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openEntitiesMenu("", id, name, kind)
} else {
controller.user_click(id)
}
Expand Down Expand Up @@ -246,7 +246,7 @@ Rectangle {

onClicked: {
if(mouse.button & Qt.RightButton) {
openEntitiesMenu(id, name, kind)
openEntitiesMenu("", id, name, kind)
} else {
controller.process_click(id)
}
Expand Down
Loading

0 comments on commit 9da757e

Please sign in to comment.