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