Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-09-22 | LibCore: Make CObject reference-counted | Andreas Kling | |
Okay, I've spent a whole day on this now, and it finally kinda works! With this patch, CObject and all of its derived classes are reference counted instead of tree-owned. The previous, Qt-like model was nice and familiar, but ultimately also outdated and difficult to reason about. CObject-derived types should now be stored in RefPtr/NonnullRefPtr and each class can be constructed using the forwarding construct() helper: auto widget = GWidget::construct(parent_widget); Note that construct() simply forwards all arguments to an existing constructor. It is inserted into each class by the C_OBJECT macro, see CObject.h to understand how that works. CObject::delete_later() disappears in this patch, as there is no longer a single logical owner of a CObject. | |||
2019-09-21 | LibGUI: Convert custom widgets and subclasses to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert remaining random little things to ObjectPtr | Andreas Kling | |
2019-09-21 | GButton: Convert most code to using ObjectPtr for GButton | Andreas Kling | |
2019-09-21 | LibGUI: Convert GCheckBox to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GRadioButton to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GWindow to ObjectPtr | Andreas Kling | |
2019-09-21 | LibCore: Remove CTimer::create() overloads in favor of construct() | Andreas Kling | |
2019-09-21 | LibGUI: Convert GWidget to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GSlider to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GProgressBar to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GSpinBox to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GTextBox, GTextEditor and GResizeCorner to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GScrollBar to ObjectPtr | Andreas Kling | |
2019-09-21 | LibGUI: Convert GLabel to ObjectPtr | Andreas Kling | |
2019-09-20 | LibCore: Convert CTimer to ObjectPtr | Andreas Kling | |
2019-07-28 | WindowServer+LibGUI: Pass window icons as shared buffers rather than paths. | Andreas Kling | |
Now that we support more than 2 clients per shared buffer, we can use them for window icons. I didn't do that previously since it would have made the Taskbar process unable to access the icons. This opens up some nice possibilities for programmatically generated icons. | |||
2019-07-23 | LibGUI: Get rid of GWindow::should_exit_event_loop_on_close(). | Andreas Kling | |
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-20 | GWidget: Add set_preferred_size(width, height) overload. | Andreas Kling | |
It was annoying to always write set_preferred_size({ width, height }). :^) | |||
2019-07-20 | GSlider: Add support for vertical sliders. | Andreas Kling | |
You now have to pass an Orientation to the GSlider constructor. It's not possible to change the orientation after construction. Added some vertical GSliders to the WidgetGallery demo for testing. :^) | |||
2019-07-18 | LibDraw: Introduce (formerly known as SharedGraphics.) | Andreas Kling | |
Instead of LibGUI and WindowServer building their own copies of the drawing and graphics code, let's it in a separate LibDraw library. This avoids building the code twice, and will encourage better separation of concerns. :^) | |||
2019-07-12 | HelloWorld: Make the demo label say "Hello\nWorld!". | Andreas Kling | |
This is really just to show off multi-line GLabels :^) | |||
2019-07-11 | GSlider: Make the knob width proportional to the range, if in that mode (#288) | Lawrence Manning | |
Regardless of mode, made the knob container clickable so the knob position can be moved without dragging the knob itself. Added a 3rd GSlider to the WidgetGallery showing the proportional mode in action. | |||
2019-07-10 | Demos: Add a HelloWorld2 demo. | Andreas Kling | |
This is a simple test app with its UI generated from a VisualBuilder form. The name is probably silly, but who cares. :^) | |||
2019-07-03 | AK: Rename the common integer typedefs to make it obvious what they are. | Andreas Kling | |
These types can be picked up by including <AK/Types.h>: * u8, u16, u32, u64 (unsigned) * i8, i16, i32, i64 (signed) | |||
2019-06-30 | Meta: Removed all gitignore in the source tree only keeping the root one | VAN BOSSUYT Nicolas | |
2019-06-30 | GUI: Use Win2K-like "warm gray" color instead of the older colder gray. | Andreas Kling | |
Someone suggested this a long time ago and I never got around to it. So here we go, here's the warm gray! I have to admit I like it better. :^) | |||
2019-06-22 | WidgetGallery: Fix compiler warnings. | Andreas Kling | |
2019-06-21 | AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. | Andreas Kling | |
2019-06-12 | Demos: Import Fire demo contributed by "pd". | Andreas Kling | |
2019-06-07 | Demos: Run clang-format on everything. | Andreas Kling | |
2019-05-27 | removed extra impl of scaling | Christopher Dumas | |
2019-05-27 | tiled backgrounds no longer has strange off-by-one pixel errors | Christopher Dumas | |
2019-05-24 | Demos: Start working on a simple WidgetGallery app. | Andreas Kling | |
It's good to have a place where we can try out all the different widgets. This needs some more work on a nice layout, and should also include more of the widgets. :^) | |||
2019-05-24 | LibGUI: Make GCheckBox inherit from GAbstractButton. | Andreas Kling | |
2019-05-13 | Fix "make clean" not deleting app binaries. | Andreas Kling | |
2019-05-13 | RetroFetch: Add a silly neofetch-like program. | Andreas Kling | |
The idea is to print out various system info suitable for screenshots. :^) | |||
2019-05-08 | HelloWorld: Add a simple "Hello World!" app showing the basics. | Andreas Kling | |
This also introduces a Demos/ directory where I hope to add cool things. |