Commit Graph
209 Commits
Author SHA1 Message Date
Pieter-Jan Briers 6088df4018 Make LineEdit cull rendering on the left of its bounding box aswell.
Fixes https://github.com/space-wizards/space-station-14/issues/1300, although realistically this is more an optimization that happens to fix the bug.
2020-07-08 03:14:38 +02:00
Pieter-Jan Briers c2ce37517f Mouse wheel scrolling for Tree control.
Fixes https://github.com/space-wizards/space-station-14/issues/1309
2020-07-08 02:50:27 +02:00
Pieter-Jan Briers 0a88f32206 Fix KeyDowns not prioritizing mouse focus.
This caused https://github.com/space-wizards/space-station-14/issues/1302.

The ChatBox focuses the LineEdit in KeyDown. This then causes the next key down, UIClick, to go to the LineEdit (it's keyboard focused now). The key up however is fired on the chatbox because keyups did prioritize mouse focus. So the LineEdit gets stuck thinking you have the mouse held down.
2020-07-08 02:44:59 +02:00
Pieter-Jan Briers fc73f88282 Hitting ~ while console is selected now closes it again.
How did this take me this long to fix.
2020-07-08 01:53:11 +02:00
AJCM-gitandGitHub afa0eb8ada Changing some paths (#1158)
* first commit

* Merging master

* Path changes

* what even is this

* MidiCustom
2020-07-07 19:15:39 +02:00
437bf58e7b Input Handling + other cleanups to support click drag functionality (#1132)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-06 21:21:13 +02:00
ShadowCommanderandGitHub 6c2157c10f Change ScrollContainer ScrollBars to not affect layout when not visible (#1162) 2020-07-01 16:36:53 +02:00
Pieter-Jan Briers f77fdbced6 Remove finalizer from Control.
We aren't used Godot anymore so no need for this.
2020-06-25 16:29:03 +02:00
chairbenderandGitHub 2558201ae4 implement dragging of split in split containers (#1141) 2020-06-22 18:50:34 +02:00
Tyler YoungandGitHub 9cbdd1058c Use CannyFastMath & Update Some Packages (#1130)
update a bunch of packages and use JetBrains.Annotations as private asset as needed

mark some hot math methods agg inline to benefit from loop opts

use FMA for interp

use canny min/max/clamp

make Quaternion NormalizeAngle fixed time and faster

clean up YamlDotNet references
2020-06-18 02:25:36 +02:00
Pieter-Jan Briers 2a93cb0c41 Adds helpers to make constructing style rules much cleaner. 2020-06-17 15:32:22 +02:00
Pieter-Jan Briers 52833e23c3 Fix URI opening on Windows and remove linux/mac impls.
Because .NET can directly open URLs with Process.Start apparently.
2020-06-17 02:20:58 +02:00
Pieter-Jan BriersandGitHub 6674be3adc Client NRTs (#1121) 2020-06-12 12:57:39 +02:00
Pieter-Jan Briers afb0624a2b Fix DebugTimePanel to report prediction size correctly.
It was not taking into the account that CurTick increments after the mainloop runs tick meaning that it was offset by one.
2020-06-12 12:42:05 +02:00
Tyler YoungandGitHub 70100ec9d1 add reset of shader to UserInterfaceManager _render method after drawing a control (#1124) 2020-06-11 22:50:33 +02:00
Pieter-Jan Briers 6a2f8f2767 Fix tree control jittering. 2020-06-09 21:28:02 +02:00
ClyybberandGitHub 71b06c0791 Placement improvements (#1105) 2020-06-08 13:51:22 +02:00
Pieter-Jan Briers 89ef65b335 Add UI scaling helper APIs and fixes tooltip positions with UI scaling. 2020-06-06 14:13:49 +02:00
Pieter-Jan Briers 12c866b8d6 Fix LayoutContainer margins to be virtual pixels. 2020-06-06 14:13:21 +02:00
Pieter-Jan Briers 537b444eae DebugConsole doesn't spam position changes if hidden. 2020-06-06 14:13:00 +02:00
Pieter-Jan Briers 49b452eca4 Fix layout of buttons at higher UI scaling factors. 2020-06-06 13:02:49 +02:00
ClyybberandGitHub 9d6a9d5aa9 Fix #889 (#1100) 2020-06-03 11:52:07 +02:00
ShadowCommanderandGitHub 35c23bd905 Fix UI Control focusing (#1097) 2020-06-02 14:40:16 +02:00
ShadowCommanderandGitHub 1b52093c5d Change buttons to use MouseFilterMode.Stop (#1095) 2020-06-01 15:35:06 +02:00
Pieter-Jan Briers 75707c1db0 Use AttachedProperty for TabContainer, TabVisibleProperty. 2020-05-31 00:35:19 +02:00
Pieter-Jan Briers cb3fe9c138 Adds AttachedProperty<T>.
Generics are useful.
2020-05-31 00:34:56 +02:00
Pieter-Jan Briers 044eeb61f4 Fix OnClose not firing on windows correctly. 2020-05-28 13:18:39 +02:00
Pieter-Jan Briers 782ac26a94 Mark some control properties as animatable. 2020-05-27 14:09:58 +02:00
Pieter-Jan Briers 32c1b1e3b2 Split off SS14 into BaseWindow. 2020-05-27 14:08:52 +02:00
Pieter-Jan Briers b8a71db3c8 Adds AnimationCompleted event to Control. 2020-05-26 16:20:47 +02:00
Pieter-Jan Briers 79fc210395 Typing into LineEdit when you have a selection replaces the selection. 2020-05-24 17:24:23 +02:00
Pieter-Jan Briers cc4069d526 Fix clear button in tile spawn window not resetting search results. 2020-05-21 23:39:14 +02:00
Pieter-Jan Briers 7f508f7719 Show largest clyde batch size in F3. 2020-05-21 13:44:41 +02:00
Pieter-Jan Briers ffc5c4903c Improve modal closing.
Clicking to close modal now does not handle. Hitting EngineKeyFunctions.CloseModals closes all active modals.
2020-05-20 11:59:19 +02:00
Pieter-Jan Briers b66658bda5 Re-introduce keybind blocking, move CanFocus around to avoid the initial issue.
CanFocus is now evaluated separately by the input and UI manager so that it is possible to handle handling/UI blocking issues cleaner. This thus makes it possible to re-introduce keybind blocking which is quite useful.
2020-05-20 11:59:19 +02:00
Pieter-Jan Briers d6b25945e4 Adds AltOrigin functionality property to PopupContainer. 2020-05-13 17:55:33 +02:00
Pieter-Jan Briers b7f3627ef1 Remove List<>/Dictionary<,> usage from low-level GameState serialization.
NetSerializer does not handle these well and sends the entire backing array instead of a more compact representation. This can then cause it to start sending lists of length 1 with a *capacity* of 4096 resulting in 250 KiB/s down to send updates for a single entity. As it just did on the public server...
2020-05-12 18:34:16 +02:00
Pieter-Jan Briers 65abe671aa Allow non-canFocus input commands to actually handle input. 2020-05-08 12:14:20 +02:00
Pieter-Jan Briers f54f4ffe52 Quite possibly break the whole input system.
Made it so keybinds don't block other keybinds from firing.

Why is this necessary? This allows us to have "same keybind, different functionality" binds sanely, like shift click being both TextCursorSelect and (in content) ExamineEntity. Before this change the latter was temporarily broken in UI controls because of TextCursorSelect taking priority and instantly treating the event as handled because it's CanFocus.

The offshoot of this is that all the "args.CanFocus == mouse left" UI code had to be fixed, since multiple things were now firing for that and breaking everything. For example TextCursorSelect actually BROKE because now ExamineEntity was firing inside UI again and that was seen as a left click.

EngineKeyFunctions.UIClick has been introduced as "mouse left for the UI" for this purpose.
2020-05-05 23:58:21 +02:00
Pieter-Jan Briers f8e7ded2f0 Handle empty clipboard when pasting text. 2020-05-04 23:38:01 +02:00
Pieter-Jan Briers 51b87513ed Improve LineEdit
Fixes #748, Closes #1010

Can select text now, can move by words, and all the other stuff you'd expect from a control like this.
2020-05-04 17:13:29 +02:00
Pieter-Jan Briers 400dcb06fc Server scripting. 2020-04-30 00:06:59 +02:00
Pieter-Jan Briers b366070cd4 Adds entity prototype editor suffix system. 2020-04-26 01:16:49 +02:00
Pieter-Jan BriersandGitHub 0c8f869cb4 Prediction (#1027) 2020-04-18 17:35:54 +02:00
Pieter-Jan Briers 2da1640ab7 Makes BoxContainer default separation 0. 2020-04-18 12:16:40 +02:00
Pieter-Jan Briers 832a4e01f1 High level cursor API. 2020-04-17 16:57:51 +02:00
Pieter-Jan Briers ab873be4ef Fix awful documentation error. 2020-04-09 02:44:18 +02:00
PrPleGooandGitHub 6d8a0f6558 ISelfSerialize interface (#1021)
* Special check for decimal in serialization code. Changed method in IoCManager for a little QoL

* ISelfSerialize stuff

ISelfSerialize interface for stuff that want to implement their own (de)serialization.
Forgot that desialize could exist for decimals earlier.
Added ViewVariablesPropertyEditorISelfSerialzable thing for viewvariables.

* fix TestStylesheetOverride

* Fix improper UT logic

* Somewhat neater VV lineEdit event hanlding

* remove whitespace and unused using

* uninherit ViewVariablesPropertyEditorISelfSerialzable

* Fix improper use or ToString

* seal VV classes
2020-04-08 21:24:32 +02:00
Pieter-Jan Briers ec52102d02 Allow controls to override stylesheets for itself and descendants. 2020-04-04 15:07:53 +02:00
Pieter-Jan Briers 009b41d7f0 Adds ability to specify file dialog filters to IFileDialogManager. 2020-03-30 18:31:12 +02:00