summaryrefslogtreecommitdiff
path: root/LibGUI/GTableView.cpp
AgeCommit message (Collapse)Author
2019-07-04Libraries: Create top level directory for libraries.Andreas Kling
Things were getting a little crowded in the project root, so this patch moves the Lib*/ directories into Libraries/.
2019-06-30GUI: Use Win2K-like "warm gray" color instead of the older colder gray.Andreas Kling
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-30GTableView: Support per-index context menus.Andreas Kling
This patch adds an on_context_menu_request hook to GAbstractView which is currently only invoked by GTableView. We also pass along the entire context menu event, so that anyone using the hook can use it for menu placement etc.
2019-06-07LibGUI: Run clang-format on everything.Andreas Kling
2019-05-11GTableView: Update content size immediately on column show/hide.Andreas Kling
2019-05-11GTableView: Don't include hidden columns in content width.Andreas Kling
2019-05-10GTableView: Headers were not usable when the view was scrolled.Andreas Kling
2019-05-10GTableView: Make it possible to hide/show columns from a context menu.Andreas Kling
Show a context menu when right clicking the headers of a GTableView, and allow the user to hide/show individual columns.
2019-05-09LibGUI: Remove GModel activations to GAbstractView.Andreas Kling
Now you can hook activation via GAbstractView::on_activation. The design still isn't quite right, we should eventually move the selection away from the model somehow.
2019-05-08GTableView: Fix crash on mousemove when no model is assigned.Andreas Kling
2019-05-06GTableView: Make column resizing work when view is scrolled horizontally.Andreas Kling
2019-05-05GTableView: Fix crash when clicking at random places.Andreas Kling
2019-05-04GTableView: Make it possible to resize the columns with the mouse.Andreas Kling
The GModel now merely provides an initial width for the columns. Once that has been queried, the table view manages width from then on.
2019-05-04GTableView: Improve look of column headers, and add sort order indicators.Andreas Kling
2019-04-26GTableView: Ignore double-clicks that hit the header section.Andreas Kling
2019-04-25GTableView: Double-click should only activate/edit valid indices.Andreas Kling
2019-04-20GTableView: Tweak appearance of key column with alternating rows.Andreas Kling
2019-04-19LibGUI: Move editing logic from GTableView up to GAbstractView.Andreas Kling
GAbstractView should be able to manage the high-level editing logic, as long as subclasses implement content_rect(GModelIndex) so we know where to put the editing widgets. :^)
2019-04-18LibGUI: Move the editing widget along with the content when scrolling.Andreas Kling
2019-04-18LibGUI: Start working on GTableView inline editing.Andreas Kling
This is pretty shaky still, but the basic idea is that you subclass GModel and return true for editable indices. The table view also needs to have its editable flag set.
2019-04-16GTableView: Remove the old-style focus rect.Andreas Kling
2019-04-11GTableView: Handle not having a model a bit more gracefully.Andreas Kling
2019-04-10LibGUI: Move frame painting from GFrame to StylePainter.Andreas Kling
This way it can be used by others who might not have a GFrame object.
2019-03-29Rename Painter::set_clip_rect() to add_clip_rect().Andreas Kling
It was confusing to see multiple calls to set_foo() in a row. Since this is an intersecting operation, let's call it add_clip_rect() instead.
2019-03-29LibGUI: Expand GModelIndex a bit, adding internal data and model pointers.Andreas Kling
This will be useful for implementing more complicated models.
2019-03-28LibGUI: Improve GFrame's look for Container shapes.Andreas Kling
This is now starting to look like a proper container. Very nice :^)
2019-03-28LibGUI: Add a GPainter class that inherits from Painter.Andreas Kling
This gets rid of the last little piece of LibGUI knowledge in Painter.
2019-03-28LibGUI: Use GFrame to draw the frames around GItemView and GTableView.Andreas Kling
2019-03-27Tweak the look of various UI surfaces and buttons.Andreas Kling
2019-03-25LibGUI: Add GWidget::doubleclick_event().Andreas Kling
Now double-clicking an item in a GTableView or GItemView will activate it.
2019-03-24LibGUI+FileManager: Add a GIcon class to support multi-size icons.Andreas Kling
A GIcon can contain any number of bitmaps internally, and will give you the best fitting icon when you call bitmap_for_size().
2019-03-23LibGUI: Add a GItemView class.Andreas Kling
This is a GAbstractView subclass that implements a icon-based view onto a GModel. It still need a bunch of work, but it's in basic usable shape.
2019-03-23LibGUI: Add GAbstractView base class for GTableView.Andreas Kling
This is in preparation for adding a new view class.
2019-03-23LibGUI: Rename GTableModel => GModel.Andreas Kling
2019-03-20GTableView: Add ability to hide individual columns at view-level.Andreas Kling
Use this in IRCClient to hide the "sender" column in the server message view since everything in that view comes from the "Server" anyway.
2019-03-20LibGUI: Make GTableModel a retainable object.Andreas Kling
It became clear that this class needs to support multiple owners.
2019-03-18LibGUI: Add GTableModel::Role::ForegroundColor.Andreas Kling
This makes it possible to specify the text color for each table cell. Use this to make the IRCClient show unread window list items in red.
2019-03-16LibGUI: Factor out scrolling logic from GTableView into a GScrollableWidget.Andreas Kling
This then becomes the base class for GTableView. I'd like to share as much code as possible with GTextEditor and any other scrollable widgets.
2019-03-15GTableView: Add a way to turn off alternating row colors.Andreas Kling
2019-03-15IRCClient+LibGUI: Add an input box so we can send messages to channels.Andreas Kling
Implement this using a GTextEditor with a special single-line mode. This new mode needs some polishing, but it's already very useful.
2019-03-15GTableView: Add a way to hide the column headers.Andreas Kling
There are many situations where you would want a table view without headers.
2019-03-10LibGUI: Don't fill widgets with background color by defualt.Andreas Kling
2019-03-09GTableView: Minor painting cleanup.Andreas Kling
2019-03-09LibGUI: Minor tidying.Andreas Kling
2019-03-09LibGUI: Use a separate data role for the table model sorting order.Andreas Kling
This allows data to be displayed nicely while sorting happens based on some underlying raw data. :^)
2019-03-09GTableView: Allow changing sort options by clicking column headers.Andreas Kling
Also paint the sorted column slightly differently to indicate what's up.
2019-03-06LibGUI: GTableModel::data() should take a GModelIndex instead of int,int.Andreas Kling
2019-03-06GTableView: Ignore right clicks for now.Andreas Kling
2019-03-04GTableView: Tweak focus appearance for selected items.Andreas Kling
2019-03-04GTableView: Allow initiating keyboard navigation with no current selection.Andreas Kling