diff --git a/Demos/WidgetGallery/main.cpp b/Demos/WidgetGallery/main.cpp index c79b18b948..fce83bac40 100644 --- a/Demos/WidgetGallery/main.cpp +++ b/Demos/WidgetGallery/main.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2018-2020, Andreas Kling + * Copyright (c) 2020, Linus Groh * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -243,6 +244,76 @@ int main(int argc, char** argv) auto& gif_animation_image = tab_image.add(); gif_animation_image.load_from_file("/res/download-animation.gif"); + auto& tab_cursors = tab_widget.add_tab("Cursors"); + tab_cursors.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fill); + tab_cursors.set_layout(); + tab_cursors.layout()->set_margins({ 4, 4, 4, 4 }); + tab_cursors.layout()->set_spacing(4); + + auto& cursor_group_box = tab_cursors.add("Cursor"); + cursor_group_box.set_layout(); + cursor_group_box.layout()->set_margins({ 5, 15, 5, 5 }); + cursor_group_box.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed); + cursor_group_box.set_preferred_size(0, 390); + + auto& radio_cursor_none = cursor_group_box.add("None"); + radio_cursor_none.set_checked(true); + radio_cursor_none.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::None); + }; + auto& radio_cursor_arrow = cursor_group_box.add("Arrow"); + radio_cursor_arrow.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::Arrow); + }; + auto& radio_cursor_i_beam = cursor_group_box.add("IBeam"); + radio_cursor_i_beam.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::IBeam); + }; + auto& radio_cursor_resize_horizontal = cursor_group_box.add("ResizeHorizontal"); + radio_cursor_resize_horizontal.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::ResizeHorizontal); + }; + auto& radio_cursor_resize_vertical = cursor_group_box.add("ResizeVertical"); + radio_cursor_resize_vertical.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::ResizeVertical); + }; + auto& radio_cursor_resize_diagonal_tlbr = cursor_group_box.add("ResizeDiagonalTLBR"); + radio_cursor_resize_diagonal_tlbr.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::ResizeDiagonalTLBR); + }; + auto& radio_cursor_resize_diagonal_bltr = cursor_group_box.add("ResizeDiagonalBLTR"); + radio_cursor_resize_diagonal_bltr.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::ResizeDiagonalBLTR); + }; + auto& radio_cursor_resize_column = cursor_group_box.add("ResizeColumn"); + radio_cursor_resize_column.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::ResizeColumn); + }; + auto& radio_cursor_resize_row = cursor_group_box.add("ResizeRow"); + radio_cursor_resize_row.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::ResizeRow); + }; + auto& radio_cursor_hand = cursor_group_box.add("Hand"); + radio_cursor_hand.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::Hand); + }; + auto& radio_cursor_help = cursor_group_box.add("Help"); + radio_cursor_help.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::Help); + }; + auto& radio_cursor_drag = cursor_group_box.add("Drag"); + radio_cursor_drag.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::Drag); + }; + auto& radio_cursor_move = cursor_group_box.add("Move"); + radio_cursor_move.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::Move); + }; + auto& radio_cursor_wait = cursor_group_box.add("Wait"); + radio_cursor_wait.on_checked = [&](bool) { + window->set_override_cursor(GUI::StandardCursor::Wait); + }; + window->show(); return app->exec();