Andreas Kling
a6b153abf1
HackStudio: Show the currently open file in bold (in the project list)
...
Also import a little default C++ project called "little" :^)
2019-10-22 21:38:58 +02:00
Andreas Kling
2638a94094
HackStudio: Add a simple app icon and some initial menus
2019-10-21 22:13:20 +02:00
Andreas Kling
3fa16dfae2
HackStudio: "Go to line" was mixed up about 0/1-based line numbers
2019-10-21 20:33:47 +02:00
Andreas Kling
d1916700ea
HackStudio: Restrict the "Go to line" shortcut to the text editor
...
We don't want Ctrl+L presses to be snatched while we're in the embedded
terminal, for example. :^)
2019-10-21 20:31:32 +02:00
Andreas Kling
da0958a882
LibVT: Make TerminalWidget's automatic size policy updates optional
...
When embedding a TerminalWidget, you might not want it to automatically
update its own size policy based on the exact terminal buffer size.
This behavior is now passed as a flag to the TerminalWidget constructor
which makes it behave nicely both inside HackStudio and in Terminal.
2019-10-21 20:28:30 +02:00
Andreas Kling
43ccb28852
HackStudio: Embed a Terminal widget below the text editor
...
This will be very useful for running (and interacting with) programs
after we build them. :^)
2019-10-21 20:17:32 +02:00
Andreas Kling
c1f72e0bbf
HackStudio: Show line numbers in the text editor by default
2019-10-21 19:03:09 +02:00
Andreas Kling
7eed2e968c
HackStudio: Show cursor line and column in the statusbar
2019-10-21 18:50:24 +02:00
Andreas Kling
0311e8d50a
HackStudio: Start working on an IDE for SerenityOS
...
This will be fun. :^)
2019-10-21 18:46:55 +02:00
Andreas Kling
4bfd4dc6c7
AK: Remove empty files JsonArray.cpp and JsonObject.cpp
2019-10-01 11:24:54 +02:00
Andreas Kling
d5f1c57fe2
Inspector: Fix bad RemoteObjectGraphModel::parent_index()
...
We were returning bogus indices and also failing to handle parents that
are roots.
This was visible in the broken line trees drawn by GTreeView.
2019-09-23 20:29:03 +02: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
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
4f4438c04c
LibGUI: Convert GSplitter to ObjectPtr
2019-09-21 16:11:02 +02:00
Andreas Kling
efb8f9d538
LibGUI: Convert GTreeView to ObjectPtr
2019-09-21 16:06:43 +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
2e76ac3aff
FormCompiler: Generate code that uses ObjectPtr for widgets
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
c83da29a9d
LibCore: Convert CLocalSocket 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
f89944e804
Inspector+LibCore+rpcdump: Rework the RPC stuff to be request/response
...
RPC clients now send JSON-encoded requests to the RPC server.
The connection also stays alive instead of disconnecting automatically
after the initial CObject graph dump.
JSON payloads are preceded by a single host-order encoded 32-bit int
containing the length of the payload.
So far, we have three RPC commands:
- Identify
- GetAllObjects
- Disconnect
We'll be adding more of these as we go along. :^)
2019-09-11 21:19:23 +02:00
Andreas Kling
292b89b2e8
Inspector: Don't call CSocket::connect() before setting up hooks
2019-09-11 19:56:31 +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
4f3234148a
Inspector: Show remote object properties in a table view
...
This patch expands the object model of this program quite a bit.
We now have a RemoteProcess object that contains a list of remote root
RemoteObject objects.
The RemoteProcess vends a RemoteObjectGraphModel&, and indices in that
model have internal_data() pointing to a corresponding RemoteObject.
RemoteObjects in turn vend a RemoteObjectPropertyModel&, which is what
we use to show the object properties.
This is pretty cool :^)
2019-08-19 20:29:52 +02:00
Andreas Kling
736dc5f6c0
Inspector: Add a missing "override" in RemoteObjectGraphModel
2019-08-19 19:46:40 +02:00