Stéphane Cerveau
a5767b21fe
graphmanager: Add node-double-clicked signal
2023-02-09 14:05:17 +01:00
Stéphane Cerveau
726a6f4d41
cargo: update gst/gtk/gst-plugin-gtk4
2022-11-29 08:42:12 +00:00
Stéphane Cerveau
6b657891c6
graphmanager: fix some lint issues with rust 1.63
...
Fix format and missing derive
2022-09-06 12:48:40 +02:00
Stéphane Cerveau
28a9cfbd50
graphmanager: update link license
...
Add a license in GraphManager folder
2022-02-16 17:10:34 +01:00
Stéphane Cerveau
6cc908c109
graphview: add a format version to graphview
2022-02-10 14:38:13 +00:00
Stéphane Cerveau
0164d71bf2
graphmanager: cleanup the license
...
Keep only the SPDX and mention the project
2022-02-09 11:28:27 +01:00
Stéphane Cerveau
72dcde0ad3
graphmanager: update description on property remove
...
The node must update its description when
a property value has been removed.
2022-02-08 14:53:12 +01:00
Stéphane Cerveau
7db3b333ac
graphmanager: add API to change port name.
2022-02-07 12:19:15 +01:00
Stéphane Cerveau
a21350b4a0
graphmanager: can remove property
...
Add public remove_property to PropertyExt
2022-02-07 12:19:10 +01:00
Stéphane Cerveau
d19387f039
graphview: implement tests infra
...
- Implement test for graph creation, save and load.
- Change xml API
- Update public/private api
- Add a graphview clear API
2022-01-27 17:35:47 +01:00
Stéphane Cerveau
9cc40d2b7b
grahview: add create_link methods to clarify API
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
2ddd49fa0d
tests: implement graphview unit test
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
620f6bf699
graphview: implement link on mouse pointer
...
Draw a dash line following the mouse pointer
when an available port has been clicked.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
cf8c8ab585
graphview: remove all links when node is deleted
...
The node can have more links than one, so all the links
must be destroyed when the node is destroyed.
Cleanup the code and panic if a link does not have
the node or port described in it.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
375d01c0cd
port: Rework the way to add a port/node
...
Allow to tell than a port has been added with its property
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
17ecce9748
port: support properties
...
Allow port to have a property set
and store it in the xml file
Introduce PropertyExt
Rewrote the port layout
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
b360f4a13a
node: update the layout and use GtkGrid
...
The node uses a GrkGrid to display
ports, name and description.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau
548f4cb3fc
graphview: add "node-added" signal
...
Signal the app that a node has been added
correctly.
2022-01-20 12:04:24 +01:00
Stéphane Cerveau
6c31bc3912
graphview: add documentation and refactor the code
...
Add documentation to public method.
Publish method which are public
Use SelectionExt trait.
Rename add_node_with_port to create_node_with_port
2022-01-19 11:55:13 +01:00
Stéphane Cerveau
ade3f14902
graphview: update css for node and port
...
Change border style and
port presence entries
2022-01-18 17:43:01 +01:00
Stéphane Cerveau
4bae12c011
graphview: introduce PortPresence
...
The port presence helps to know
if the port can be deleted or not.
XML Format break.
2022-01-18 16:39:39 +01:00
Stéphane Cerveau
e5334b1d5e
graphview: Remove the link in remove_port
...
Remove the link when removing a port from a
node.
Update documentation
2022-01-18 16:39:39 +01:00
Stéphane Cerveau
9ef073d3c3
graphview: update node API
...
Update doc for `node` and take u32
in argument.
2022-01-18 16:39:39 +01:00
Stéphane Cerveau
2548040463
graphview: port to gtk4 version 0.4.1
2022-01-17 14:40:09 +01:00
Stéphane Cerveau
72d4ddadb7
graphmanager: save the position as an attribute
...
The position should not be an hidden property
but a regular attribute.
2022-01-17 10:39:11 +01:00
Stéphane Cerveau
34b134107e
graphmanager: use logger instead of println
2022-01-14 09:50:45 +01:00
Stéphane Cerveau
e9b905230a
graphview: save position as a hidden property
...
- Save/load node position in XML file
- Introduce a graph ID
2022-01-12 18:49:10 +01:00
Stéphane Cerveau
2a7137e6dc
graphview: code cleanup
...
Remove dead code
Rewrite error message
Use simplified anyhow result for xml
methods
2022-01-12 11:15:52 +01:00
Stéphane Cerveau
d291c93352
app: add graph pop menu
...
Add a pop menu to add new plugin to the graph
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
914fc1f077
pipeline: move render_gst to this module
...
Remove render_gst from graphview and define
it in pipeline.
This will allow to isolate properly the graphmanager
module.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
a0bb503b27
graphview: can now select nodes and links
...
Nodes and links can be selected and deleted
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
7d08abaca8
GPSApp: Can now request pads on element
...
Add menu entries to add new pad/port to an element/node.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
6756b34919
plugindialogs: rename module and support properties in element
...
rename pluginlist module to plugindialogs
Add display_plugin_properties to modify properties
from an element.
Add a way to modify the location if element is URI_TYPE_SRC
Able to remove a node from the graph
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
6c7dccd450
graphview: display contextual menu on right click
...
display a contextual menu if user clicks a node or port with a right
click.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
6397ebff74
GPS: add GST render to parse launch format
...
The player is able to take the graph description and
build a string which will be passed to the
GStreamer parse launch engine.
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
f1149a6b5e
pipeline: implement parse launch playback
...
Can now play/pause/stop a playback from
a parse launch description GST pipeline.
rename getters in pipeline.rs
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
52286ada4a
GPS: Add xml save/load in graphview
...
Can now save and load in XML
graphs/nodes/ports/links
2022-01-11 20:48:53 +01:00
Stéphane Cerveau
5f91fbaef7
GPS: introduce the graphmanager
...
Introduce the first version of a graph manager
with:
- Graphview
- Node
- Port
2022-01-11 20:48:53 +01:00