Skip to content

Commit 5c78fe7

Browse files
committed
create definition identifier and integrate it
1 parent 532dc30 commit 5c78fe7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+979
-1033
lines changed

editor/src/messages/frontend/frontend_message.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use super::utility_types::{DocumentDetails, MouseCursorIcon, OpenDocument};
22
use crate::messages::app_window::app_window_message_handler::AppWindowPlatform;
33
use crate::messages::input_mapper::utility_types::misc::ActionShortcut;
44
use crate::messages::layout::utility_types::widget_prelude::*;
5+
use crate::messages::portfolio::document::node_graph::document_node_definitions::DefinitionIdentifier;
56
use crate::messages::portfolio::document::node_graph::utility_types::{
67
BoxSelection, ContextMenuInformation, FrontendClickTargets, FrontendGraphInput, FrontendGraphOutput, FrontendNode, FrontendNodeType, NodeGraphErrorDiagnostic, Transform,
78
};
@@ -55,7 +56,7 @@ pub enum FrontendMessage {
5556
// Send prefix: Send global, static data to the frontend that is never updated
5657
SendUIMetadata {
5758
#[serde(rename = "nodeDescriptions")]
58-
node_descriptions: Vec<(String, String)>,
59+
node_descriptions: Vec<(DefinitionIdentifier, String)>,
5960
#[serde(rename = "nodeTypes")]
6061
node_types: Vec<FrontendNodeType>,
6162
},

editor/src/messages/layout/layout_message_handler.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -327,11 +327,7 @@ impl LayoutMessageHandler {
327327
responses.add(callback_message);
328328
}
329329
WidgetValueAction::Update => {
330-
let Some(value) = value.as_str().map(|s| s.to_string()) else {
331-
error!("NodeCatalog update was not of type String");
332-
return;
333-
};
334-
let callback_message = (node_type_input.on_update.callback)(&value);
330+
let callback_message = (node_type_input.on_update.callback)(&value.into());
335331
responses.add(callback_message);
336332
}
337333
},

editor/src/messages/layout/utility_types/widgets/input_widgets.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::messages::input_mapper::utility_types::misc::ActionShortcut;
22
use crate::messages::layout::utility_types::widget_prelude::*;
3+
use crate::messages::portfolio::document::node_graph::document_node_definitions::DefinitionIdentifier;
34
use derivative::*;
45
use graphene_std::Color;
56
use graphene_std::raster::curve::Curve;
@@ -330,7 +331,7 @@ pub struct NodeCatalog {
330331
// Callbacks
331332
#[serde(skip)]
332333
#[derivative(Debug = "ignore", PartialEq = "ignore")]
333-
pub on_update: WidgetCallback<String>,
334+
pub on_update: WidgetCallback<DefinitionIdentifier>,
334335

335336
#[serde(skip)]
336337
#[derivative(Debug = "ignore", PartialEq = "ignore")]

editor/src/messages/portfolio/document/document_message_handler.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use crate::messages::layout::utility_types::widget_prelude::*;
1111
use crate::messages::portfolio::document::data_panel::{DataPanelMessageContext, DataPanelMessageHandler};
1212
use crate::messages::portfolio::document::graph_operation::utility_types::TransformIn;
1313
use crate::messages::portfolio::document::node_graph::NodeGraphMessageContext;
14+
use crate::messages::portfolio::document::node_graph::document_node_definitions::DefinitionIdentifier;
1415
use crate::messages::portfolio::document::node_graph::utility_types::FrontendGraphDataType;
1516
use crate::messages::portfolio::document::overlays::grid_overlays::{grid_overlay, overlay_options};
1617
use crate::messages::portfolio::document::overlays::utility_types::{OverlaysType, OverlaysVisibilitySettings, Pivot};
@@ -1548,7 +1549,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
15481549
// Create an artboard and set its dimensions to the bounding box size and location
15491550
let node_id = NodeId::new();
15501551
let node_layer_id = LayerNodeIdentifier::new_unchecked(node_id);
1551-
let new_artboard_node = document_node_definitions::resolve_document_node_type("Artboard")
1552+
let new_artboard_node = document_node_definitions::resolve_document_node_type(&DefinitionIdentifier::Network("Artboard".to_string()))
15521553
.expect("Failed to create artboard node")
15531554
.default_node_template();
15541555
responses.add(NodeGraphMessage::InsertNode {
@@ -2133,8 +2134,7 @@ impl DocumentMessageHandler {
21332134
network_interface.upstream_flow_back_from_nodes(vec![selected_id.to_node()], &[], FlowType::HorizontalFlow).find(|id| {
21342135
network_interface
21352136
.reference(id, &[])
2136-
.map(|name| name.as_deref().unwrap_or_default() == "Boolean Operation")
2137-
.unwrap_or_default()
2137+
.is_some_and(|reference| reference == DefinitionIdentifier::Network("Boolean Operation".to_string()))
21382138
})
21392139
});
21402140

editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use super::transform_utils;
22
use super::utility_types::ModifyInputsContext;
33
use crate::messages::portfolio::document::graph_operation::utility_types::TransformIn;
4+
use crate::messages::portfolio::document::node_graph::document_node_definitions::DefinitionIdentifier;
45
use crate::messages::portfolio::document::utility_types::document_metadata::LayerNodeIdentifier;
56
use crate::messages::portfolio::document::utility_types::network_interface::{InputConnector, NodeNetworkInterface, OutputConnector};
67
use crate::messages::portfolio::document::utility_types::nodes::CollapsedLayers;
@@ -382,7 +383,7 @@ fn import_usvg_node(modify_inputs: &mut ModifyInputsContext, node: &usvg::Node,
382383

383384
modify_inputs.insert_vector(subpaths, layer, true, path.fill().is_some(), path.stroke().is_some());
384385

385-
if let Some(transform_node_id) = modify_inputs.existing_node_id("Transform", true) {
386+
if let Some(transform_node_id) = modify_inputs.existing_node_id(&DefinitionIdentifier::Network("Transform".to_string()), true) {
386387
transform_utils::update_transform(modify_inputs.network_interface, &transform_node_id, transform * usvg_transform(node.abs_transform()));
387388
}
388389

0 commit comments

Comments
 (0)