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
8d550c174e
LibCore: Convert CFile to ObjectPtr
2019-09-21 20:50:06 +02:00
Andreas Kling
defafd72bc
LibGUI: Convert custom widgets and subclasses to ObjectPtr
2019-09-21 20:04:00 +02:00
Andreas Kling
409494193e
LibGUI: Convert remaining random little things to ObjectPtr
2019-09-21 19:40:14 +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
7aaad27778
LibGUI: Convert GSlider to ObjectPtr
2019-09-21 16:33:53 +02:00
Andreas Kling
ceb5508fea
LibGUI: Convert GProgressBar to ObjectPtr
2019-09-21 16:31:12 +02:00
Andreas Kling
b78225941d
LibGUI: Convert GSpinBox to ObjectPtr
2019-09-21 16:15:11 +02:00
Andreas Kling
83b5f6c11a
LibGUI: Convert GGroupBox to ObjectPtr
2019-09-21 16:13:33 +02:00
Andreas Kling
e7b55037f4
LibGUI: Convert GTableView to ObjectPtr
2019-09-21 16:03:59 +02:00
Andreas Kling
93851c3832
LibGUI: Convert GTextBox, GTextEditor and GResizeCorner to ObjectPtr
2019-09-21 15:46:47 +02:00
Andreas Kling
bce58bbbca
LibGUI: Convert GScrollBar to ObjectPtr
2019-09-21 15:25:08 +02:00
Andreas Kling
c7437f9caa
LibGUI: Convert GLabel to ObjectPtr
2019-09-21 15:25:08 +02:00
Andreas Kling
664dff0581
VisualBuilder: Disallow moving managed widgets with the arrow keys
2019-09-17 22:41:42 +02:00
Andreas Kling
4f184114de
VisualBuilder: Add icons for the layout menu actions
2019-09-17 22:39:48 +02:00
Andreas Kling
9d460d55d1
VisualBuilder: Don't allow moving/resizing widgets that are in a layout
...
Also paint these widgets' grabbers differently to make it stand out
visually which widgets have managed geometry. :^)
2019-09-17 22:17:28 +02:00
Andreas Kling
5e439bb3c8
VisualBuilder: Fix hit testing for composite widgets
...
When we ask LibGUI to hit test, it may return a subwidget of a widget
composed of many smaller widgets. In those cases we need to locate the
appropriate corresponding VBWidget for the composite widget.
2019-09-17 22:17:28 +02:00
Andreas Kling
b37fc9f655
VisualBuilder: Make it possible to add a layout to a widget
...
This patch adds horizontal and vertical layout options to the widget
context menu.
This is going to need a lot of work, but it's a cool start. :^)
2019-09-17 22:17:28 +02:00
Andreas Kling
9acdf9bb0a
VisualBuilder: Support nested widgets
...
This patch makes it possible to put widgets inside one another. The way
you do this right now is by having a (single) widget selected when you
insert a new widget. The new widget then becomes a child of the
selected widget. (In the future we'll make it possible to drag widgets
into each other, and things like that.)
I've also changed the grabber coordinates to be window-relative instead
of parent-relative in order to simplify things for myself. Maybe that's
not the ideal design and we can revisit that.
2019-09-17 22:17:28 +02:00
Andreas Kling
a77814bdee
VisualBuilder: Use GAboutDialog :^)
2019-09-17 22:17:28 +02:00
Andreas Kling
d754ac5bcb
LibGUI+VisualBuilder: Add move-to-front/back to GCommonActions
...
Also give them nice little icons. :^)
2019-09-14 22:42:39 +02:00
Andreas Kling
92b17eab23
VisualBuilder: Use GCommonActions::make_delete_action()
2019-09-14 22:32:56 +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
Andreas Kling
11f2e7cd5c
GMenu: Update apps now that you can create a nameless GMenu
...
We had many context menus with names, simply because you were forced
to give them names.
2019-09-13 22:14:07 +02:00
Andreas Kling
73fdbba59c
AK: Rename <AK/AKString.h> to <AK/String.h>
...
This was a workaround to be able to build on case-insensitive file
systems where it might get confused about <string.h> vs <String.h>.
Let's just not support building that way, so String.h can have an
objectively nicer name. :^)
2019-09-06 15:36:54 +02:00
rhin123
8fc2034ca1
VBForm: Fixed cursor not changing on resize /w multiple selections
...
We were resetting the cursor during multiple selections since our
mouse can only be over a single widget at a time.
2019-09-06 07:17:57 +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
rhin123
e7d15ccca4
VBForm: Set mouse type relative to how we resize the VBWidget
2019-08-30 07:45:12 +02:00
Andreas Kling
f6998b1817
JSON: Templatize the JSON serialization code
...
This makes it possible to use something other than a StringBuilder for
serialization (and to produce something other than a String.) :^)
2019-08-07 21:29:32 +02:00
Andreas Kling
6311a617be
GComboBox: Include the selected index with the on_change notification
...
This will be useful for clients that need to fetch additional data from
the model on selection change.
2019-08-05 18:42:51 +02:00
Andreas Kling
1d0b464618
AK: Make HashMap::get(Key) return an Optional<Value>.
...
This allows HashMap::get() to be used for value types that cannot be default
constructed (e.g NonnullOwnPtr.)
2019-07-24 10:25:43 +02:00
Andreas Kling
e2798d6208
VisualBuilder: Convert Vector<OwnPtr> to NonnullOwnPtrVector.
2019-07-24 09:40:11 +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
c59b053ad6
GSlider: Add support for vertical sliders.
...
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-20 19:32:12 +02:00
Andreas Kling
1c0669f010
LibDraw: Introduce (formerly known as SharedGraphics.)
...
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-18 10:18:16 +02:00
Andreas Kling
a17fbd98e7
LibGUI: Add input types to GMessageBox.
...
Currently the two available input types are:
- GMessageBox::InputType::OK (default)
- GMessageBox::InputType::OKCancel
Based on your choice, GMessageBox::exec() will return ExecOK or ExecCancel.
2019-07-16 21:41:13 +02:00
Andreas Kling
69fea8d41d
VisualBuilder: Expose the "name" property on all widgets.
2019-07-10 20:34:17 +02:00
VAN BOSSUYT Nicolas
802d4dcb6b
Meta: Removed all gitignore in the source tree only keeping the root one
2019-06-30 10:41:26 +02:00
Andreas Kling
315716d193
GUI: Use Win2K-like "warm gray" color instead of the older colder gray.
...
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-30 09:23:16 +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
65e470c90a
VisualBuilder: Use NonnullRefPtrVector.
2019-06-27 13:49:26 +02:00
Andreas Kling
6a0011dcea
LibGUI+VisualBuilder: Support custom editing widgets for property values.
...
Implemented this by letting GAbstractViews provide a GModelEditingDelegate
for a given index, which then knows how to create and setup a custom widget
appropriate for the data type being edited.
2019-06-23 08:18:28 +02:00
Andreas Kling
17acc1e0a8
VisualBuilder: Fix compiler warnings.
2019-06-22 16:16:39 +02:00
Andreas Kling
d343fb2429
AK: Rename Retainable.h => RefCounted.h.
2019-06-21 18:58:45 +02:00
Andreas Kling
550b0b062b
AK: Rename RetainPtr.h => RefPtr.h, Retained.h => NonnullRefPtr.h.
2019-06-21 18:45:59 +02:00
Andreas Kling
90b1354688
AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.
2019-06-21 18:37:47 +02:00
Andreas Kling
77b9fa89dd
AK: Rename Retainable => RefCounted.
...
(And various related renames that go along with it.)
2019-06-21 15:30:03 +02:00