1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-11-22 20:58:34 +01:00
Commit graph

477 commits

Author SHA1 Message Date
Ell
2265af3fae Improved the SquishingGroup algorithm by prioritizing each element's final size 2023-04-06 17:15:57 +02:00
Ell
1a7cb65cf2 Fixed Paragraph and Checkbox not reacting to SquishingGroup sizing properly 2023-04-06 15:54:24 +02:00
Ell
e0d4bb3472 Ensure auto anchors keep their initial values if no siblings can be found (94a54c3) 2023-03-29 21:00:17 +02:00
Ell
db454ebd71 Fixed AutoInline elements overflowing into their parent if it's taller 2023-03-29 20:56:56 +02:00
Ell
94a54c336e Added AutoInlineCenter and AutoInlineBottom anchors 2023-03-29 20:51:34 +02:00
Ell
c4836eedd6 Increased some recursion limits, and added useful Element ToString 2023-02-20 11:01:15 +01:00
Ell
6be4143331 Fixed images not updating their hidden state properly when the displayed texture changes 2023-02-03 11:31:18 +01:00
Ell
ef0499958d - Added InputHandler.IsPressedIgnoreRepeats
- Marked non-GenericInput versions of IsDown, IsUp, IsPressed and related methods as obsolete in favor of GenericInput ones
2022-12-27 22:57:35 +01:00
Ell
f8ebbdacdf fixed text not being checked for changes anymore when set explicitly (since f8567cf) 2022-12-23 15:08:40 +01:00
Ell
f5be677b83 update a paragraph's tokenized text before updating its children and event 2022-12-23 14:54:02 +01:00
Ell
d6ab8061f3 fixed new paragraph handling not checking for changes before calculating size 2022-12-23 14:36:31 +01:00
Ell
179afbc428 made sure that all element changes mark their data dirty correctly 2022-12-23 13:25:56 +01:00
Ell
f5ff96d348 Fixed ee62554 not working when the padding or scale changes 2022-12-22 20:04:38 +01:00
Ell
ee62554fee Avoid paragraphs splitting or truncating their text unnecessarily 2022-12-22 19:50:50 +01:00
Ell
f8567cfc99 Cleaned up Paragraph code and ensured that TokenizedText never returns null 2022-12-22 19:18:33 +01:00
Ell
73abfb2dc3 Added TextField.OnCopyPasteException to allow handling exceptions thrown by TextCopy 2022-12-22 11:39:07 +01:00
Ell
df2b9cc10e avoid setting underlying values for ui element callbacks 2022-12-21 21:47:49 +01:00
Ell
45c668c992 Removed AutoHideCondition (partially reverts d5d3297) 2022-12-21 21:02:10 +01:00
Ell
d5d3297271 Added Element.AutoHideCondition and Button.AutoDisableCondition 2022-12-21 18:54:25 +01:00
Ell
b3da8d35c0 Ensure paragraphs display up-to-date versions of their text callbacks 2022-12-16 20:03:19 +01:00
Ell
14d0b24aa9 cleaned up preprocessor instructions 2022-12-13 13:11:36 +01:00
Ell
170b397e02 Cleaned up GenericFont and TokenizedString by improving the splitting and truncating algorithms 2022-12-07 13:35:57 +01:00
Ell
e5cfebef3b cleaned up element addition/removal code 2022-11-24 19:46:20 +01:00
Ell
e21729de67 fixed some memory management issues in MLEM.Ui 2022-11-24 18:38:51 +01:00
Ell
627350ca31 Added ElementHelper.MakeGrid 2022-10-17 10:57:41 +02:00
Ell
92f9164256 Added Panel.ScrollToElement 2022-09-24 18:46:33 +02:00
Ell
d6a51776e5 Fixed the scroll bar of an empty panel being positioned incorrectly 2022-09-24 11:04:23 +02:00
Ell
e8710f69e9 Fixed an exception when trying to force-update the area of an element without a ui system 2022-09-19 15:02:36 +02:00
Ell
48735c3d36 Multi-target net452, making MLEM compatible with MonoGame for consoles 2022-09-14 21:17:43 +02:00
Ell
a6fd2c052e Added ScrollBar.MouseDragScrolling
Closes #5
2022-09-13 16:14:36 +02:00
Ell
d0c805cf18 Fixed Element.OnChildAdded and Element.OnChildRemoved being called for grandchildren when a child is added 2022-09-13 15:44:12 +02:00
Ell
55735b4c64 Added Element.OnAddedToUi and Element.OnRemovedFromUi 2022-09-13 14:27:49 +02:00
Ell
0a696941dc cleaned up code 2022-08-20 11:39:28 +02:00
Ell
af0aee6c40 Added Element.AutoSizeAddedAbsolute to allow for more granular control of auto-sizing 2022-08-16 14:20:32 +02:00
Ell
f0432ab981 Fixed panels sometimes not drawing children that came into view when their positions changed unexpectedly 2022-08-04 21:03:16 +02:00
Ell
b7b1490d70 Fixed paragraphs sometimes not updating their position properly when hidden because they're empty 2022-08-04 20:43:04 +02:00
Ell
4d34a2fac1 Fixed parents of elements that prevent spill not being notified properly 2022-08-04 20:14:29 +02:00
Ell
5aaba0c583 Close other dropdowns when opening a dropdown 2022-07-29 22:24:37 +02:00
Ell
7a0464e8d6 fixed GetRightmostChild using the wrong variable for calculation 2022-07-27 11:52:28 +02:00
Ell
f0cc4b0c80 Allow elements to auto-adjust their size even when their children are aligned oddly 2022-07-27 11:19:40 +02:00
Ell
5fcdda80dc fixed multiline text inputs not working on FNA 2022-06-24 14:10:24 +02:00
Ell
5d7d238630 added MLEM.FNA 2022-06-24 14:01:26 +02:00
Ell
aff61508c4 Added TextInput class, which is an isolated version of MLEM.Ui's TextField logic 2022-06-19 18:17:46 +02:00
Ell
aabb1ed5df added .editorconfig 2022-06-17 18:23:47 +02:00
Ell
59af00c89a Code cleanup, and marked AStar.InfiniteCost as obsolete 2022-06-15 11:38:11 +02:00
Ell
fcca5300ae Fixed elements' OnDeselected events not being raised when CanBeSelected is set to false while selected 2022-05-21 20:42:54 +02:00
Ell
15b873a8ad fixed xml doc recursive reference 2022-05-18 16:01:24 +02:00
Ell
6dc4011ef5 Added optional isKeybindAllowed parameter to KeybindButton 2022-05-18 15:54:29 +02:00
Ell
03accff6ae modify AutoNavGroup behavior to disallow new selections 2022-05-17 16:06:22 +02:00
Ell
16b9e26969 Fixed elements sometimes staying hidden when they shouldn't in scrolling panels 2022-05-04 13:54:15 +02:00
Ell
98118e540a Allow manually hiding a paragraph without its text overriding the hidden state 2022-05-04 13:22:24 +02:00
Ell
58b716aabb Don't query a paragraph's text callback in the constructor 2022-05-03 20:26:39 +02:00
Ell
63d2353694 Improved ElementHelper.AddTooltip overloads 2022-05-03 20:10:26 +02:00
Ell
15a57d8db9 Turned Tooltip paragraph styling into style properties 2022-05-03 19:35:44 +02:00
Ell
5a1b31e8a3 Allow adding dropdown and tooltip elements at a specified index 2022-05-03 19:07:53 +02:00
Ell
435042e1f5 Allow Tooltip to manage more than one paragraph and make it easier to add new lines 2022-05-03 18:58:18 +02:00
Ell
bc0f9d5c0c consume other UI inputs too 2022-04-30 12:26:40 +02:00
Ell
8adee49e55 fixed scroll bars not working with the new InvertPressBehavior 2022-04-30 11:31:40 +02:00
Ell
6393d879d9 added SpriteBatchContext 2022-04-25 15:25:58 +02:00
Ell
c78bafd000 Ensure that Element.IsMouseOver is always accurate by making it an auto-property 2022-04-15 14:18:55 +02:00
Ell
783da33107 Fixed elements not being deselected when removed through RemoveChild 2022-04-15 14:16:38 +02:00
Ell
45afd9ac79 Added Element.AutoNavGroup which allows forming groups for auto-navigation 2022-04-14 17:54:25 +02:00
Ell
ad29b46df3 Fixed radio buttons not unchecking all other radio buttons with the same root element 2022-04-14 17:45:01 +02:00
Ell
902391d278 Fixed auto-nav tooltip displaying on the selected element even when not in auto-nav mode 2022-04-09 22:00:21 +02:00
Ell
4854d420e0 Fixed delayed tooltips sometimes displaying in the wrong location for one frame 2022-04-05 14:54:20 +02:00
Ell
393bd9ffe5 Allow tooltips to display for elements when selected in auto-nav mode 2022-04-05 14:42:30 +02:00
Ell
30b4d5fc43 Improve f166c3d256 by allowing buttons to be selectable even when disabled 2022-04-05 14:20:38 +02:00
Ell
df0ad68837 Fixed tooltips sometimes ignoring manually set IsHidden values 2022-04-05 14:17:12 +02:00
Ell
94dec34470 render panel's render target in the Draw method 2022-03-26 21:13:05 +01:00
Ell
6a3c797eba Fixed UiMetrics.ForceAreaUpdateTime being inaccurate for nested elements 2022-03-26 20:06:59 +01:00
Ell
3ad024b95a fixed KeybindButton inheritdoc referencing itself 2022-03-26 12:53:28 +01:00
Ell
4e122175b2 Allow ElementHelper's KeybindButton to accept a Keybind for clearing a combination 2022-03-26 12:41:19 +01:00
Ell
c5b2b8798e Fixed dropdowns with some non-selectable children failing to navigate when using gamepad controls 2022-03-17 20:46:49 +01:00
Ell
1f4f0cfa44 Fixed Element.IsSelected returning incorrect results when CanBeSelected changes 2022-03-17 20:45:28 +01:00
Ell
bb22bbdf75 Fixed children of Panel scroll bars also being scrolled 2022-03-17 20:04:58 +01:00
Ell
b77edd80d5 Allow specifying a custom position for a tooltip to snap to 2022-03-14 14:20:12 +01:00
Ell
f166c3d256 Fixed buttons and checkboxes changing their CanBeSelected and CanBePressed values when being disabled 2022-03-11 13:25:18 +01:00
Ell
cd32372994 fixed 0f4e67f20f 2022-03-10 18:39:35 +01:00
Ell
0f4e67f20f Fixed auto-navigating panels not scrolling to the center of elements properly 2022-03-10 18:04:36 +01:00
Ell
7c18aad8f7 Improve dropdown opening gamepad navigation (in relation to cb8fed87e5) 2022-03-10 15:04:52 +01:00
Ell
cb8fed87e5 Automatically select the first element when a dropdown is opened in auto nav mode 2022-03-10 13:50:47 +01:00
Ell
67388c106b allow retrieving a keybind button's active state 2022-03-10 13:08:49 +01:00
Ell
48a4aa0588 Some keybind and keybind button improvements 2022-03-10 12:39:56 +01:00
Ell
48b96a10a4 Added InputHandler mouse and touch position querying that preserves the game's viewport and fixed the graphics device's viewport being ignored for mouse and touch queries
Closes #1
2022-02-06 22:07:33 +01:00
Ell
ed88862194 Marked BeginDelegate and BeginImpl as obsolete 2022-02-02 18:17:53 +01:00
Ell
a143aef67c Revert scissor rectangle change since it doesn't support panels with complex transformations
Revert "Use a scissor rectangle for panels in favor of a render target, and marked UiSystem.DrawEarly and Element.DrawEarly as obsolete"

