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
Salman Ahmed
4bfa9cd6b6
Change inheritance of selection box buttons to base control instead
2021-04-24 08:00:29 +03:00
Salman Ahmed
decd8803bc
Abstract base appearence and hover update from drag handles
2021-04-24 07:45:53 +03:00
Dean Herbert
a5364b224f
Add simple key based time nudging support to editor
2021-04-22 18:47:04 +09:00
Dean Herbert
1884c18a2c
Ignore movement operations which have no offset
2021-04-22 18:12:03 +09:00
Bartłomiej Dach
0825fc57a9
Move foreground colour helper into OsuColour
2021-04-19 18:24:48 +02:00
Bartłomiej Dach
97573fb11d
Merge branch 'master' into combo-colours-display
2021-04-19 18:21:57 +02:00
Bartłomiej Dach
a8027d87b6
Fix unreadable colour hex code text due to low contrast
...
Logic is shared with the timeline blueprints which also have the same
problem of displaying text on top of a combo colour.
Slightly modified the formula. Seems to yield better results on a
subjective check.
2021-04-18 20:44:55 +02:00