graph: Redesign nodes and ports

Nodes now have a background using the libadwaita .card style class.

Ports now have a circular handle, which is positioned on the edge of the node so that half of the circle sticks out.
Ports are also no longer themed like a button and don't receive a color based on the guessed media type, in a future commit,
the handle will be colored instead.
This commit is contained in:
Tom A. Wagner
2023-07-17 02:45:25 +02:00
parent af4051c3c2
commit 4ed7e1f4be
8 changed files with 305 additions and 84 deletions

34
src/ui/graph/node.ui Normal file
View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"/>
<template class="HelvumNode" parent="GtkWidget">
<style>
<class name="card"></class>
</style>>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label">
<style>
<class name="heading"></class>
</style>
<property name="wrap">true</property>
<property name="ellipsize">PANGO_ELLIPSIZE_END</property>
<property name="lines">2</property>
<property name="max-width-chars">20</property>
</object>
</child>
<child>
<object class="GtkSeparator"></object>
</child>
<child>
<object class="GtkGrid" id="port_grid">
<property name="column-spacing">10</property>
</object>
</child>
</object>
</child>
</template>
</interface>