This reverts commit 3c4567e4a1.

Revert "cleaned up DrawEarly documentation references"

This reverts commit dc6c472b84.
2022-01-30 16:35:10 +01:00
Ell
dc6c472b84 cleaned up DrawEarly documentation references 2022-01-30 12:20:32 +01:00
Ell
3c4567e4a1 Use a scissor rectangle for panels in favor of a render target, and marked UiSystem.DrawEarly and Element.DrawEarly as obsolete 2022-01-30 01:13:59 +01:00
Ell
f3e6df6862 Made custom values of Element.Style persist when a new ui style is set 2022-01-22 23:34:52 +01:00
Ell
faa400c4e6 Added Element.OnStyleInit event 2022-01-22 23:05:29 +01:00
Ell
dbf370c968 Allow setting a default text alignment for paragraphs in UiStyle 2022-01-22 22:54:47 +01:00
Ell
80a6c6b5e2 Avoid unnecessary panel updates by using an Epsilon comparison when scrolling children 2022-01-09 01:15:05 +01:00
Ell
c28f6d858c Ensure that a panel gets notified of all relevant changes by calling OnChildAreaDirty for all grandchildren 2022-01-09 01:12:16 +01:00
Ell
68fc02b170 Fixed paragraph links having incorrect hover locations when using special text alignments 2022-01-07 20:50:32 +01:00
Ell
6e75e9ebb4 ensure that the paragraph changes occur when new links are added 2022-01-07 17:15:03 +01:00
Ell
b46975391b Only set a paragraph's area dirty when a text change would cause it to change size 2022-01-06 23:26:14 +01:00
Ell
29bbd61f8b reformat and cleanup 2021-12-28 14:56:11 +01:00
Ell
7e49eaef10 Allow for checkboxes and radio buttons to be disabled 2021-12-24 12:10:04 +01:00
Ell
c060d78010 put StringBuilder overloads to use 2021-12-22 13:03:40 +01:00
Ell
dae511e455 Made StyleProp immutable 2021-12-21 11:54:32 +01:00