pub struct GraphView {
pub scene: Scene,
pub empty_hint: String,
pub title: String,
/* private fields */
}Expand description
Fields§
§scene: SceneThe graph data being drawn — input (like facett-grid’s Arrow data): held
on the struct, outside the observable GraphState Model.
empty_hint: StringShown centred when the scene has no nodes.
title: StringThe deck keys facets off this.
Implementations§
Source§impl GraphView
impl GraphView
pub fn new(scene: Scene) -> Self
pub fn empty_hint(self, hint: impl Into<String>) -> Self
pub fn with_title(self, title: impl Into<String>) -> Self
Sourcepub fn with_layout(self, layout: Layout) -> Self
pub fn with_layout(self, layout: Layout) -> Self
Set the layout strategy at build time.
Sourcepub fn state(&self) -> &GraphState
pub fn state(&self) -> &GraphState
FC-3 — read the complete observable interaction state.
Sourcepub fn set_layout(&mut self, layout: Layout)
pub fn set_layout(&mut self, layout: Layout)
Switch the layout — a thin wrapper over the FC-2 update
mutation path (the sole way the Model changes).
Sourcepub fn label_counts(&self) -> BTreeMap<String, usize>
pub fn label_counts(&self) -> BTreeMap<String, usize>
Per-label node counts (for the introspection).
Trait Implementations§
Source§impl CopySource for GraphView
impl CopySource for GraphView
Source§fn copy_kinds(&self) -> &[ClipKind]
fn copy_kinds(&self) -> &[ClipKind]
The kinds this source can offer, richest first.
Source§fn copy_payload(&self) -> Option<ClipPayload>
fn copy_payload(&self) -> Option<ClipPayload>
Produce the payload for the current selection (richest representation).
Source§impl Elm for GraphView
impl Elm for GraphView
Source§type Model = GraphState
type Model = GraphState
All observable state, in one serializable struct (FC-1 / FC-3).
Source§type Msg = Msg
type Msg = Msg
Every input the component accepts (FC-2). The only legal way to mutate
the
Model.Source§type Effect = Effect
type Effect = Effect
Side work as data (FC-8). Use
enum Effect {} when the component does no I/O.Source§fn title(&self) -> &str
fn title(&self) -> &str
The deck keys facets off this (mirrors
Facet::title).Source§fn state(&self) -> &GraphState
fn state(&self) -> &GraphState
FC-3 — read the complete observable state at any frame boundary.
Source§impl Facet for GraphView
impl Facet for GraphView
Source§fn ui(&mut self, ui: &mut Ui)
fn ui(&mut self, ui: &mut Ui)
FC-9: the view is pure (paints + emits Msgs); FC-2: mutation only
via update. The immediate-mode trait just bridges the two.
fn title(&self) -> &str
fn state_json(&self) -> Value
Source§fn copy(&mut self) -> Option<String>
fn copy(&mut self) -> Option<String>
Clipboard hooks — see clipboard.rs. Defaults: nothing to give/take.
Returns the text to place on the clipboard (None = nothing copyable now).
Source§fn set_scale(&mut self, _scale: f32)
fn set_scale(&mut self, _scale: f32)
Set the uniform scale; clamp internally. Default no-op (not scalable).
Source§fn selection_json(&self) -> Value
fn selection_json(&self) -> Value
The current selection as JSON (also folded into
state_json by
convention). Null when nothing/none selectable.Source§fn cut(&mut self) -> Option<String>
fn cut(&mut self) -> Option<String>
Like
copy, but also removes the selection. Default delegates to copy.Source§fn as_any_mut(&mut self) -> Option<&mut (dyn Any + 'static)>
fn as_any_mut(&mut self) -> Option<&mut (dyn Any + 'static)>
Optional downcast handle for hosts that need typed access to a specific
facet living inside a
FacetDeck (e.g. a robot-UI driver clicking an
app-level control that must forward to a concrete component’s own API).
Defaulted to None so no existing facet has to change; a component opts in
by returning Some(self).Source§fn kind(&self) -> &'static str
fn kind(&self) -> &'static str
Stable component-type id (e.g.
"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>
The portable subset of this facet’s state — the fields a same-kind
sibling can adopt.
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
Adopt a portable state produced by
portable_state
on a same-kind sibling. Returns true if accepted. Default false
(opt-in per component).Auto Trait Implementations§
impl Freeze for GraphView
impl RefUnwindSafe for GraphView
impl Send for GraphView
impl Sync for GraphView
impl Unpin for GraphView
impl UnsafeUnpin for GraphView
impl UnwindSafe for GraphView
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
Mutably borrows from an owned value. Read more