mirror of
https://gitlab.freedesktop.org/dabrain34/GstPipelineStudio.git
synced 2024-12-24 17:00:30 +00:00
grahview: add create_link methods to clarify API
This commit is contained in:
parent
2ddd49fa0d
commit
9cc40d2b7b
1 changed files with 47 additions and 8 deletions
|
@ -211,14 +211,12 @@ mod imp {
|
||||||
std::mem::swap(&mut node_from, &mut node_to);
|
std::mem::swap(&mut node_from, &mut node_to);
|
||||||
std::mem::swap(&mut port_from, &mut port_to);
|
std::mem::swap(&mut port_from, &mut port_to);
|
||||||
}
|
}
|
||||||
widget.add_link(Link::new(
|
widget.add_link(widget.create_link(
|
||||||
widget.next_link_id(),
|
|
||||||
node_from.id(),
|
node_from.id(),
|
||||||
node_to.id(),
|
node_to.id(),
|
||||||
port_from.id(),
|
port_from.id(),
|
||||||
port_to.id(),
|
port_to.id(),
|
||||||
true,
|
true,
|
||||||
false,
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
widget.set_selected_port(None);
|
widget.set_selected_port(None);
|
||||||
|
@ -548,7 +546,7 @@ impl GraphView {
|
||||||
pub fn create_node_with_id(&self, id: u32, name: &str, node_type: NodeType) -> Node {
|
pub fn create_node_with_id(&self, id: u32, name: &str, node_type: NodeType) -> Node {
|
||||||
Node::new(id, name, node_type)
|
Node::new(id, name, node_type)
|
||||||
}
|
}
|
||||||
/// Create a new node with id
|
/// Create a new node with a new id
|
||||||
///
|
///
|
||||||
pub fn create_node(&self, name: &str, node_type: NodeType) -> Node {
|
pub fn create_node(&self, name: &str, node_type: NodeType) -> Node {
|
||||||
let id = self.next_node_id();
|
let id = self.next_node_id();
|
||||||
|
@ -647,6 +645,9 @@ impl GraphView {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Port
|
// Port
|
||||||
|
|
||||||
|
/// Create a new port with id
|
||||||
|
///
|
||||||
pub fn create_port_with_id(
|
pub fn create_port_with_id(
|
||||||
&self,
|
&self,
|
||||||
id: u32,
|
id: u32,
|
||||||
|
@ -656,7 +657,7 @@ impl GraphView {
|
||||||
) -> Port {
|
) -> Port {
|
||||||
Port::new(id, name, direction, presence)
|
Port::new(id, name, direction, presence)
|
||||||
}
|
}
|
||||||
/// Add the port with id from node with id.
|
/// Create a new port with a new id
|
||||||
///
|
///
|
||||||
pub fn create_port(
|
pub fn create_port(
|
||||||
&self,
|
&self,
|
||||||
|
@ -720,7 +721,45 @@ impl GraphView {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Link
|
// Link
|
||||||
|
/// Create a new link with id
|
||||||
|
pub fn create_link_with_id(
|
||||||
|
&self,
|
||||||
|
link_id: u32,
|
||||||
|
node_from_id: u32,
|
||||||
|
node_to_id: u32,
|
||||||
|
port_from_id: u32,
|
||||||
|
port_to_id: u32,
|
||||||
|
active: bool,
|
||||||
|
) -> Link {
|
||||||
|
Link::new(
|
||||||
|
link_id,
|
||||||
|
node_from_id,
|
||||||
|
node_to_id,
|
||||||
|
port_from_id,
|
||||||
|
port_to_id,
|
||||||
|
active,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/// Create a new link with a new id
|
||||||
|
///
|
||||||
|
pub fn create_link(
|
||||||
|
&self,
|
||||||
|
node_from_id: u32,
|
||||||
|
node_to_id: u32,
|
||||||
|
port_from_id: u32,
|
||||||
|
port_to_id: u32,
|
||||||
|
active: bool,
|
||||||
|
) -> Link {
|
||||||
|
self.create_link_with_id(
|
||||||
|
self.next_link_id(),
|
||||||
|
node_from_id,
|
||||||
|
node_to_id,
|
||||||
|
port_from_id,
|
||||||
|
port_to_id,
|
||||||
|
active,
|
||||||
|
)
|
||||||
|
}
|
||||||
/// Add a link to the graphView
|
/// Add a link to the graphView
|
||||||
///
|
///
|
||||||
pub fn add_link(&self, link: Link) {
|
pub fn add_link(&self, link: Link) {
|
||||||
|
@ -730,6 +769,7 @@ impl GraphView {
|
||||||
self.graph_updated();
|
self.graph_updated();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Set the link state with ink id and link state (boolean)
|
/// Set the link state with ink id and link state (boolean)
|
||||||
///
|
///
|
||||||
pub fn set_link_state(&self, link_id: u32, active: bool) {
|
pub fn set_link_state(&self, link_id: u32, active: bool) {
|
||||||
|
@ -1003,14 +1043,13 @@ impl GraphView {
|
||||||
let active: &String = attrs
|
let active: &String = attrs
|
||||||
.get::<String>(&String::from("active"))
|
.get::<String>(&String::from("active"))
|
||||||
.expect("Unable to find link state");
|
.expect("Unable to find link state");
|
||||||
current_link = Some(Link::new(
|
current_link = Some(self.create_link_with_id(
|
||||||
id.parse::<u32>().unwrap(),
|
id.parse::<u32>().unwrap(),
|
||||||
node_from.parse::<u32>().unwrap(),
|
node_from.parse::<u32>().unwrap(),
|
||||||
node_to.parse::<u32>().unwrap(),
|
node_to.parse::<u32>().unwrap(),
|
||||||
port_from.parse::<u32>().unwrap(),
|
port_from.parse::<u32>().unwrap(),
|
||||||
port_to.parse::<u32>().unwrap(),
|
port_to.parse::<u32>().unwrap(),
|
||||||
active.parse::<bool>().unwrap(),
|
active.parse::<bool>().unwrap(),
|
||||||
false,
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
_ => warn!("name unknown: {}", name),
|
_ => warn!("name unknown: {}", name),
|
||||||
|
|
Loading…
Reference in a new issue