Commit graph

2290 commits

Author SHA1 Message Date
Andreas Kling
81a280da87 Toolchain: Make sure everything ends up in the right place in Root/ 2019-05-08 15:50:24 +02:00
Andreas Kling
758e926b99 GGroupBox: Rename "name" property to "title" 2019-05-08 14:32:46 +02:00
Andreas Kling
3ae9fc5d88 Move VisualBuilder into a new DevTools directory. 2019-05-08 13:53:34 +02:00
Andreas Kling
6b40b081b2 GTextEditor: Add a readonly mode. 2019-05-08 05:00:28 +02:00
Andreas Kling
5d707745b6 VisualBuilder: Add a simple mechanism to write a form out to disk. 2019-05-08 04:39:42 +02:00
Andreas Kling
7ce3b10568 CIODevice: Add some basic output facilities: write() and printf().
Being able to do file.printf() is extremely comfy, I have to say. :^)
2019-05-08 04:38:41 +02:00
Andreas Kling
b719bf7fde GEventLoop: Calm down with the Vector inline capacity for messages.
Using nested event loops like this would cause the stack to grow huge.
2019-05-08 03:35:05 +02:00
Andreas Kling
b227b57508 GWindow: Mirror the correct number of pixels to newly created back bitmaps. 2019-05-08 03:34:36 +02:00
Andreas Kling
2848a96d66 GTableView: Fix crash on mousemove when no model is assigned. 2019-05-08 03:33:13 +02:00
Andreas Kling
aff2fa4383 GraphicsBitmap: size_in_bytes() was overshooting by 4x, oops! 2019-05-08 03:28:40 +02:00
Andreas Kling
eaf03d4ddb HelloWorld: Add a simple "Hello World!" app showing the basics.
This also introduces a Demos/ directory where I hope to add cool things.
2019-05-08 01:18:36 +02:00
Andreas Kling
1930d48a38 GApplication: quit() should have a default exit code of 0. 2019-05-08 01:15:41 +02:00
Andreas Kling
5e733d47a3 VisualBuilder: Add a way to dump the current form to the debugger. 2019-05-07 23:28:35 +02:00
Andreas Kling
5b0c0847ef GSpinBox: Add class_name() override. 2019-05-07 23:28:22 +02:00
Andreas Kling
1598a0a5cb ProcessManager: Draw the graphs as lines.
This looks pretty neat. Also it exercises the diagonal line drawing code
so we get 2-for-1. :^)
2019-05-07 17:11:48 +02:00
Andreas Kling
5b2e122624 WindowServer: Don't launch a terminal when clicking system menu separators.
The menu item for launching a terminal was sharing ID's with the separators.
2019-05-07 17:11:28 +02:00
Andreas Kling
e8d395b14d Painter: Support diagonal lines with dy>dx, and apply clipping as well. 2019-05-07 17:01:55 +02:00
Andreas Kling
4f77b4e5bc GTabWidget: Fill the entire tab widget instead of just the bar.
There's no guarantee that child widgets will paint everything, so let's have
GTabWidget fill itself.
2019-05-07 17:00:56 +02:00
Andreas Kling
1af9b6f102 Painter: Remove unused draw_focus_rect(). 2019-05-07 16:17:28 +02:00
Andreas Kling
922391e772 ProcessManager: Tweak default column widths. 2019-05-07 16:07:07 +02:00
Andreas Kling
19eeaf807d AK: Add InlineLinkedList::remove_tail(). 2019-05-07 16:06:48 +02:00
Andreas Kling
11b99dd89a GTabWidget: Tweak appearance. 2019-05-07 14:13:20 +02:00
Andreas Kling
5c4b421d56 GTabWidget: Highlight tab buttons when hovered.
The active tab's button doesn't get highlighted, since the highlight is
supposed to indicate that the widget can be interacted with.
2019-05-07 14:01:20 +02:00
Andreas Kling
67108f872f Shell: Make ^W and ^U work when cursor is not at the end of the line. 2019-05-07 05:29:07 +02:00
Andreas Kling
b04f08ba48 Shell: Support home/end keys for line editing. 2019-05-07 05:03:21 +02:00
Andreas Kling
d53941a466 Shell: Support basic line editing with left/right arrow keys. 2019-05-07 04:17:05 +02:00
Andreas Kling
8750f93201 WindowServer: Don't invalidate the cursor on left button state change.
This was needed back when pressing the left button would cause the cursor
to switch colors.
2019-05-07 03:56:54 +02:00
Andreas Kling
b860da3ea5 Shell: Ignore tab key for now. 2019-05-07 02:55:56 +02:00
Andreas Kling
ad1c3c748f Shell: Allow browsing history with up/down arrow keys. 2019-05-07 02:50:15 +02:00
Andreas Kling
16a5a76445 Shell: Add "history" command that shows command history. 2019-05-07 01:43:21 +02:00
Andreas Kling
ba7364b43b Shell: Move line editing to a separate class.
To be clear, there isn't really any line editing yet. But there is
going to be, so let's have it in its own class.
2019-05-07 01:39:41 +02:00
Andreas Kling
fe73543d41 Shell: Move the Shell to a separate directory and let's call it "Shell" :^) 2019-05-07 01:12:08 +02:00
Andreas Kling
e63cc38861 Shell: Use a Vector<char> for the main input buffer. 2019-05-07 01:01:50 +02:00
Andreas Kling
e66f88ed60 GTableView: Make column resizing work when view is scrolled horizontally. 2019-05-06 23:38:35 +02:00
Andreas Kling
26110f7753 GTextEditor: set_cursor() should gracefully handle old cursor being invalid.
Since set_cursor() may be called after arbitrary document changes, it can't
rely on the old cursor being valid. To make things simple, if the old cursor
is on a line no longer in the document, just repaint the whole editor.
2019-05-06 22:04:53 +02:00
Andreas Kling
72cbcd8e98 Kernel: Dump backtrace on exit() syscall.
This makes assertion failures a lot more pleasant to investigate.
2019-05-06 21:48:48 +02:00
Andreas Kling
cb3e150983 GraphicsBitmap: Add non-const overload of bits().
This is clearly useful, I don't know why I thought it wasn't.
2019-05-06 20:29:52 +02:00
Andreas Kling
61e3ecec79 GraphicsBitmap: Add a new "Indexed8" format that uses a 256-entry palette.
These bitmaps should only be used as a source bitmap, we won't support
painting into them using Painter. You can however manipulate the raw
pixel data. :^)
2019-05-06 19:32:56 +02:00
Andreas Kling
cec16105cc Make sure all GraphicsBitmap scanlines are 16-byte aligned.
This is a prerequisite for some optimizations.
2019-05-06 14:04:54 +02:00
Andreas Kling
fafdda8902 AK: Change HashTable and HashMap size/capacity to be ints. 2019-05-06 13:28:52 +02:00
Andreas Kling
ac67a2ed5e Minesweeper: Flag unflagged mines on win. 2019-05-06 13:27:58 +02:00
Andreas Kling
3d61c8ec09 ProcessManager: Use the same margins for both CPU and memory graph. 2019-05-06 03:37:22 +02:00
Andreas Kling
25bb7a59ac ProcessManager: Add CPU/memory usage graphs in a separate tab.
Finally we get some real use for the new GTabWidget. :^)
2019-05-06 03:21:34 +02:00
Andreas Kling
6df3df62be Color: Add named color "Cyan" 2019-05-06 00:59:33 +02:00
Andreas Kling
3bdb95e128 ProcessManager+LibGUI: Tweak things to improve ProcessManager look. 2019-05-05 20:53:04 +02:00
Andreas Kling
9e5ad25188 GTabWidget: Paint a frame around the container part of the widget.
Then make the active tab stand out by punching a hole in the frame below
its button.
2019-05-05 15:03:34 +02:00
Andreas Kling
4e1b36ddf2 GTabWidget: Make a custom look for tab buttons. 2019-05-05 14:39:37 +02:00
Andreas Kling
62e7b26406 LibGUI: Start working on a tabbed widget container: GTabWidget. 2019-05-05 01:31:02 +02:00
Andreas Kling
dd299fe51a CObject: add_child() should set the child's parent. 2019-05-05 01:09:49 +02:00
Andreas Kling
b7cd6dea13 GTableView: Fix crash when clicking at random places. 2019-05-05 00:58:42 +02:00