Commit graph

19 commits

Author SHA1 Message Date
Andreas Kling
fa232ac180 LibGUI: Remove GModel activations to GAbstractView.
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-09 04:56:52 +02:00
Andreas Kling
4ab0cd5d4c LibGUI: Move frame painting from GFrame to StylePainter.
This way it can be used by others who might not have a GFrame object.
2019-04-10 03:43:46 +02:00
Andreas Kling
b797458962 GTreeView: Support navigating the tree with the up/down keys. 2019-04-02 03:18:26 +02:00
Andreas Kling
de57628a46 GTreeView: Notify the GScrollableWidget about content size changes.
This makes the tree view scrollable at last.
2019-03-30 04:58:31 +01:00
Andreas Kling
4506e3a085 GTreeView: Remove test model I was using during bringup. 2019-03-30 03:49:39 +01:00
Andreas Kling
a92710ce3f GTreeView: Handle the item expand/collapse toggles separately. 2019-03-30 03:44:08 +01:00
Andreas Kling
a535c7453f GTreeView: On model selection change, open the selected index. 2019-03-30 03:30:50 +01:00
Andreas Kling
2c6a597d77 FileManager: Make the tree view follow the directory view navigations. 2019-03-30 03:27:25 +01:00
Andreas Kling
025a50d9cb GTreeView: Tweak line tree back and forth a bit. 2019-03-30 01:42:16 +01:00
Andreas Kling
1963391ca6 GTreeView: Add basic selection support. 2019-03-29 20:36:15 +01:00
Andreas Kling
967eec1e52 GTreeView: Add expand/collapse buttons to items with children. 2019-03-29 20:18:15 +01:00
Andreas Kling
eb182bcafc LibGUI: Draw a 1px line tree alongside the GTreeView icons. 2019-03-29 19:48:15 +01:00
Andreas Kling
f6b48ecd47 GTreeView: More implementation work. 2019-03-29 18:10:58 +01:00
Andreas Kling
b181263b9f GTreeView: Factor paint traversal into a shared function.
This way it can be used by hit testing as well, guaranteeing that everything
stays consistent.
2019-03-29 17:30:27 +01:00
Andreas Kling
4d3c5fd83e LibGUI: Start working on a GFileSystemModel and hook that up in FileManager.
This is a read-only model for the tree view, at least initially. We'll see
where we take it from there once it's more polished.
2019-03-29 17:03:30 +01:00
Andreas Kling
f249c40aaa Rename Painter::set_clip_rect() to add_clip_rect().
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-29 15:01:54 +01:00
Andreas Kling
474340b9cd GTreeView: A bunch of work on the tree view. 2019-03-29 14:46:53 +01:00
Andreas Kling
d02238af48 LibGUI: Expand GModelIndex a bit, adding internal data and model pointers.
This will be useful for implementing more complicated models.
2019-03-29 04:58:15 +01:00
Andreas Kling
12ec55ee74 LibGUI: Start working on a GTreeView class. 2019-03-29 04:00:07 +01:00