Add button

This commit is contained in:
Adam
2025-09-08 19:21:20 -07:00
parent 1ab681da8c
commit 27294c7569
6 changed files with 19 additions and 0 deletions
@@ -280,6 +280,8 @@ pub enum FrontendMessage {
// Displays a dashed border around the node // Displays a dashed border around the node
#[serde(rename = "previewedNode")] #[serde(rename = "previewedNode")]
previewed_node: Option<NodeId>, previewed_node: Option<NodeId>,
#[serde(rename = "nativeNodeGraphRender")]
native_node_graph_render: bool,
}, },
UpdateVisibleNodes { UpdateVisibleNodes {
nodes: Vec<NodeId>, nodes: Vec<NodeId>,
@@ -183,6 +183,7 @@ pub enum NodeGraphMessage {
TogglePreviewImpl { TogglePreviewImpl {
node_id: NodeId, node_id: NodeId,
}, },
ToggleNativeNodeGraphRender,
SetImportExportName { SetImportExportName {
name: String, name: String,
index: ImportOrExport, index: ImportOrExport,
@@ -1630,6 +1630,7 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
opacity: graph_fade_artwork_percentage, opacity: graph_fade_artwork_percentage,
in_selected_network: selection_network_path == breadcrumb_network_path, in_selected_network: selection_network_path == breadcrumb_network_path,
previewed_node, previewed_node,
native_node_graph_render: self.native_node_graph_render,
}); });
responses.add(NodeGraphMessage::UpdateVisibleNodes); responses.add(NodeGraphMessage::UpdateVisibleNodes);
@@ -1781,6 +1782,10 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
NodeGraphMessage::TogglePreviewImpl { node_id } => { NodeGraphMessage::TogglePreviewImpl { node_id } => {
network_interface.toggle_preview(node_id, selection_network_path); network_interface.toggle_preview(node_id, selection_network_path);
} }
NodeGraphMessage::ToggleNativeNodeGraphRender => {
self.native_node_graph_render = !self.native_node_graph_render;
responses.add(NodeGraphMessage::SendGraph);
}
NodeGraphMessage::ToggleSelectedLocked => { NodeGraphMessage::ToggleSelectedLocked => {
let Some(selected_nodes) = network_interface.selected_nodes_in_nested_network(selection_network_path) else { let Some(selected_nodes) = network_interface.selected_nodes_in_nested_network(selection_network_path) else {
log::error!("Could not get selected nodes in NodeGraphMessage::ToggleSelectedLocked"); log::error!("Could not get selected nodes in NodeGraphMessage::ToggleSelectedLocked");
@@ -18,6 +18,7 @@ pub struct MenuBarMessageHandler {
pub has_selection_history: (bool, bool), pub has_selection_history: (bool, bool),
pub message_logging_verbosity: MessageLoggingVerbosity, pub message_logging_verbosity: MessageLoggingVerbosity,
pub reset_node_definitions_on_open: bool, pub reset_node_definitions_on_open: bool,
pub native_node_graph_render: bool,
pub make_path_editable_is_allowed: bool, pub make_path_editable_is_allowed: bool,
pub data_panel_open: bool, pub data_panel_open: bool,
pub layers_panel_open: bool, pub layers_panel_open: bool,
@@ -48,6 +49,7 @@ impl LayoutHolder for MenuBarMessageHandler {
let message_logging_verbosity_names = self.message_logging_verbosity == MessageLoggingVerbosity::Names; let message_logging_verbosity_names = self.message_logging_verbosity == MessageLoggingVerbosity::Names;
let message_logging_verbosity_contents = self.message_logging_verbosity == MessageLoggingVerbosity::Contents; let message_logging_verbosity_contents = self.message_logging_verbosity == MessageLoggingVerbosity::Contents;
let reset_node_definitions_on_open = self.reset_node_definitions_on_open; let reset_node_definitions_on_open = self.reset_node_definitions_on_open;
let native_node_graph_render = self.native_node_graph_render;
let make_path_editable_is_allowed = self.make_path_editable_is_allowed; let make_path_editable_is_allowed = self.make_path_editable_is_allowed;
let menu_bar_entries = vec![ let menu_bar_entries = vec![
@@ -696,6 +698,12 @@ impl LayoutHolder for MenuBarMessageHandler {
action: MenuBarEntry::create_action(|_| PortfolioMessage::ToggleResetNodesToDefinitionsOnOpen.into()), action: MenuBarEntry::create_action(|_| PortfolioMessage::ToggleResetNodesToDefinitionsOnOpen.into()),
..MenuBarEntry::default() ..MenuBarEntry::default()
}], }],
vec![MenuBarEntry {
label: "Native Node Graph UI Render".into(),
icon: Some(if native_node_graph_render { "CheckboxChecked" } else { "CheckboxUnchecked" }.into()),
action: MenuBarEntry::create_action(|_| NodeGraphMessage::ToggleNativeNodeGraphRender.into()),
..MenuBarEntry::default()
}],
vec![ vec![
MenuBarEntry { MenuBarEntry {
label: "Print Trace Logs".into(), label: "Print Trace Logs".into(),
+2
View File
@@ -116,6 +116,8 @@ export class UpdateNodeGraphRender extends JsMessage {
readonly inSelectedNetwork!: boolean; readonly inSelectedNetwork!: boolean;
readonly previewedNode!: bigint | undefined; readonly previewedNode!: bigint | undefined;
readonly nativeNodeGraphRender!: boolean;
} }
export class UpdateVisibleNodes extends JsMessage { export class UpdateVisibleNodes extends JsMessage {
@@ -118,6 +118,7 @@ export function createNodeGraphState(editor: Editor) {
state.opacity = updateNodeGraphRender.opacity; state.opacity = updateNodeGraphRender.opacity;
state.inSelectedNetwork = updateNodeGraphRender.inSelectedNetwork; state.inSelectedNetwork = updateNodeGraphRender.inSelectedNetwork;
state.previewedNode = updateNodeGraphRender.previewedNode; state.previewedNode = updateNodeGraphRender.previewedNode;
state.nativeNodeGraphRender = updateNodeGraphRender.nativeNodeGraphRender;
return state; return state;
}); });
}); });