mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-07-07 15:55:00 +00:00
Code review
This commit is contained in:
parent
1864448251
commit
58af55b732
18 changed files with 20 additions and 1129 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,3 +6,4 @@ profile.json
|
|||
flamegraph.svg
|
||||
.idea/
|
||||
.direnv
|
||||
hierarchical_message_system_tree.txt
|
||||
|
|
|
@ -343,7 +343,7 @@ impl LayoutMessageHandler {
|
|||
}
|
||||
|
||||
pub fn custom_data() -> MessageData {
|
||||
MessageData::new(String::from("Function"), vec![(String::from("Fn(&MessageDiscriminant) -> Vec<KeysGroup>"), 346)], file!())
|
||||
MessageData::new(String::from("Function"), vec![(String::from("Fn(&MessageDiscriminant) -> Option<KeysGroup>"), 346)], file!())
|
||||
}
|
||||
|
||||
#[message_handler_data(CustomData)]
|
||||
|
|
|
@ -53,10 +53,10 @@ mod test {
|
|||
|
||||
#[test]
|
||||
fn generate_message_tree() {
|
||||
let res = Message::build_message_tree();
|
||||
let result = Message::build_message_tree();
|
||||
let mut file = std::fs::File::create("../hierarchical_message_system_tree.txt").unwrap();
|
||||
file.write_all(format!("{} `{}`\n", res.name(), res.path()).as_bytes()).unwrap();
|
||||
if let Some(variants) = res.variants() {
|
||||
file.write_all(format!("{} `{}`\n", result.name(), result.path()).as_bytes()).unwrap();
|
||||
if let Some(variants) = result.variants() {
|
||||
for (i, variant) in variants.iter().enumerate() {
|
||||
let is_last = i == variants.len() - 1;
|
||||
print_tree_node(variant, "", is_last, &mut file);
|
||||
|
|
|
@ -48,7 +48,7 @@ impl ToolMetadata for ArtboardTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for ArtboardTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
self.fsm_state.process_event(message, &mut self.data, tool_data, &(), responses, false);
|
||||
|
|
|
@ -185,7 +185,7 @@ impl LayoutHolder for BrushTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for BrushTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
let ToolMessage::Brush(BrushToolMessage::UpdateOptions(action)) = message else {
|
||||
|
|
|
@ -39,7 +39,7 @@ impl LayoutHolder for EyedropperTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for EyedropperTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
self.fsm_state.process_event(message, &mut self.data, tool_data, &(), responses, true);
|
||||
|
|
|
@ -41,7 +41,7 @@ impl LayoutHolder for FillTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for FillTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
self.fsm_state.process_event(message, &mut (), tool_data, &(), responses, true);
|
||||
|
|
|
@ -116,7 +116,7 @@ impl LayoutHolder for FreehandTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for FreehandTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
let ToolMessage::Freehand(FreehandToolMessage::UpdateOptions(action)) = message else {
|
||||
|
|
|
@ -53,7 +53,7 @@ impl ToolMetadata for GradientTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for GradientTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
let ToolMessage::Gradient(GradientToolMessage::UpdateOptions(action)) = message else {
|
||||
|
|
|
@ -38,7 +38,7 @@ impl LayoutHolder for NavigateTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for NavigateTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
self.fsm_state.process_event(message, &mut self.tool_data, tool_data, &(), responses, true);
|
||||
|
|
|
@ -275,7 +275,7 @@ impl LayoutHolder for PathTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for PathTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
let updating_point = message == ToolMessage::Path(PathToolMessage::SelectedPointUpdated);
|
||||
|
|
|
@ -186,7 +186,7 @@ impl LayoutHolder for PenTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for PenTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
let ToolMessage::Pen(PenToolMessage::UpdateOptions(action)) = message else {
|
||||
|
|
|
@ -242,7 +242,7 @@ impl LayoutHolder for SelectTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for SelectTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
if let ToolMessage::Select(SelectToolMessage::SelectOptions(SelectOptionsUpdate::NestedSelectionBehavior(nested_selection_behavior))) = message {
|
||||
|
|
|
@ -123,7 +123,7 @@ impl LayoutHolder for SplineTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for SplineTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
let ToolMessage::Spline(SplineToolMessage::UpdateOptions(action)) = message else {
|
||||
|
|
|
@ -171,7 +171,7 @@ impl LayoutHolder for TextTool {
|
|||
}
|
||||
}
|
||||
|
||||
#[message_handler_data()]
|
||||
#[message_handler_data]
|
||||
impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for TextTool {
|
||||
fn process_message(&mut self, message: ToolMessage, responses: &mut VecDeque<Message>, tool_data: &mut ToolActionHandlerData<'a>) {
|
||||
let ToolMessage::Text(TextToolMessage::UpdateOptions(action)) = message else {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -26,7 +26,8 @@ pub fn generate_hierarchical_tree(input: TokenStream) -> syn::Result<TokenStream
|
|||
{
|
||||
let mut variant_tree = DebugMessageTree::new(stringify!(#variant_type));
|
||||
let field_name = stringify!(#field_type);
|
||||
if "Message" == &field_name[field_name.len().saturating_sub(7)..] {
|
||||
const message_string: &str = "Message";
|
||||
if message_string == &field_name[field_name.len().saturating_sub(message_string.len())..] {
|
||||
// The field is a Message type, recursively build its tree
|
||||
let sub_tree = #field_type::build_message_tree();
|
||||
variant_tree.add_variant(sub_tree);
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
use crate::helpers::{call_site_ident, clean_rust_type_syntax};
|
||||
use proc_macro2::{Span, TokenStream};
|
||||
use quote::{ToTokens, quote};
|
||||
use syn::{ItemImpl, Type, parse2, spanned::Spanned};
|
||||
|
||||
use crate::helpers::{call_site_ident, clean_rust_type_syntax};
|
||||
|
||||
pub fn message_handler_data_attr_impl(attr: TokenStream, input_item: TokenStream) -> syn::Result<TokenStream> {
|
||||
// Parse the input as an impl block
|
||||
let impl_block = parse2::<ItemImpl>(input_item.clone())?;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue