summaryrefslogtreecommitdiff
path: root/LibGUI/GTableView.h
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-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-21AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.Andreas Kling
2019-05-28Add clang-format fileRobin Burchell
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh.
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-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-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: 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-03-25LibGUI: Add GWidget::doubleclick_event().Andreas Kling
Now double-clicking an item in a GTableView or GItemView will activate it.
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-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-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-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-01LibGUI: GTableView should scroll items into view when keyboard navigating.Andreas Kling
2019-03-01LibGUI: Allow basic keyboard navigation in GTableView.Andreas Kling
Pressing Enter will now "activate" the selected index, meaning that the model gets a call to activate(GModelIndex).
2019-02-28LibGUI: Add a GModelNotification class that views will receive.Andreas Kling
I don't want to use GEvent here since these need to be synchronous and mixing sync and async GEvents would be stupid.
2019-02-28LibGUI: Add horizontal scrollbar to GTableView.Andreas Kling
Now we can scroll content in both directions if it won't fit in the view.
2019-02-28LibGUI: Update GTableView's scrollbar range in response to resize.Andreas Kling
2019-02-28LibGUI: Take ProcessManager's process view and turn it into GTableView.Andreas Kling
Make it sufficiently generic that it can be reused for any table data. :^)