1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-24 13:45:07 +00:00
Commit graph

31 commits

Author SHA1 Message Date
AnotherTest
602a830428 Spreadsheet: Invert the drag-selection trigger
Make drag-selection the default behaviour, allowing (almost) any part of
the cell to initiate a select.
a small 5x5 rect at the corners of a cell can be used to initiate a
drag-copy instead.
Fixes #4268.
2020-11-30 17:54:54 +01:00
AnotherTest
c1276559ba Spreadsheet: Implement drag-to-select
To initiate drag-to-select, the user can move the mouse to near the edge
of a cell, and click-and-drag when the cursor changes to a crosshair.
Fixes #4167.
2020-11-30 12:07:45 +01:00
AnotherTest
a20f1202a8 Spreadsheet: Clear the cell and commit when the delete key is pressed
...as the initial stroke that begins an edit.
This is still imperfect, as it completely ignores selections.
Fixes #4168 (sort of).
2020-11-30 12:07:45 +01:00
AnotherTest
474453244b Spreadsheet: Implement infinit-scroll for columns
This naturally also implements multi-char columns, and also integrates
it into the js runtime (such columns can be named in ranges too).
2020-11-30 12:07:45 +01:00
AnotherTest
f6ae4edbd2 Spreadsheet: Implement infinite-scroll for rows
Every time the scrollbar reaches the end, we append 100 more rows
(seamlessly!).
As a result of defaulting to 100 rows, we can also save with the
smallest number of rows required.
This partially deals with #4170.
2020-11-30 12:07:45 +01:00
AnotherTest
e99c2261e3 Spreadsheet: Add support for copying ranges of cells to other cells
Now the entire range is copied to the area around the target cell,
translating the current cursor to the target.
2020-11-08 21:46:13 +01:00
AnotherTest
0e544b8afa Spreadsheet: Enable Drag&Drop and Copy/Paste
These currently only work on the current sheet, in the current
Spreadsheet instance, but they're still freakin' cool!
2020-11-03 16:47:56 +01:00
Andreas Kling
688675e89b LibGUI: Make table view row height+padding font-size-relative
This makes tables look a lot nicer with different-sized fonts. :^)
2020-10-25 10:12:03 +01:00
AnotherTest
395df7b27d Spreadsheet: Add conditional formatting
Currently only supports setting the foregound and the background colours.
This patch also unifies `foreground_color' and `background_color' used
throughout to a `Format' struct, in hopes of getting more formatting
options one day :P
2020-09-25 23:55:33 +02:00
AnotherTest
c2228b669d Spreadsheet: Allow customising the cell foreground and background colors 2020-09-12 15:01:19 +02:00
AnotherTest
054638c355 Spreadsheet: Add (limited) support for custom cell formatting 2020-08-29 17:42:03 +02:00
Andreas Kling
87f36b0852 Spreadsheet: Make cells right-aligned by default
Until we have better control over cell content alignment, let's make
them all right-aligned by default since that makes numbers look nice,
and numbers are the bread & butter of spreadsheets. :^)
2020-08-29 00:49:15 +02:00
Andreas Kling
c3b2495320 Spreadsheet: Have cursor movement keys commit and stop cell editing
Customize the cell editing delegate to stop editing when one of the
various cursor movement keys is hit. This allows you to type into a
cell and then move to an adjacent cell by simply pressing an arrow.

This may not be the best factoring for this feature, but it's pretty
dang cool and we'll see how it evolves over time. :^)
2020-08-28 21:26:16 +02:00
Andreas Kling
057d04d98f Spreadsheet: Enable "tab key navigation" in the spreadsheet tables
Moving left/right with the tab key is a classic spreadsheet behavior.
2020-08-28 21:10:12 +02:00
Andreas Kling
cd930e0f3d Spreadsheet: Make Return move the cursor one step down
This seems to be a common behavior in spreadsheet applications,
so let's replicate it here by hooking the activation signal.
2020-08-28 21:03:09 +02:00
Andreas Kling
c43f0f012d Spreadsheet: Enable the "any key pressed" edit trigger in spreadsheets 2020-08-28 20:49:51 +02:00
Andreas Kling
ccea1b2376 Spreadsheet: Let GUI::TableView paint the grid and cursor :^) 2020-08-28 17:09:30 +02:00
Andreas Kling
9f3b1b8e21 Spreadsheet: Draw cell borders as 1px thin line :^) 2020-08-27 19:28:04 +02:00
Andreas Kling
56e80fafd6 Spreadsheet: Draw cell cursor and selected cells differently
Now that the table view has a cursor, we can distinguish it from the
selected cells. Draw the cells with a nice variant of the selection
color as background.
2020-08-27 18:38:39 +02:00
AnotherTest
a5a3e5a178 Spreadsheet: Add support for changing multiple cells at once
Just select many cells and use the cell editor! so easy!
2020-08-27 10:27:20 +02:00
AnotherTest
dd4bd0943a Spreadsheet: Track selections across sheet switches 2020-08-27 10:27:20 +02:00
AnotherTest
8db5057dc4 Spreadsheet: Show errors and make them red 2020-08-27 10:27:20 +02:00
Andreas Kling
368dc8ad08 Spreadsheet: Tweak row height slightly
Add 2px of height to the rows. This makes editing a cell inline look
better since we no longer cut off the text while editing.
2020-08-26 20:35:09 +02:00
Andreas Kling
c5278dac99 Spreadsheet: Don't ignore selections in the A column :^)
This was a leftover from when the first column contained row numbers.
2020-08-26 17:00:40 +02:00
Andreas Kling
8cacac32b5 Spreadsheet: Enable row headers for the spreadsheet TableView 2020-08-26 17:00:40 +02:00
Andreas Kling
695b283b8c Spreadsheet: Get rid of the "row numbers" column
Let's use TableView's row headers for this instead. :^)
2020-08-26 17:00:40 +02:00
Andreas Kling
cfc30b11ba LibGUI: Rename table view's "cell painting delegate" to "column *"
What you install with this API is a delegate that manages painting of
all the items in a specific column, so let's make the API reflect that.
2020-08-26 00:51:35 +02:00
Andreas Kling
965ccf5242 Spreadsheet: Focus the spreadsheet table on startup 2020-08-26 00:51:35 +02:00
AnotherTest
1e14b93407 Spreadsheet: Fix crash when a row number is selected 2020-08-24 19:15:07 +02:00
AnotherTest
12cf3e13c0 Spreadsheet: Add a topbar with a text editor 2020-08-24 18:21:33 +02:00
AnotherTest
a6ebd29aa5 Spreadsheet: Start making a spreadsheet application 2020-08-24 18:21:33 +02:00