Merge pull request #39 from kkngsm/titlebar

the background color of title for each node
This commit is contained in:
setzer22 2022-06-07 21:52:29 +02:00 committed by GitHub
commit c8bf7aefe6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 4 deletions

View File

@ -324,15 +324,12 @@ where
let mut responses = Vec::new();
let background_color;
let titlebar_color;
let text_color;
if ui.visuals().dark_mode {
background_color = color_from_hex("#3f3f3f").unwrap();
titlebar_color = background_color.lighten(0.8);
text_color = color_from_hex("#fefefe").unwrap();
} else {
background_color = color_from_hex("#ffffff").unwrap();
titlebar_color = background_color.lighten(0.8);
text_color = color_from_hex("#505050").unwrap();
}
@ -532,7 +529,10 @@ where
let titlebar = Shape::Rect(RectShape {
rect: titlebar_rect,
rounding,
fill: titlebar_color,
fill: self.graph[self.node_id]
.user_data
.titlebar_color(ui, self.node_id, self.graph, user_state)
.unwrap_or_else(|| background_color.lighten(0.8)),
stroke: Stroke::none(),
});

View File

@ -48,6 +48,18 @@ where
) -> Vec<NodeResponse<Self::Response>>
where
Self::Response: UserResponseTrait;
/// Set background color on titlebar
/// If the return value is None, the default color is set.
fn titlebar_color(
&self,
_ui: &egui::Ui,
_node_id: NodeId,
_graph: &Graph<Self, Self::DataType, Self::ValueType>,
_user_state: &Self::UserState,
) -> Option<egui::Color32> {
None
}
}
/// This trait can be implemented by any user type. The trait tells the library