Commit Graph

7452 Commits

Author SHA1 Message Date
a997ec6139 Fix ShouldBeAlive state 2018-04-04 19:51:56 +09:00
31a7db0a35 Fix drag mishaps 2018-04-04 19:42:59 +09:00
bce114a37b Make AliveMasks private 2018-04-04 18:55:17 +09:00
4d71f2084c Move individual mask selection logic out of MaskSelection 2018-04-04 18:29:53 +09:00
b6b8c51657 Remove DragLayer dependency on MaskContainer 2018-04-04 18:20:32 +09:00
c2d371797e Fix unbind failure 2018-04-04 17:38:34 +09:00
c712b29b5b Rename dragBox to dragLayer 2018-04-04 16:24:27 +09:00
4196bb8c24 Move selection logic to MaskContainer 2018-04-04 16:24:13 +09:00
d453c2589a Add an explanatory comment for weird override 2018-04-04 16:02:20 +09:00
788bfde002 Merge branch 'master' into selectionlayer-rewrite 2018-04-04 15:38:27 +09:00
65f0e91734 Use Interpolation function directly for resizing tab strips. 2018-04-04 03:04:26 -03:00
6dfca4b2fa Merge branch 'master' into osu-tab-strip 2018-04-04 14:20:06 +09:00
4f19059e55 DragBox -> DragLayer 2018-04-03 21:29:49 +09:00
ddba7254ca Merge remote-tracking branch 'upstream/master' into linq 2018-04-03 13:05:08 +09:00
d40ccbd70a Merge branch 'master' into selectionlayer-rewrite 2018-04-03 12:03:11 +09:00
77189073b2 Merge branch 'master' into scalablecontainer-size-fix 2018-04-03 11:29:36 +09:00
57b4cdaf85 Merge branch 'master' into selectionlayer-rewrite 2018-04-03 03:05:42 +09:00
fd9480cfb6 Handle timingpoint FormatException 2018-04-02 20:08:40 +09:00
d24d81d8a9 De-pluralize some methods 2018-04-02 20:07:18 +09:00
83dcff2907 Merge branch 'master' into fix-songselect-exit-notimplemented 2018-04-02 13:54:06 +09:00
32832304a7 Merge branch 'master' into fix-songselect-exit-notimplemented 2018-04-02 13:53:41 +09:00
323534c721 Merge branch 'master' into fix-file-extension-matching 2018-04-02 13:27:14 +09:00
b842f682eb Use Linq.Append and Prepend. 2018-04-02 12:06:34 +08:00
551ba6ac4b Fix ScalableContainer irrepairably altering content size 2018-04-02 13:06:06 +09:00
cf3cafd9a9 Merge branch 'master' into beatmap-set-status 2018-03-30 20:55:36 +09:00
c39f056b3b Fix skin path being ignored in extension agnostic lookups
Closes #2295.
2018-03-30 18:06:18 +09:00
824201336a Merge branch 'master' into hr-on-mania-is-unranked 2018-03-30 16:35:00 +09:00
f1f7d978ec Add some comments 2018-03-30 16:28:59 +09:00
69a7ddbf1e Fix ordering of display/input of HitObjectMasks 2018-03-30 16:28:49 +09:00
53541a5c8d Add license header 2018-03-30 15:53:31 +09:00
5d0a636cc4 Rename SelectionBox -> Selection 2018-03-30 15:51:38 +09:00
1dca1663c3 Handle all selection events within SelectionBox (incl. single-mask) 2018-03-30 15:50:55 +09:00
082e5e4949 Reduce iterations of DragBox 2018-03-30 15:06:52 +09:00
0887dafa2c Revert changes on hard rock mod 2018-03-29 20:36:52 -07:00
e1123c5a95 Merge branch 'master' into selectionlayer-rewrite 2018-03-30 12:29:58 +09:00
e3218250d5 Fix tab strip in BreadcrumbControl, allow strip height to be overriden. 2018-03-29 15:41:27 -03:00
3d05798d80 Change SearchableListOverlay to use OsuTabControl strip. 2018-03-29 15:34:53 -03:00
f43b009b96 Add optional strip to OsuTabControl. 2018-03-29 15:29:45 -03:00
6b2ca36657 Add license header 2018-03-29 22:52:42 +09:00
6767dd3d4a Fix hitobject masks dying with no recovery 2018-03-29 22:42:42 +09:00
d9c5a0c6d1 Fix position editing not working 2018-03-29 22:38:44 +09:00
4446aeaa0d Commenting + cleanup of HitObjectMask/HitObjectMaskLayer 2018-03-29 22:38:28 +09:00
d8f26f2260 Make HitObjectMaskLayer not iterate through all masks when deselecting 2018-03-29 22:22:42 +09:00
1018711cc9 Cleanup SelectionBox 2018-03-29 22:20:56 +09:00
346de77776 Cleanup DragBox 2018-03-29 22:13:28 +09:00
04874bcda4 "overlay" -> "mask" 2018-03-29 22:09:22 +09:00
6d4f94756e Rewrite the way drag + click selections happen
The general idea here is that we need the masks to handle mouse down events, as they need to handle the drag (mousedown -> drag immediately).

I've rewritten the editor selections to use events, as there are some 3 different components that handle/trigger selections in different ways.

1. All selections/deselections now propagate through `HitObjectMask.Select()`/`HitObjectMask.Deselect()`.
2. Components that react to changes in the selection bind to the masks' `Selected`/`Deselected` events, and track them/change their states locally.
3. Masks provide a `SingleSelectionRequested` event which is invoked on the mouse-down event. Various components bind to this event to perform state changes locally in this scenario.
4. `DragBox` now handles all drag input locally. It triggers `Select`/`Deselect` on the masks it needs to.
5. `SelectionBox` handles the display of itself locally.
6. `SelectionBox` handles movement of groups of masks locally.
7. `HitObjectMasks` handles movement of itself locally.
2018-03-29 22:07:23 +09:00
57e4281601 Make HitObjectMasks VisibilityContainers 2018-03-29 18:44:15 +09:00
6314694557 Make HitObjectMaskLayer always create masks for all objects 2018-03-29 17:13:45 +09:00
187a025d36 Make hitobjects sorted by their start times 2018-03-29 16:07:31 +09:00