1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:48:11 +00:00

ModelGallery: Use TRY() a lot more :^)

This commit is contained in:
pbrw 2021-11-25 02:56:13 +01:00 committed by Andreas Kling
parent 601de466cb
commit 162c271eb6
4 changed files with 23 additions and 25 deletions

View file

@ -14,4 +14,4 @@ set(SOURCES
serenity_app(ModelGallery ICON app-model-gallery) serenity_app(ModelGallery ICON app-model-gallery)
target_link_libraries(ModelGallery LibGUI LibGfx) target_link_libraries(ModelGallery LibGUI LibGfx LibMain)

View file

@ -13,23 +13,23 @@ GalleryWidget::GalleryWidget()
set_layout<GUI::VerticalBoxLayout>(); set_layout<GUI::VerticalBoxLayout>();
auto& inner_widget = add<GUI::Widget>(); auto& inner_widget = add<GUI::Widget>();
auto& inner_layout = inner_widget.set_layout<GUI::VerticalBoxLayout>(); auto inner_layout = inner_widget.try_set_layout<GUI::VerticalBoxLayout>().release_value_but_fixme_should_propagate_errors();
inner_layout.set_margins({ 4 }); inner_layout->set_margins({ 4 });
m_tab_widget = inner_widget.add<GUI::TabWidget>(); m_tab_widget = inner_widget.try_add<GUI::TabWidget>().release_value_but_fixme_should_propagate_errors();
m_statusbar = add<GUI::Statusbar>(); m_statusbar = add<GUI::Statusbar>();
load_basic_model_tab(); (void)load_basic_model_tab();
load_sorting_filtering_tab(); load_sorting_filtering_tab();
} }
void GalleryWidget::load_basic_model_tab() ErrorOr<void> GalleryWidget::load_basic_model_tab()
{ {
auto& tab = m_tab_widget->add_tab<GUI::Widget>("Basic Model"); auto tab = TRY(m_tab_widget->try_add_tab<GUI::Widget>("Basic Model"));
tab.load_from_gml(basic_model_tab_gml); tab->load_from_gml(basic_model_tab_gml);
m_basic_model = BasicModel::create(); m_basic_model = BasicModel::create();
m_basic_model_table = *tab.find_descendant_of_type_named<GUI::TableView>("model_table"); m_basic_model_table = *tab->find_descendant_of_type_named<GUI::TableView>("model_table");
m_basic_model_table->set_model(m_basic_model); m_basic_model_table->set_model(m_basic_model);
m_basic_model->on_invalidate = [&] { m_basic_model->on_invalidate = [&] {
@ -43,9 +43,9 @@ void GalleryWidget::load_basic_model_tab()
m_basic_model->add_item("...hello..."); m_basic_model->add_item("...hello...");
m_basic_model->add_item("...friends! :^)"); m_basic_model->add_item("...friends! :^)");
m_new_item_name = *tab.find_descendant_of_type_named<GUI::TextBox>("new_item_name"); m_new_item_name = *tab->find_descendant_of_type_named<GUI::TextBox>("new_item_name");
m_add_new_item = *tab.find_descendant_of_type_named<GUI::Button>("add_new_item"); m_add_new_item = *tab->find_descendant_of_type_named<GUI::Button>("add_new_item");
m_remove_selected_item = *tab.find_descendant_of_type_named<GUI::Button>("remove_selected_item"); m_remove_selected_item = *tab->find_descendant_of_type_named<GUI::Button>("remove_selected_item");
m_add_new_item->set_icon(Gfx::Bitmap::try_load_from_file("/res/icons/16x16/plus.png").release_value_but_fixme_should_propagate_errors()); m_add_new_item->set_icon(Gfx::Bitmap::try_load_from_file("/res/icons/16x16/plus.png").release_value_but_fixme_should_propagate_errors());
m_remove_selected_item->set_icon(Gfx::Bitmap::try_load_from_file("/res/icons/16x16/minus.png").release_value_but_fixme_should_propagate_errors()); m_remove_selected_item->set_icon(Gfx::Bitmap::try_load_from_file("/res/icons/16x16/minus.png").release_value_but_fixme_should_propagate_errors());
@ -59,6 +59,8 @@ void GalleryWidget::load_basic_model_tab()
m_basic_model->remove_item(index); m_basic_model->remove_item(index);
} }
}; };
return {};
} }
void GalleryWidget::load_sorting_filtering_tab() void GalleryWidget::load_sorting_filtering_tab()

View file

@ -21,7 +21,7 @@ class GalleryWidget final : public GUI::Widget {
private: private:
GalleryWidget(); GalleryWidget();
void load_basic_model_tab(); ErrorOr<void> load_basic_model_tab();
void load_sorting_filtering_tab(); void load_sorting_filtering_tab();
void add_textbox_contents_to_basic_model(); void add_textbox_contents_to_basic_model();

View file

@ -5,34 +5,30 @@
*/ */
#include "GalleryWidget.h" #include "GalleryWidget.h"
#include <LibCore/System.h>
#include <LibGUI/Application.h> #include <LibGUI/Application.h>
#include <LibGUI/BoxLayout.h> #include <LibGUI/BoxLayout.h>
#include <LibGUI/Button.h> #include <LibGUI/Button.h>
#include <LibGUI/Frame.h> #include <LibGUI/Frame.h>
#include <LibGUI/MessageBox.h> #include <LibGUI/MessageBox.h>
#include <LibMain/Main.h>
#include <unistd.h> #include <unistd.h>
int main(int argc, char** argv) ErrorOr<int> serenity_main(Main::Arguments arguments)
{ {
if (pledge("stdio recvfd sendfd rpath wpath cpath unix", nullptr) < 0) { TRY(Core::System::pledge("stdio recvfd sendfd rpath wpath cpath unix", nullptr));
perror("pledge");
return 1;
}
auto app = GUI::Application::construct(argc, argv); auto app = TRY(GUI::Application::try_create(arguments));
if (pledge("stdio recvfd sendfd rpath", nullptr) < 0) { TRY(Core::System::pledge("stdio recvfd sendfd rpath", nullptr));
perror("pledge");
return 1;
}
auto app_icon = GUI::Icon::default_icon("app-model-gallery"); auto app_icon = GUI::Icon::default_icon("app-model-gallery");
auto window = GUI::Window::construct(); auto window = TRY(GUI::Window::try_create());
window->set_title("Model Gallery"); window->set_title("Model Gallery");
window->set_icon(app_icon.bitmap_for_size(16)); window->set_icon(app_icon.bitmap_for_size(16));
window->resize(430, 480); window->resize(430, 480);
window->set_main_widget<GalleryWidget>(); TRY(window->try_set_main_widget<GalleryWidget>());
window->show(); window->show();
return app->exec(); return app->exec();