Commit Graph
71 Commits
Author SHA1 Message Date
ShadowCommanderandGitHub 3e718575ff Change Button Pressed to work with non-focus keybinds (#1978) 2021-11-21 14:52:41 +01:00
Pieter-Jan Briers 4a0b3793e4 Add IUserInterfaceManager.GetWindowRoot 2021-08-30 23:01:38 +02:00
Pieter-Jan Briers 928ae19249 Fix styling not applying to root controls. 2021-08-30 15:17:43 +02:00
Pieter-Jan Briers a7f85b53f8 Background color for UIRoot. 2021-08-30 02:14:22 +02:00
Pieter-Jan Briers 328b3cc715 Add IUserInterfaceManager.OnPostDrawUIRoot.
Intended for UI dev window highlighting.
2021-08-22 02:07:42 +02:00
Pieter-Jan Briers 3417f00650 Give main window UI root a good name 2021-08-22 02:07:42 +02:00
Pieter-Jan Briers db4b190498 guidump command now shows all UI roots. 2021-08-22 02:07:38 +02:00
Pieter-Jan Briers 0c94956be1 Various degrees of work on input stuff. 2021-07-05 18:21:47 +02:00
Pieter-Jan Briers 720f1b1d05 Fix a bunch of compiler warnings. 2021-05-12 00:16:12 +02:00
Pieter-Jan BriersandGitHub 8efffc471d Multi-window support (#1713) 2021-05-02 14:05:50 +02:00
c4946b8466 Viewport Improvements (#1528)
Co-authored-by: 20kdc <asdd2808@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-04-19 09:47:20 +02:00
Pieter-Jan Briers 303e2152d2 UIScale now updates dynamically.
So if you move the window between different monitors with different scaling, the game updates.
2021-03-28 01:55:35 +01:00
Acruid 3203ca2ff4 Removed Control.Update from the UI system. UI Controls have no business running code in simulation updates.
Refactored the client update loop so that the GameStateManager is in full control of the simulation update.
2021-03-26 17:46:34 -07:00
946c4166dc Move RootControl frameupdate to after queue (#1625)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-16 09:15:18 +01:00
Pieter-Jan Briers 6921fb2fbf Make UserInterfaceManager not dispose root control on game shutdown.
No real reason to do this and it only risks breaking something.
2021-02-21 23:52:09 +01:00
Pieter-Jan BriersandGitHub 583b7ebf38 WPF layout (#1581) 2021-02-21 12:28:13 +01:00
AcruidandGitHub 2183cd7ca1 Massive Namespace Cleanup (#1544)
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
2021-02-10 23:27:19 -08:00
Paul RitterandGitHub f42c1379e0 Revert "Viewport improvements. (#1510)" (#1527)
This reverts commit fc5e3ab69d.
2021-02-03 12:25:12 +01:00
AcruidandGitHub 3eb6e067f9 Console Unify (#1513)
* Renamed shared ICommand to IConsoleCommand.

* Lots of refactoring into a shared context.

* Removed ICommonSession from server concmd Execute.

* Added argStr parameter to concmd execute.

* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.

# Conflicts:
#	Robust.Client/Console/Commands/Debug.cs

* Finally move shells and commands into shared.

* Console commands can now be registered directly without a class in a shared context.

* Pulled up ConsoleHost and Console shell into a shared context.

* Pulled up half the functions of ConsoleHost into a shared context.

* Repair rebase damage.

* Make LoadConsoleCommands function not remove any previously registered commands.
2021-02-01 16:40:26 -08:00
fc5e3ab69d Viewport improvements. (#1510)
* Remove the main viewport.

* Re-add main viewport in a different place

* Move screen/map translation into ViewportContainer

* Support for viewport resolution

* Fix postfx, add WorldToScreen to Viewport

* Remove useless cast

* Some cleanup.

* Fix incorrect worldBounds when rendering viewports

* nullability

Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-01-29 12:45:04 +01:00
chairbenderandGitHub c4062bcae9 #1449 new ControlFocusExited override for allowing controls to know (#1467)
when they lost control focus, separate from keyboard focus
2021-01-13 23:18:45 +01:00
chairbenderandGitHub 1bf9e2e87a Multiselect option button, tooltip delay (Action Hotbar Support) (#1435) 2020-12-13 01:01:00 +01:00
b8e5b47e7a Use 'new' expression in places where the type is evident for the engine (#1415)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-11-26 00:16:55 +01:00
chairbenderandGitHub ee381804ec New GridContainer capabilities and customizable tooltips (#1395)
* #272 avoid mouse overlapping tooltip when near edges,
change tooltip colors to match mockups

* #272 WIP customizable tooltips, old approach currently working still

* #272 WIP customizable tooltips, old approach currently working still

* #272 ensure tooltips go away when disposing control

* #272 implement row-oriented GridContainer

* #272 generalize GridContainer to support
rows or cols

* #272 improve readability in new GridContainer
logic

* #272 GridContainer can expand in opposite
direction

* #272 GridContainer can expand in opposite
direction

* #272 GridContainer can expand in opposite
direction, fix test

* #272 add GridContainer capability to
limit by size rather than count

* #272 add some clarifications about ui scale and vp / rp

* #272 don't spam showtooltip
event, calculate tooltip
positioning using combined
minimum size
2020-11-10 15:21:32 +11:00
6bbc4b01e9 Change cvar usages to use CVarDef and define them in CVars (#1330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-24 15:40:06 +02:00
ShadowCommanderandGitHub 8f749c2421 Fix UI keybinds stopping after the first (#1328) 2020-10-14 18:14:17 +02:00
Pieter-Jan Briers a19e12e693 display.uiScale 0 (the new default) pulls UI scale from OS. 2020-09-07 12:58:44 +02:00
ShadowCommanderandGitHub 97f0479676 Fix OpenCentered by setting size before position (#1211) 2020-08-06 15:53:37 +02:00
Acruid 5e448f20c0 Move parts of the simulation update back into engine, from Content's StateBase.
Allow content to push modal windows in the UI framework.
The MenuBar now closes it's MenuButton frame when you select one of the buttons.
Modal controls on the stack now actually block input from the rest of the UI.
Adds the `scene` concommand for instantly switching between game states (scenes).
2020-07-19 12:31:13 -07: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
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
Pieter-Jan BriersandGitHub 6674be3adc Client NRTs (#1121) 2020-06-12 12:57:39 +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 89ef65b335 Add UI scaling helper APIs and fixes tooltip positions with UI scaling. 2020-06-06 14:13: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
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 65abe671aa Allow non-canFocus input commands to actually handle input. 2020-05-08 12:14:20 +02:00
Pieter-Jan Briers 832a4e01f1 High level cursor API. 2020-04-17 16:57:51 +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 768121bc57 Fix popups going off-screen with a new PopupContainer. 2020-01-25 17:26:37 +01:00
Pieter-Jan BriersandGitHub 52e5afd277 Switch to GLFW for windowing (#914)
* Use GLFW instead of OpenTK windows

* Seems to work pretty well now.

* Fix stackalloc issue on Framework.

* Add GLFW project to sln.

* Fix package downgrade.

* Fix SLN more.

* Please work.

* Fix C# version error.
2019-12-15 15:53:30 +01:00
Pieter-Jan BriersandGitHub ab1f4fb0e7 UI layout v2. (#908)
* UI layout v2.

All controls now act like containers.
Moved anchor/margin layout model to LayoutContainer

Implement basic WPF-like attached properties for the above LayoutContainer.

* Fix VV.
2019-12-05 13:37:58 +01:00
Pieter-Jan Briers 64b33439e5 Fix disposed controls getting deferred updates ran. 2019-10-18 01:05:36 +02:00
Pieter-Jan Briers 381efbd857 Any focusing input drops current mouse focus. 2019-10-13 01:27:04 +02:00
DamianXandPieter-Jan Briers f05f3eec3e Added PopupRoot to draw popup messages above UI windows (#861) 2019-09-06 10:04:17 +02:00
ShadowCommanderandPieter-Jan Briers 366d0ab2d5 Fixed LineEdit triggering when hovered but not selected (#854)
* Revert "Don't fire regular keybinds for controls under the mouse."

This reverts commit bb322e30ee.

* Fixed LineEdit triggering when hovered
2019-08-26 00:23:09 +02:00
Pieter-Jan Briers bb322e30ee Don't fire regular keybinds for controls under the mouse. 2019-08-25 22:53:49 +02:00
ShadowCommanderandPieter-Jan Briers 117cf14e5c Add a check in OnContextChanged to fix some crashes and refactored BaseButton (#851)
* Add a check in OnContextChanged to fix some crashes

Fixes crashes due to double input like the Quit button in the Esc menu

* Changed BaseButton to only trigger on KeyBindDown and KeyBindUp on the same control
2019-08-25 13:13:07 +02:00