/* * Copyright (c) 2021, Conor Byrne * * SPDX-License-Identifier: BSD-2-Clause */ #include "GMLPreviewWidget.h" #include #include namespace HackStudio { GMLPreviewWidget::GMLPreviewWidget(DeprecatedString const& gml_content) { set_layout(); load_gml(gml_content); } void GMLPreviewWidget::load_gml(DeprecatedString const& gml) { remove_all_children(); if (gml.is_empty()) { auto& label = add(); label.set_text("Open a .gml file to show the preview"); return; } // FIXME: Parsing errors happen while the user is typing. What should we do about them? (void)load_from_gml(gml, [](DeprecatedString const& name) -> ErrorOr> { return GUI::Label::try_create(DeprecatedString::formatted("{} is not registered as a GML element!", name)); }); if (children().is_empty()) { auto& label = add(); label.set_text("Failed to load GML!"); } } }