Bartłomiej Dach
73ca1d39a2
Improve sample bank text box UX in case of multiple selection
2021-11-13 21:59:44 +01:00
Bartłomiej Dach
3fee6b0938
Add support for setting sample bank & volume for multiple objects at once
2021-11-13 21:24:59 +01:00
Bartłomiej Dach
9800cd4903
Add test coverage for sample control point piece operation
2021-11-13 18:14:50 +01:00
Bartłomiej Dach
e1c28ddd76
Adjust difficulty point popover content spacing
2021-11-12 23:32:12 +01:00
Bartłomiej Dach
e55e2a1697
Allow to adjust slider velocity on multiple objects simultaneously
2021-11-12 23:32:11 +01:00
Bartłomiej Dach
7ba93aac27
Add test coverage for difficulty point piece operation
2021-11-12 22:16:09 +01:00
Bartłomiej Dach
b25ad8dfcb
Copy editor timestamp to OS clipboard even when triggered via menu bar
...
Would only work when triggered via Ctrl+C before, and not work at all
for Ctrl+X.
2021-11-10 12:49:10 +01:00
Bartłomiej Dach
5e31e890ae
Extract class for clipboard contents for DI purposes
2021-11-10 12:36:23 +01:00
Bartłomiej Dach
042b05a250
Move clipboard action availability logic down to editor screens
2021-11-09 19:54:37 +01:00
Bartłomiej Dach
286754f6f7
Move clipboard operation implementation down to current screen
2021-11-09 19:54:37 +01:00
Dean Herbert
09701d0af1
Use explicit primitive type specification
2021-11-04 16:02:37 +09:00
Dean Herbert
0f4f1349db
Merge branch 'master' into editor-context-menu-on-select
2021-11-04 15:59:06 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Jason Won
c633e2e952
only propagate unmodified right click
2021-10-26 16:24:53 -04:00
Jason Won
f64fa65fd5
right click on unselected object shows context menu
2021-10-26 14:52:15 -04:00
Dean Herbert
c47497923a
Schedule drag events for now
2021-10-15 19:52:44 +09:00
Dean Herbert
3909fd8caa
Fix wonkiness when dragging slider end at high input refresh rates
2021-10-15 19:43:57 +09:00
Dean Herbert
ac471a0ec1
Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2
2021-10-01 17:46:58 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
Bartłomiej Dach
ca6cbca04a
Fix range selection crashing after non-mouse selection
2021-09-27 20:54:29 +02:00
Dean Herbert
df85092426
Resolve inner items early in process and rename variable
2021-09-27 14:24:17 +09:00
Dean Herbert
41fb3371e5
Merge branch 'master' into blueprint-container-sorting
2021-09-27 14:12:09 +09:00
Bartłomiej Dach
d3203f83dd
Add implementation of range selection
2021-09-26 20:12:26 +02:00
Bartłomiej Dach
81d160c85a
Add test covering expected UX of range selection
2021-09-26 19:27:47 +02:00
Bartłomiej Dach
6dc3e66c93
Include combo information when determining ordering if available
2021-09-26 15:52:25 +02:00
Bartłomiej Dach
a86b9893ac
Always re-sort blueprints before adding/removing one
2021-09-26 15:48:56 +02:00
Bartłomiej Dach
4e094b2127
Implement grid size toggling matching stable
2021-09-19 20:26:02 +02:00
Bartłomiej Dach
56e80a0706
Add rectangular position snap grid
2021-09-19 18:07:19 +02:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
563bf92529
Also update the full object on sample changes to make them apply immediately
2021-09-14 19:21:23 +09:00
Dean Herbert
d825da3983
Add note about a better way to adjust velocity
2021-09-14 18:54:29 +09:00
Dean Herbert
e4dd59aee2
Add popovers to adjust SV and samples from the timeline
2021-09-14 18:51:22 +09:00
Dean Herbert
9d17f84681
Adjust timeline height to account for less global control points
2021-09-14 18:51:11 +09:00
Dean Herbert
9551e77553
Remove difficulty and sample sections from timing screen
2021-09-14 18:51:11 +09:00
Dean Herbert
87cfcf706e
Add ability to change slider velocity with shift-drag
2021-09-14 18:26:17 +09:00
Dean Herbert
6015b5037a
Display difficulty and sample control points associated with hitobjects
2021-09-14 18:26:16 +09:00
Bartłomiej Dach
79d0f4835e
Add failing tests for preserving clipboard content
2021-09-13 21:03:30 +02:00
Dean Herbert
d4e5a612ea
Update IPositionalSnapProvider
to take a HitObject
as reference, rather than raw time
...
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
f16468b706
Improve visibility of repeat ticks / drag areas on timeline
2021-08-17 18:17:55 +09:00
Bartłomiej Dach
0d64da8c63
Add skin providing container responding to beatmap skin edits
2021-08-15 21:18:08 +02:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
...
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Salman Ahmed
7bc30b46ff
Use BindValueChanged
with last running immediately instead
2021-07-23 07:51:58 +03:00
Salman Ahmed
ee3791ccf2
Update colours once on TimelineHitObjectBlueprint
2021-07-23 06:25:56 +03:00
Salman Ahmed
523c154f15
Add ComboIndexWithOffsetsBindable
and bind similar to ComboIndexBindable
2021-07-22 16:40:33 +03:00
Dean Herbert
8b1202153a
Merge pull request #13951 from LumpBloom7/timeline-object-interactions
...
Make timeline blueprints outside of TimelineBlueprint boundaries interactable
2021-07-22 16:20:22 +09:00
Dean Herbert
957a0686ed
Split out nested classes from TimelineBlueprintContainer
...
They got too big.
2021-07-22 15:48:08 +09:00
Dean Herbert
b5cc9010de
Move resolved property to top of class
2021-07-22 15:39:01 +09:00
Derrick Timmermans
9d43ca122f
Allow context menus to be triggered as well
2021-07-21 12:04:09 +02:00
Derrick Timmermans
f85ff40a6b
Add back LeftMouse button check
2021-07-21 11:47:21 +02:00
Dean Herbert
adda96ac86
Merge pull request #13962 from ekrctb/platform-action
...
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
ekrctb
1bac471b49
Adapt to PlatformAction
type change
2021-07-21 16:12:53 +09:00
ekrctb
1bff4373b3
Allow specifying flipping support of selection box different from scaling
2021-07-21 15:59:45 +09:00
Derrick Timmermans
a8cf6a6854
Fix slight Y position offset in HandleDrag
2021-07-20 23:00:58 +02:00
Derrick Timmermans
bfec87b082
Let TimelineBlueprintContainer only accept positional input within timeline quad
2021-07-20 22:30:50 +02:00
Derrick Timmermans
8b09ddbcd6
Merge branch 'ppy:master' into timeline-object-interactions
2021-07-20 16:36:39 +02:00
Salman Ahmed
1af230c48c
Merge branch 'master' into refactor-combo-colour-retrieval
2021-07-20 10:08:25 +03:00
Derrick Timmermans
2e2a2bdd99
Allow moving timeline selection when mousedown event is outside of blueprint container
2021-07-18 18:06:59 +02:00
Derrick Timmermans
ee220feecf
Avoid using guesses to determine whether inputs blocked
2021-07-18 16:04:23 +02:00
Derrick Timmermans
e35cff99c7
Pass on mouseDown input to timeline if no selection modification is made with that input
2021-07-16 17:21:43 +02:00
Derrick Timmermans
3e8a13bfbf
Allow interacting with timeline objects outside of drawable bounds
2021-07-16 16:16:34 +02:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
Dean Herbert
f62b4f2d24
Merge pull request #13617 from ekrctb/catch-editor
...
Add "placeholder" (pre-MVP) implementation of osu!catch editor
2021-06-23 14:00:34 +09:00
ekrctb
0b351c9922
Fix "possible NRE" inspection
2021-06-23 10:57:04 +09:00
ekrctb
eec4457473
Add [CanBeNull]
to methods returning null by default
2021-06-23 09:40:07 +09:00
ekrctb
a9c7830252
Fix NRE when hit object blueprint is not implemented
2021-06-22 17:20:13 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin
2021-06-16 16:37:28 +09:00
Dean Herbert
bc3b7233ab
Show osu!taiko centre/rim colouring in editor timeline
...
Closes #13443 .
2021-06-11 14:17:30 +09:00
Salman Ahmed
e30f6581b3
Wrap gameplay content within a RulesetSkinProvidingContainer
2021-06-09 22:49:31 +03:00
Dean Herbert
268230c8c4
Merge branch 'master' into fix-taiko-editor-sample-mutations
2021-05-25 19:01:47 +09:00
Dean Herbert
4fc6ba50b7
Fix editor placement ending early if a blueprint becomes alive from a pool
...
Closes https://github.com/ppy/osu/issues/12630 .
2021-05-24 17:04:02 +09:00
Dean Herbert
4c9d72e62a
Ensure EditorBeatmap.Update
is called inside PerformOnSelection
calls
2021-05-23 21:22:35 +09:00
Dean Herbert
bb2fae55ce
Merge branch 'master' into refactor-selection-rotate-logic
2021-05-21 19:19:54 +09:00
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +09:00
Dean Herbert
27e81d6504
Implement proper rotation algorithm for skin editor
2021-05-20 18:21:16 +09:00
Dean Herbert
a0f67ef3bc
Move scaling logic out of OsuSelectionHandler
for reuse
2021-05-19 17:37:28 +09:00
Dean Herbert
41d8bc291c
Merge pull request #12783 from smoogipoo/hoc-event-queue
...
Add a HitObjectUsageEventBuffer to handle HOC events appropriately
2021-05-18 22:22:53 +09:00
smoogipoo
d93ac7ac98
Change class xmldoc a bit
2021-05-18 19:15:46 +09:00
smoogipoo
ab6a79f84c
Simplify
2021-05-18 19:15:46 +09:00
smoogipoo
97f4f7bbd1
Remove Component inheritance
2021-05-18 18:59:45 +09:00
smoogipoo
633f841a0f
Rename to HitObjectUsageEventBuffer
2021-05-18 18:57:02 +09:00
smoogipoo
bfc0205e9b
Fix (began, finished) event
2021-05-18 18:49:11 +09:00
Dean Herbert
d661e98fa6
Move common functionality out of OsuSelectionHandler
and implement flip support
2021-05-18 18:34:06 +09:00
smoogipoo
61a41d97a4
Add some xmldocs + comments
2021-05-18 17:39:45 +09:00
Dean Herbert
ed957df162
Add simple xmldoc to TransferBlueprintFor
method
2021-05-18 16:40:56 +09:00
Dean Herbert
55cc533a37
Merge branch 'master' into hoc-event-queue
2021-05-18 16:31:20 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
...
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
75c0d4d972
Merge branch 'rework-hitobject-blueprints' into hoc-event-queue
2021-05-18 14:33:52 +09:00
smoogipoo
882d54a8f8
Remove now unnecessary Apply() method
2021-05-18 14:26:26 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
smoogipoo
f1f3606fd0
Fix unresolved xmldocs
2021-05-18 13:11:58 +09:00
Dan Balasescu
9d423245d8
Fix up xmldocs
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-05-18 13:02:23 +09:00
smoogipoo
362a09ca73
Fix up + reduce complexity of HOCEventQueue
2021-05-13 21:41:49 +09:00
smoogipoo
aaf31af326
Add blueprint transferral
2021-05-13 21:16:19 +09:00
smoogipoo
86042e1763
Implement HitObjectContainerEventQueue
2021-05-13 21:15:47 +09:00
Dan Balasescu
746862dcb1
Merge pull request #12750 from peppy/skin-serialisation
...
Add skin editor saving / loading support
2021-05-13 20:58:03 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
Salman Ahmed
96d3586294
Fix rotation handle visibility logic not handling two handles hovered at once
2021-05-12 11:42:55 +03:00
Dean Herbert
a4e0529617
Replace polling logic with direct bindable reactions
2021-05-11 18:39:15 +09:00
Dean Herbert
6bb52ebcf8
Merge pull request #12570 from frenzibyte/corner-rotation-controls
...
Add rotation controls to editor selection box corners
2021-05-10 23:09:44 +09:00
Salman Ahmed
2a67361dc0
OnOperation -> TriggerOperation
2021-05-05 21:50:16 +03:00
Bartłomiej Dach
3cac837acf
Merge branch 'master' into skin-bindables
2021-05-05 20:16:27 +02:00
Salman Ahmed
eeeb001d62
Refactor combo colour retrieval logic to request skin lookups instead
2021-05-05 07:17:27 +03:00
Salman Ahmed
1ac80d42f9
Merge branch 'master' into corner-rotation-controls
2021-05-04 23:53:23 +03:00
Bartłomiej Dach
4185053120
Merge branch 'master' into fix-selection-handler-visibility
2021-05-04 20:21:05 +02:00
Salman Ahmed
8abff4881b
Hide the corresponding rotation handle when holding scale handle
2021-05-04 07:31:55 +03:00
Salman Ahmed
b2a0c2b563
Consider drag handles active using mouse down instead of when dragged
2021-05-04 06:41:26 +03:00
Salman Ahmed
5f33c3514e
Move selection box control internal events to drag handles
2021-05-04 06:37:22 +03:00
Salman Ahmed
fd7a6b3a7c
Finish transforms on controls load complete
2021-05-04 06:37:20 +03:00
Dean Herbert
b28e1569ca
Remove no-longer-relevant matching comment
2021-05-03 20:09:50 +09:00
Salman Ahmed
840c22a3b1
Add back mis-removed fade transform
2021-05-03 12:16:40 +03:00
Dean Herbert
4f8240f19a
Merge branch 'master' into corner-rotation-controls
2021-05-03 18:02:23 +09:00
Dean Herbert
fdd0713988
Merge branch 'fix-selection-handler-visibility' into skin-bindables
2021-05-03 17:40:03 +09:00
Dean Herbert
3268a75f05
Remove intermediate container to fix tests
2021-05-03 17:35:56 +09:00
Dean Herbert
839ac968a9
Fix tooltips displaying for hidden SelectionHandler
content
2021-05-03 17:28:24 +09:00
Dean Herbert
4cfa858dc4
Fix tooltips displaying for hidden SelectionHandler
content
2021-05-03 15:37:15 +09:00
Dean Herbert
01984de9c7
Use existing GetStateFromSelection
helper function
2021-05-03 15:13:32 +09:00
Dean Herbert
8c9cfb6301
Remove unsafe access to Composer.HitObjects
2021-05-03 14:28:35 +09:00
Salman Ahmed
b83aa0bd76
Avoid LINQ in update
2021-05-02 06:21:14 +03:00
Salman Ahmed
0aa17e7c95
Rewrite selection box computation logic with RectangleF
's helper methods
2021-05-02 02:51:06 +03:00
Salman Ahmed
07fe99025f
Use bounding box of blueprint for computing selection box area
2021-05-02 02:36:40 +03:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Dean Herbert
e0906daebf
Change one remaining instance of incorrect terminology in xmldoc
2021-04-28 13:49:41 +09:00
Dean Herbert
4c9e94da2b
Move context menu logic to base class
2021-04-28 13:43:16 +09:00
Dean Herbert
532ec40395
Remove unnecessary newline
2021-04-28 12:04:48 +09:00
Dean Herbert
43772f4303
Remove duplicated call to initially select blueprint
2021-04-28 12:03:41 +09:00
Dean Herbert
e4f2e0131c
Rename AllowDeselection
to better match use case
2021-04-28 12:02:55 +09:00
Dean Herbert
a9a5809e94
Fix incorrect xmldoc in MoveSelectionEvent
2021-04-28 11:46:52 +09:00
Dean Herbert
d0be8f9fb3
Remove one more out-of-date comment
2021-04-28 11:45:36 +09:00
Dean Herbert
bc455005a5
Fix incorrect coordinate space mention in xmldoc
2021-04-28 11:44:50 +09:00
Dean Herbert
61d4eb1777
Remove unnecessary and out-of-place xmldoc
2021-04-28 11:44:19 +09:00
Dean Herbert
aa1cb65eaa
Rename region to be more inclusive
2021-04-28 11:42:22 +09:00
Dean Herbert
42255f8d33
Rename and xmldoc selection completed method
2021-04-27 19:01:29 +09:00
Dean Herbert
7ec5ea1eb5
Remove hitobject terminology from base classes
2021-04-27 19:01:29 +09:00
Dean Herbert
ff06a27a12
Revert changes to OnBlueprint
methods and handle select-on-addition locally
2021-04-27 19:01:29 +09:00
Dean Herbert
f97b14a20a
Fix binding direction of selected items
2021-04-27 19:01:29 +09:00
Dean Herbert
dd3d8e5d03
Make SelectionHandler
abstract to ensure things get implemented
2021-04-27 19:01:29 +09:00
Dean Herbert
32416e4e31
Move model selection handling to base SelectionHandler
class
2021-04-27 19:01:29 +09:00
Dean Herbert
eac139ca0e
Allow BlueprintContainer to perform movement without an ISnapProvider
2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Salman Ahmed
485da47d89
Revert "Inherit VisibilityContainer
and make duration constant protected"
...
This reverts commit c58ef4230d
. Uhh, how did I push this..
2021-04-26 01:41:42 +03:00
Salman Ahmed
b252485e1a
Remove protected expose of HandlingMouse
setter
...
Regardless of `OnDragEnd()`, `OnMouseUp()` will still be called resetting the value of that state back.
2021-04-25 20:13:23 +03:00
Salman Ahmed
7390a12e4b
SelectionBoxDragHandleDisplay -> SelectionBoxDragHandleContainer
2021-04-25 20:03:15 +03:00
Salman Ahmed
c58ef4230d
Inherit VisibilityContainer
and make duration constant protected
2021-04-25 20:03:15 +03:00
Salman Ahmed
79e2b232d8
Improve English
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-04-25 19:26:53 +03:00
Salman Ahmed
a8c460f7df
Replace separated top-centered rotation button with rotation drag handles
2021-04-25 10:17:36 +03:00
Salman Ahmed
77f7d4c963
Add composite managing display of selection box drag handles
2021-04-25 10:17:36 +03:00
Salman Ahmed
ab71782674
Use colour fade transform for selection box controls
...
To become harminous with the fade transforms of the rotation control
2021-04-25 10:14:31 +03:00
Salman Ahmed
62bcc5f76d
Add property for tracking whether control is during operation
2021-04-25 10:14:31 +03:00
Salman Ahmed
206fc94b8c
Add rotation drag handle component
2021-04-24 08:00:36 +03:00