Andreas Kling
977863ea07
LibGUI: Include keyboard modifier state with button on_click calls
...
This will allow you us to implement special behavior when Ctrl+clicking
a button.
2020-05-12 20:31:16 +02:00
Andreas Kling
52a250cb61
LibGUI: Make MenuBar a Core::Object
...
This makes it show up in Inspector with all the menus inside it. :^)
2020-04-21 16:19:18 +02:00
Andreas Kling
26eeaef0a8
LibGUI: Add MenuBar::add_menu(name)
...
This allows us to construct menus in a more natural way:
auto& file_menu = menubar->add_menu("File");
file_menu.add_action(...);
Instead of the old way:
auto file_menu = GUI::Menu::construct();
file_menu->add_action(...);
menubar->add_menu(file_menu);
2020-04-04 12:58:05 +02:00
Andreas Kling
028c011760
LibCore: Make Core::Object::add<ChildType> return a ChildType&
...
Since the returned object is now owned by the callee object, we can
simply vend a ChildType&. This allows us to use "." instead of "->"
at the call site, which is quite nice. :^)
2020-03-04 21:04:06 +01:00
Andreas Kling
0f3e57a6fb
LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clients
2020-03-04 14:26:16 +01:00
Andreas Kling
4697195645
LibGUI: Use set_layout<LayoutType>() in lots of client code
2020-03-04 13:49:48 +01:00
Andreas Kling
a26b63a958
LibGUI: Remove Button& parameter from Button::on_click hook
...
There was but a single user of this parameter and it's a bit tedious
to write it out every time, so let's get rid of it.
2020-03-03 17:02:38 +01:00
Andreas Kling
c5d913970a
LibGUI: Remove parent parameter to GUI::Widget constructor
2020-02-23 12:27:53 +01:00
Andreas Kling
b011ea9962
LibGUI: Reduce menu-related header dependencies
2020-02-15 01:56:30 +01:00
Andreas Kling
6a9cc66b97
LibGUI: Remove leading G from filenames
2020-02-06 20:33:02 +01:00
Andreas Kling
799b0a4fa8
LibGUI: Rename {H,V}BoxLayout => {Horizontal,Vertical}BoxLayout
2020-02-06 14:44:13 +01:00
Andreas Kling
5c06c32df4
LibGfx: Prefer using Gfx::Bitmap::load_from_file instead of load_png()
...
Code that just wants to open a Gfx::Bitmap from a file should not be
calling the PNG codec directly.
2020-02-06 13:39:17 +01:00
Andreas Kling
9ac94d393e
LibGfx: Rename from LibDraw :^)
2020-02-06 12:04:00 +01:00
Andreas Kling
11580babbf
LibDraw: Put all classes in the Gfx namespace
...
I started adding things to a Draw namespace, but it somehow felt really
wrong seeing Draw::Rect and Draw::Bitmap, etc. So instead, let's rename
the library to LibGfx. :^)
2020-02-06 11:56:38 +01:00
Andreas Kling
c5bd9d4ed1
LibGUI: Put all classes in the GUI namespace and remove the leading G
...
This took me a moment. Welcome to the new world of GUI::Widget! :^)
2020-02-02 15:15:33 +01:00
Andreas Kling
d67da8c101
LibGUI: Add GHBoxLayout and GVBoxLayout convenience classes
2020-02-02 15:09:48 +01:00
Andreas Kling
94ca55cefd
Meta: Add license header to source files
...
As suggested by Joshua, this commit adds the 2-clause BSD license as a
comment block to the top of every source file.
For the first pass, I've just added myself for simplicity. I encourage
everyone to add themselves as copyright holders of any file they've
added or modified in some significant way. If I've added myself in
error somewhere, feel free to replace it with the appropriate copyright
holder instead.
Going forward, all new source files should include a license header.
2020-01-18 09:45:54 +01:00
Andreas Kling
fd5eb79d19
LibGUI: Make GMenu inherit from CObject
...
This is primarily to make it possible to pass a GMenu* where a CObject*
is expected.
2019-12-09 21:05:44 +01:00
Andreas Kling
d6abfbdc5a
LibCore: Remove ObjectPtr in favor of RefPtr
...
Now that CObject is fully ref-counted, just use RefPtr everywhere! :^)
2019-09-22 00:31:54 +02:00
Andreas Kling
defafd72bc
LibGUI: Convert custom widgets and subclasses to ObjectPtr
2019-09-21 20:04:00 +02:00
Andreas Kling
45cfd57f6e
GButton: Convert most code to using ObjectPtr for GButton
2019-09-21 19:28:28 +02:00
Andreas Kling
7584480f62
LibGUI: Convert GWindow to ObjectPtr
2019-09-21 18:34:06 +02:00
Andreas Kling
ff6ce422dd
LibGUI: Convert GWidget to ObjectPtr
2019-09-21 17:05:35 +02:00
Andreas Kling
a77814bdee
VisualBuilder: Use GAboutDialog :^)
2019-09-17 22:17:28 +02:00
Andreas Kling
e83390387c
LibGUI: Simplify GCommonActions a bit
...
Use the same callback signature as GAction so we can just forward it
to GAction instead of chaining callbacks.
2019-09-14 22:10:44 +02:00
rhin123
4f3812ad14
VisualBuilder: Added GCommonActions
2019-09-05 09:40:54 +02:00
Andreas Kling
16628d0f8f
VisualBuilder: Remove empty "Edit" menu
...
There was nothing in there anyway. We can add it back when we have some
edit actions :^)
2019-09-01 13:25:54 +02:00
Andreas Kling
72a3f69df7
LibGUI: Get rid of GWindow::should_exit_event_loop_on_close().
...
This behavior and API was extremely counter-intuitive since our default
behavior was for applications to never exit after you close all of their
windows.
Now that we exit the event loop by default when the very last GWindow is
deleted, we don't have to worry about this.
2019-07-23 18:20:00 +02:00
Andreas Kling
b729b5fc64
VisualBuilder: Support loading a saved form from JSON.
...
The form to load is specified on the command line, e.g "vb test.frm".
2019-06-29 12:07:46 +02:00
Andreas Kling
892acfb10d
VisualBuilder: Run clang-format on everything.
2019-06-07 11:48:27 +02:00
Andreas Kling
40ca3b019f
VisualBuilder: Add GRadioButton to the widget repertoire.
2019-06-01 00:23:31 +02:00
Andreas Kling
3ae9fc5d88
Move VisualBuilder into a new DevTools directory.
2019-05-08 13:53:34 +02:00