pub struct SystemChart {
pub title: String,
pub nodes: Vec<SysNode>,
pub edges: Vec<SysEdge>,
/* private fields */
}Expand description
The system-map chart: nodes + edges + the current selection.
Fields§
§title: String§nodes: Vec<SysNode>§edges: Vec<SysEdge>Implementations§
Source§impl SystemChart
impl SystemChart
Sourcepub const NODE_R: f32 = NODE_R
pub const NODE_R: f32 = NODE_R
The node radius (px) the free-position layout pads the canvas by, exposed so
the matrix can assert nodes land inside rect by exactly this inset.
pub fn new( title: impl Into<String>, nodes: Vec<SysNode>, edges: Vec<SysEdge>, ) -> Self
pub fn with_canvas_height(self, h: f32) -> Self
Sourcepub fn select(&mut self, id: &str)
pub fn select(&mut self, id: &str)
Select a node by id (headless-test + host entry point). Selecting the already-selected node deselects it. Unknown id is a no-op.
Sourcepub fn clear_selection(&mut self)
pub fn clear_selection(&mut self)
Clear the selection.
Sourcepub fn set_badge(&mut self, id: &str, badge: u64)
pub fn set_badge(&mut self, id: &str, badge: u64)
Update a node’s badge by id (e.g. a live event count). No-op if unknown.
Sourcepub fn set_detail(&mut self, id: &str, detail: impl Into<String>)
pub fn set_detail(&mut self, id: &str, detail: impl Into<String>)
Update a node’s detail text by id. No-op if unknown.
Sourcepub fn node_center(&self, i: usize, rect: Rect) -> Pos2
pub fn node_center(&self, i: usize, rect: Rect) -> Pos2
Test/host hook (additive). The public, return-asserted view of the
private center layout node — the absolute pixel centre
node i’s circle is painted at inside rect. Exposed so the syschart
call-chain matrix can assert the layout/place stage (finite, confined to
the padded inner rect, monotone in the normalized pos) without a painter.
Calls the same private fn ui paints with — additive, no behaviour
change. The node radius the layout pads for is SystemChart::NODE_R.
Trait Implementations§
Source§impl CopySource for SystemChart
impl CopySource for SystemChart
Source§fn copy_kinds(&self) -> &[ClipKind]
fn copy_kinds(&self) -> &[ClipKind]
Source§fn copy_payload(&self) -> Option<ClipPayload>
fn copy_payload(&self) -> Option<ClipPayload>
Source§impl Facet for SystemChart
impl Facet for SystemChart
Source§fn caps(&self) -> FacetCaps
fn caps(&self) -> FacetCaps
Painted with the active Theme (nodes/edges/text/accent ring), and its
canvas takes the host’s available width — themeable + resizable.
Source§fn as_any_mut(&mut self) -> Option<&mut dyn Any>
fn as_any_mut(&mut self) -> Option<&mut dyn Any>
Opt into typed downcast so a host (e.g. the demo’s robot-UI node-select
toolbar) can forward a selection to SystemChart::select when this chart
lives boxed inside a FacetDeck.
fn title(&self) -> &str
Source§fn copy(&mut self) -> Option<String>
fn copy(&mut self) -> Option<String>
fn ui(&mut self, ui: &mut Ui)
fn state_json(&self) -> Value
Source§fn selection_json(&self) -> Value
fn selection_json(&self) -> Value
state_json by
convention). Null when nothing/none selectable.Source§fn set_scale(&mut self, _scale: f32)
fn set_scale(&mut self, _scale: f32)
Source§fn cut(&mut self) -> Option<String>
fn cut(&mut self) -> Option<String>
copy, but also removes the selection. Default delegates to copy.Source§fn kind(&self) -> &'static str
fn kind(&self) -> &'static str
"jobview", "graphpan", "table"). Two
instances with the same kind can exchange portable state; the empty
default "" means opted out of cross-instance clone.Source§fn portable_state(&self) -> Option<Value>
fn portable_state(&self) -> Option<Value>
None = not cloneable. Kept SEPARATE from
state_json (the introspection dump, which may carry
derived / render-only data) so this stays round-trippable through
load_state.Source§fn load_state(&mut self, _state: &Value) -> bool
fn load_state(&mut self, _state: &Value) -> bool
portable_state
on a same-kind sibling. Returns true if accepted. Default false
(opt-in per component).Auto Trait Implementations§
impl Freeze for SystemChart
impl RefUnwindSafe for SystemChart
impl Send for SystemChart
impl Sync for SystemChart
impl Unpin for SystemChart
impl UnsafeUnpin for SystemChart
impl UnwindSafe for SystemChart
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more