@@ -33,64 +33,64 @@ OvEditor::Panels::AssetProperties::AssetProperties
3333) :
3434 PanelWindow (p_title, p_opened, p_windowSettings)
3535{
36- m_targetChanged += [this ]() { SetTarget (m_assetSelector->content ); };
36+ m_targetChanged += [this ]() { SetTarget (m_assetSelector->content ); };
3737
3838 CreateHeaderButtons ();
3939
40- m_headerSeparator = &CreateWidget<OvUI::Widgets::Visual::Separator>();
41- m_headerSeparator->enabled = false ;
40+ m_headerSeparator = &CreateWidget<OvUI::Widgets::Visual::Separator>();
41+ m_headerSeparator->enabled = false ;
4242
43- CreateAssetSelector ();
43+ CreateAssetSelector ();
4444
45- m_settings = &CreateWidget<OvUI::Widgets::Layout::GroupCollapsable>(" Settings" );
45+ m_settings = &CreateWidget<OvUI::Widgets::Layout::GroupCollapsable>(" Settings" );
4646 m_settingsColumns = &m_settings->CreateWidget <OvUI::Widgets::Layout::Columns<2 >>();
4747 m_settingsColumns->widths [0 ] = 150 ;
4848
49- m_info = &CreateWidget<OvUI::Widgets::Layout::GroupCollapsable>(" Info" );
50- m_infoColumns = &m_info->CreateWidget <OvUI::Widgets::Layout::Columns<2 >>();
51- m_infoColumns->widths [0 ] = 150 ;
49+ m_info = &CreateWidget<OvUI::Widgets::Layout::GroupCollapsable>(" Info" );
50+ m_infoColumns = &m_info->CreateWidget <OvUI::Widgets::Layout::Columns<2 >>();
51+ m_infoColumns->widths [0 ] = 150 ;
5252
53- m_settings->enabled = m_info->enabled = false ;
53+ m_settings->enabled = m_info->enabled = false ;
5454}
5555
5656void OvEditor::Panels::AssetProperties::SetTarget (const std::string& p_path)
5757{
5858 m_resource = p_path == " " ? p_path : EDITOR_EXEC (GetResourcePath (p_path));
5959
60- if (m_assetSelector)
61- {
62- m_assetSelector->content = m_resource;
63- }
60+ if (m_assetSelector)
61+ {
62+ m_assetSelector->content = m_resource;
63+ }
6464
65- Refresh ();
65+ Refresh ();
6666}
6767
6868void OvEditor::Panels::AssetProperties::Refresh ()
6969{
70- m_metadata.reset (new OvTools::Filesystem::IniFile (EDITOR_EXEC (GetRealPath (m_resource)) + " .meta" ));
71-
72- CreateSettings ();
73- CreateInfo ();
74-
75- m_applyButton->enabled = m_settings->enabled ;
76- m_resetButton->enabled = m_settings->enabled ;
77- m_revertButton->enabled = m_settings->enabled ;
78-
79- switch (OvTools::Utils::PathParser::GetFileType (m_resource))
80- {
81- case OvTools::Utils::PathParser::EFileType::MODEL:
82- case OvTools::Utils::PathParser::EFileType::TEXTURE:
83- case OvTools::Utils::PathParser::EFileType::MATERIAL:
84- m_previewButton->enabled = true ;
85- break ;
86- default :
87- m_previewButton->enabled = false ;
88- break ;
89- }
90-
91- // Enables the header separator (And the line break) if at least one button is enabled
92- m_headerSeparator->enabled = m_applyButton->enabled || m_resetButton->enabled || m_revertButton->enabled || m_previewButton->enabled ;
93- m_headerLineBreak->enabled = m_headerSeparator->enabled ;
70+ m_metadata.reset (new OvTools::Filesystem::IniFile (EDITOR_EXEC (GetRealPath (m_resource)) + " .meta" ));
71+
72+ CreateSettings ();
73+ CreateInfo ();
74+
75+ m_applyButton->enabled = m_settings->enabled ;
76+ m_resetButton->enabled = m_settings->enabled ;
77+ m_revertButton->enabled = m_settings->enabled ;
78+
79+ switch (OvTools::Utils::PathParser::GetFileType (m_resource))
80+ {
81+ case OvTools::Utils::PathParser::EFileType::MODEL:
82+ case OvTools::Utils::PathParser::EFileType::TEXTURE:
83+ case OvTools::Utils::PathParser::EFileType::MATERIAL:
84+ m_previewButton->enabled = true ;
85+ break ;
86+ default :
87+ m_previewButton->enabled = false ;
88+ break ;
89+ }
90+
91+ // Enables the header separator (And the line break) if at least one button is enabled
92+ m_headerSeparator->enabled = m_applyButton->enabled || m_resetButton->enabled || m_revertButton->enabled || m_previewButton->enabled ;
93+ m_headerLineBreak->enabled = m_headerSeparator->enabled ;
9494}
9595
9696void OvEditor::Panels::AssetProperties::Preview ()
@@ -120,42 +120,43 @@ void OvEditor::Panels::AssetProperties::Preview()
120120void OvEditor::Panels::AssetProperties::CreateHeaderButtons ()
121121{
122122 m_applyButton = &CreateWidget<OvUI::Widgets::Buttons::Button>(" Apply" );
123- m_applyButton->idleBackgroundColor = { 0 .0f , 0 .5f , 0 .0f };
124- m_applyButton->enabled = false ;
125- m_applyButton->lineBreak = false ;
126- m_applyButton->ClickedEvent += std::bind (&AssetProperties::Apply, this );
123+ m_applyButton->idleBackgroundColor = { 0 .0f , 0 .5f , 0 .0f };
124+ m_applyButton->tooltip = " Save changes and reimport the asset with the new settings" ;
125+ m_applyButton->enabled = false ;
126+ m_applyButton->lineBreak = false ;
127+ m_applyButton->ClickedEvent += std::bind (&AssetProperties::Apply, this );
127128
128129 m_revertButton = &CreateWidget<OvUI::Widgets::Buttons::Button>(" Revert" );
129- m_revertButton->idleBackgroundColor = { 0 . 7f , 0 . 5f , 0 . 0f } ;
130- m_revertButton->enabled = false ;
131- m_revertButton->lineBreak = false ;
132- m_revertButton->ClickedEvent += std::bind (&AssetProperties::SetTarget, this , m_resource);
130+ m_revertButton->tooltip = " Reload the last saved settings from the asset property file " ;
131+ m_revertButton->enabled = false ;
132+ m_revertButton->lineBreak = false ;
133+ m_revertButton->ClickedEvent += [ this ] { SetTarget ( m_resource); } ;
133134
134135 m_previewButton = &CreateWidget<OvUI::Widgets::Buttons::Button>(" Preview" );
135- m_previewButton->idleBackgroundColor = { 0 . 7f , 0 . 5f , 0 . 0f } ;
136- m_previewButton->enabled = false ;
136+ m_previewButton->tooltip = " Preview the asset in the Asset View " ;
137+ m_previewButton->enabled = false ;
137138 m_previewButton->lineBreak = false ;
138139 m_previewButton->ClickedEvent += std::bind (&AssetProperties::Preview, this );
139140
140- m_resetButton = &CreateWidget<OvUI::Widgets::Buttons::Button>(" Reset to default" );
141+ m_resetButton = &CreateWidget<OvUI::Widgets::Buttons::Button>(" Reset" );
142+ m_resetButton->tooltip = " Reset all settings to default values" ;
141143 m_resetButton->idleBackgroundColor = { 0 .5f , 0 .0f , 0 .0f };
142- m_resetButton->enabled = false ;
143- m_resetButton->lineBreak = false ;
144- m_resetButton->ClickedEvent += [this ]
145- {
144+ m_resetButton->enabled = false ;
145+ m_resetButton->lineBreak = false ;
146+ m_resetButton->ClickedEvent += [this ] {
146147 m_metadata->RemoveAll ();
147148 CreateSettings ();
148149 };
149150
150- m_headerLineBreak = &CreateWidget<OvUI::Widgets::Layout::NewLine>();
151- m_headerLineBreak->enabled = false ;
151+ m_headerLineBreak = &CreateWidget<OvUI::Widgets::Layout::NewLine>();
152+ m_headerLineBreak->enabled = false ;
152153}
153154
154155void OvEditor::Panels::AssetProperties::CreateAssetSelector ()
155156{
156- auto & columns = CreateWidget<OvUI::Widgets::Layout::Columns<2 >>();
157- columns.widths [0 ] = 150 ;
158- m_assetSelector = &OvCore::Helpers::GUIDrawer::DrawAsset (columns, " Target" , m_resource, &m_targetChanged);
157+ auto & columns = CreateWidget<OvUI::Widgets::Layout::Columns<2 >>();
158+ columns.widths [0 ] = 150 ;
159+ m_assetSelector = &OvCore::Helpers::GUIDrawer::DrawAsset (columns, " Target" , m_resource, &m_targetChanged);
159160}
160161
161162void OvEditor::Panels::AssetProperties::CreateSettings ()
@@ -164,7 +165,7 @@ void OvEditor::Panels::AssetProperties::CreateSettings()
164165
165166 const auto fileType = OvTools::Utils::PathParser::GetFileType (m_resource);
166167
167- m_settings->enabled = true ;
168+ m_settings->enabled = true ;
168169
169170 if (fileType == OvTools::Utils::PathParser::EFileType::MODEL)
170171 {
@@ -174,36 +175,36 @@ void OvEditor::Panels::AssetProperties::CreateSettings()
174175 {
175176 CreateTextureSettings ();
176177 }
177- else
178- {
179- m_settings->enabled = false ;
180- }
178+ else
179+ {
180+ m_settings->enabled = false ;
181+ }
181182}
182183
183184void OvEditor::Panels::AssetProperties::CreateInfo ()
184185{
185- const auto realPath = EDITOR_EXEC (GetRealPath (m_resource));
186+ const auto realPath = EDITOR_EXEC (GetRealPath (m_resource));
186187
187- m_infoColumns->RemoveAllWidgets ();
188+ m_infoColumns->RemoveAllWidgets ();
188189
189- if (std::filesystem::exists (realPath))
190- {
191- m_info->enabled = true ;
190+ if (std::filesystem::exists (realPath))
191+ {
192+ m_info->enabled = true ;
192193
193- OvCore::Helpers::GUIDrawer::CreateTitle (*m_infoColumns, " Path" );
194- m_infoColumns->CreateWidget <OvUI::Widgets::Texts::Text>(realPath);
194+ OvCore::Helpers::GUIDrawer::CreateTitle (*m_infoColumns, " Path" );
195+ m_infoColumns->CreateWidget <OvUI::Widgets::Texts::Text>(realPath);
195196
196- OvCore::Helpers::GUIDrawer::CreateTitle (*m_infoColumns, " Size" );
197- const auto [size, unit] = OvTools::Utils::SizeConverter::ConvertToOptimalUnit (static_cast <float >(std::filesystem::file_size (realPath)), OvTools::Utils::SizeConverter::ESizeUnit::BYTE);
198- m_infoColumns->CreateWidget <OvUI::Widgets::Texts::Text>(std::to_string (size) + " " + OvTools::Utils::SizeConverter::UnitToString (unit));
197+ OvCore::Helpers::GUIDrawer::CreateTitle (*m_infoColumns, " Size" );
198+ const auto [size, unit] = OvTools::Utils::SizeConverter::ConvertToOptimalUnit (static_cast <float >(std::filesystem::file_size (realPath)), OvTools::Utils::SizeConverter::ESizeUnit::BYTE);
199+ m_infoColumns->CreateWidget <OvUI::Widgets::Texts::Text>(std::to_string (size) + " " + OvTools::Utils::SizeConverter::UnitToString (unit));
199200
200- OvCore::Helpers::GUIDrawer::CreateTitle (*m_infoColumns, " Metadata" );
201- m_infoColumns->CreateWidget <OvUI::Widgets::Texts::Text>(std::filesystem::exists (realPath + " .meta" ) ? " Yes" : " No" );
202- }
203- else
204- {
205- m_info->enabled = false ;
206- }
201+ OvCore::Helpers::GUIDrawer::CreateTitle (*m_infoColumns, " Metadata" );
202+ m_infoColumns->CreateWidget <OvUI::Widgets::Texts::Text>(std::filesystem::exists (realPath + " .meta" ) ? " Yes" : " No" );
203+ }
204+ else
205+ {
206+ m_info->enabled = false ;
207+ }
207208}
208209
209210#define MODEL_FLAG_ENTRY (setting ) OvCore::Helpers::GUIDrawer::DrawBoolean(*m_settingsColumns, setting, [&]() { return m_metadata->Get <bool >(setting); }, [&](bool value) { m_metadata->Set <bool >(setting, value); })
0 commit comments