mirror of
https://github.com/FyroxEngine/Fyrox.git
synced 2026-10-11 22:50:08 +00:00
include type name of fields in inspector tooltips
This commit is contained in:
@@ -282,6 +282,7 @@ impl PropertyEditorDefinition for DynTypePropertyEditorDefinition {
|
||||
ctx.name_column_width,
|
||||
ctx.hide_name_column,
|
||||
None,
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -381,6 +381,7 @@ impl PropertyEditorDefinition for ScriptPropertyEditorDefinition {
|
||||
ctx.name_column_width,
|
||||
ctx.hide_name_column,
|
||||
None,
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -59,11 +59,11 @@ pub struct FieldMetadata<'s> {
|
||||
}
|
||||
|
||||
impl<'s> FieldMetadata<'s> {
|
||||
pub fn description(&self) -> String {
|
||||
pub fn description(&self, type_name: &str) -> String {
|
||||
if self.doc.is_empty() {
|
||||
self.display_name.to_string()
|
||||
format!("{} ({type_name})", self.display_name)
|
||||
} else {
|
||||
format!("{}\n\n{}", self.display_name, self.doc)
|
||||
format!("{} ({type_name})\n\n{}", self.display_name, self.doc)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -332,16 +332,8 @@ where
|
||||
) -> Result<PropertyEditorInstance, InspectorError> {
|
||||
let value = ctx.property_info.cast_value::<[T; N]>()?;
|
||||
|
||||
let editor;
|
||||
let container = make_expander_container(
|
||||
ctx.layer_index,
|
||||
ctx.property_info.display_name,
|
||||
ctx.property_info.doc,
|
||||
Handle::<UiNode>::NONE,
|
||||
{
|
||||
editor = ArrayEditorBuilder::new(
|
||||
WidgetBuilder::new().with_margin(Thickness::uniform(1.0)),
|
||||
)
|
||||
let editor =
|
||||
ArrayEditorBuilder::new(WidgetBuilder::new().with_margin(Thickness::uniform(1.0)))
|
||||
.with_collection(value.iter())
|
||||
.with_environment(ctx.environment.clone())
|
||||
.with_layer_index(ctx.layer_index + 1)
|
||||
@@ -356,11 +348,17 @@ where
|
||||
ctx.base_path.clone(),
|
||||
ctx.has_parent_object,
|
||||
)?;
|
||||
editor
|
||||
},
|
||||
|
||||
let container = make_expander_container(
|
||||
ctx.layer_index,
|
||||
ctx.property_info.display_name,
|
||||
ctx.property_info.doc,
|
||||
Handle::<UiNode>::NONE,
|
||||
editor,
|
||||
ctx.name_column_width,
|
||||
false,
|
||||
None,
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -468,16 +468,8 @@ where
|
||||
.with_image(resources::ADD.clone())
|
||||
.build_button(ctx.build_context);
|
||||
|
||||
let editor;
|
||||
let container = make_expander_container(
|
||||
ctx.layer_index,
|
||||
ctx.property_info.display_name,
|
||||
ctx.property_info.doc,
|
||||
add,
|
||||
{
|
||||
editor = CollectionEditorBuilder::new(
|
||||
WidgetBuilder::new().with_margin(Thickness::uniform(1.0)),
|
||||
)
|
||||
let editor =
|
||||
CollectionEditorBuilder::new(WidgetBuilder::new().with_margin(Thickness::uniform(1.0)))
|
||||
.with_add(add)
|
||||
.with_collection(value.iter())
|
||||
.with_environment(ctx.environment.clone())
|
||||
@@ -493,11 +485,17 @@ where
|
||||
ctx.base_path.clone(),
|
||||
ctx.has_parent_object,
|
||||
)?;
|
||||
editor
|
||||
},
|
||||
|
||||
let container = make_expander_container(
|
||||
ctx.layer_index,
|
||||
ctx.property_info.display_name,
|
||||
ctx.property_info.doc,
|
||||
add,
|
||||
editor,
|
||||
ctx.name_column_width,
|
||||
ctx.hide_name_column,
|
||||
None,
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -386,33 +386,32 @@ where
|
||||
.build(ctx.build_context)
|
||||
.to_base();
|
||||
|
||||
let editor;
|
||||
let editor = EnumPropertyEditorBuilder::new(WidgetBuilder::new())
|
||||
.with_variant_selector(variant_selector)
|
||||
.with_layer_index(ctx.layer_index + 1)
|
||||
.with_definition_container(ctx.definition_container.clone())
|
||||
.with_environment(ctx.environment.clone())
|
||||
.with_generate_property_string_values(ctx.generate_property_string_values)
|
||||
.with_filter(ctx.filter)
|
||||
.build(
|
||||
ctx.build_context,
|
||||
self,
|
||||
value,
|
||||
ctx.name_column_width,
|
||||
ctx.base_path.clone(),
|
||||
ctx.has_parent_object,
|
||||
);
|
||||
|
||||
let container = make_expander_container(
|
||||
ctx.layer_index,
|
||||
ctx.property_info.display_name,
|
||||
ctx.property_info.doc,
|
||||
variant_selector,
|
||||
{
|
||||
editor = EnumPropertyEditorBuilder::new(WidgetBuilder::new())
|
||||
.with_variant_selector(variant_selector)
|
||||
.with_layer_index(ctx.layer_index + 1)
|
||||
.with_definition_container(ctx.definition_container.clone())
|
||||
.with_environment(ctx.environment.clone())
|
||||
.with_generate_property_string_values(ctx.generate_property_string_values)
|
||||
.with_filter(ctx.filter)
|
||||
.build(
|
||||
ctx.build_context,
|
||||
self,
|
||||
value,
|
||||
ctx.name_column_width,
|
||||
ctx.base_path.clone(),
|
||||
ctx.has_parent_object,
|
||||
);
|
||||
editor
|
||||
},
|
||||
editor,
|
||||
ctx.name_column_width,
|
||||
ctx.hide_name_column,
|
||||
None,
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -252,6 +252,7 @@ where
|
||||
ctx.name_column_width,
|
||||
ctx.hide_name_column,
|
||||
Some(Brush::solid(160, 160, 200)),
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -117,6 +117,7 @@ where
|
||||
ctx.name_column_width,
|
||||
ctx.hide_name_column,
|
||||
None,
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -111,6 +111,7 @@ where
|
||||
ctx.name_column_width,
|
||||
ctx.hide_name_column,
|
||||
None,
|
||||
value.type_info_ref().type_name,
|
||||
ctx.build_context,
|
||||
);
|
||||
|
||||
|
||||
@@ -1062,6 +1062,7 @@ fn make_expander_check_box(
|
||||
property_description: &str,
|
||||
hide_name: bool,
|
||||
text_brush: Option<Brush>,
|
||||
type_name: &str,
|
||||
ctx: &mut BuildContext,
|
||||
) -> Handle<CheckBox> {
|
||||
let handle = CheckBoxBuilder::new(
|
||||
@@ -1082,9 +1083,9 @@ fn make_expander_check_box(
|
||||
Handle::NONE
|
||||
} else {
|
||||
let description = if property_description.is_empty() {
|
||||
property_name.to_string()
|
||||
format!("{property_name} ({type_name})")
|
||||
} else {
|
||||
format!("{property_name}\n\n{property_description}")
|
||||
format!("{property_name} ({type_name})\n\n{property_description}")
|
||||
};
|
||||
TextBuilder::new(
|
||||
WidgetBuilder::new()
|
||||
@@ -1128,6 +1129,7 @@ pub fn make_expander_container(
|
||||
width: f32,
|
||||
hide_name_column: bool,
|
||||
text_brush: Option<Brush>,
|
||||
type_name: &str,
|
||||
ctx: &mut BuildContext,
|
||||
) -> Handle<UiNode> {
|
||||
ExpanderBuilder::new(WidgetBuilder::new())
|
||||
@@ -1137,6 +1139,7 @@ pub fn make_expander_container(
|
||||
description,
|
||||
hide_name_column,
|
||||
text_brush,
|
||||
type_name,
|
||||
ctx,
|
||||
))
|
||||
.with_expander_column(if hide_name_column {
|
||||
@@ -1180,7 +1183,7 @@ fn make_tooltip(ctx: &mut BuildContext, text: &str) -> Option<RcUiNodeHandle> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn make_simple_property_container(
|
||||
fn make_simple_property_container(
|
||||
title: Handle<Text>,
|
||||
editor: Handle<impl ObjectOrVariant<UiNode>>,
|
||||
description: &str,
|
||||
@@ -1315,7 +1318,7 @@ impl InspectorContext {
|
||||
continue;
|
||||
}
|
||||
|
||||
let description = info.description();
|
||||
let description = info.description(info.value.type_info_ref().type_name);
|
||||
|
||||
if let Some(definition) = definition_container
|
||||
.definitions()
|
||||
|
||||
Reference in New Issue
Block a user