1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-11-10 08:49:08 +01:00
Commit graph

208 commits

Author SHA1 Message Date
Ellpeck
02cd074a3c cleaned up changes from f1d686f0c0 2020-07-16 15:55:55 +02:00
Ellpeck
f1d686f0c0 move CustomDrawGroup behavior into Element, allowing any element to inherit it 2020-07-15 23:21:52 +02:00
Ellpeck
ca4c8731bc only throw an exception in TextInputWrapper if it is required 2020-06-24 16:54:23 +02:00
Ellpeck
096131ce15 Drop SoundEffectInstance (mis)usage in favor of new SoundEffectInfo 2020-06-22 13:59:33 +02:00
Ellpeck
7dc08afa5a made UiStyle's ActionSound a SoundEffectInstance to allow for volume/pitch changes 2020-06-22 13:23:02 +02:00
Ellpeck
deec553b22 code cleanup 2020-06-18 17:24:35 +02:00
Ellpeck
601423407d added PreventParentSpill to Element 2020-06-12 02:04:01 +02:00
Ellpeck
6b1e5f8dd9 better implementation of the touch mousing from yesterday 2020-06-04 20:52:21 +02:00
Ellpeck
81ed3d3bee Revert "made elements also show their mouse over graphic when they're being touched"
This reverts commit d7f43617
2020-06-03 17:01:58 +02:00
Ellpeck
d7f43617c6 made elements also show their mouse over graphic when they're being touched 2020-06-03 15:58:08 +02:00
Ellpeck
79e0e1a63e added percentage sizing based on own data to element 2020-06-02 23:00:40 +02:00
Ellpeck
95917e08d6 only mark element parent dirty when setting priority if it actually changed 2020-06-02 13:40:05 +02:00
Ellpeck
b270fe3977 made link clusters be selected properly 2020-05-27 15:19:17 +02:00
Ellpeck
f12284169e full xml documentation for MLEM.Ui 2020-05-22 17:02:24 +02:00
Ellpeck
af1918d545 added child addition and removal callbacks 2020-05-20 00:48:53 +02:00
Ellpeck
85e63ac998 modify unnecessarily thorough SetAreaDirty when adding/removing children 2020-05-17 00:33:16 +02:00
Ellpeck
26264bf576 allow a lot of mem classes to have custom data added to them 2020-03-21 00:49:43 +01:00
Ellpeck
cd70b22ae5 made elements refer back to their controls for the selected element 2020-03-17 22:27:39 +01:00
Ellpeck
d07f470da3 good work me 2020-03-17 20:04:10 +01:00
Ellpeck
06ca5a8c04 allow changing an element's controls 2020-03-17 20:02:23 +01:00
Ellpeck
e96b155f99 fixed selected element looking bad with smooth scrolling 2020-03-16 15:44:53 +01:00
Ellpeck
31e2b72197 organize ui stuff a bit better 2020-02-06 01:59:33 +01:00
Ellpeck
b3331834e1 I did not want to push this here
This reverts commit ee511137
2020-02-06 01:51:41 +01:00
Ellpeck
ee5111372b part 1 2020-02-06 01:33:24 +01:00
Ellpeck
7e6534bfc1 added the option to disable buttons 2020-01-15 17:05:28 +01:00
Ellpeck
2ac28eced3 made instances be unique for each element 2020-01-14 22:41:52 +01:00
Ellpeck
9aebce96e8 added the ability to add sounds to elements 2020-01-14 22:39:40 +01:00
Ellpeck
31d805fc04 fixed elements sometimes not notifying their auto-adjusting parents 2019-12-29 15:18:49 +01:00
Ellpeck
937b1757fe fixed stack overflow with auto-sizing elements 2019-12-26 12:49:04 +01:00
Ellpeck
f7810c8204 this was unintended 2019-12-25 12:19:55 +01:00
Ellpeck
ac8b09e74f improve ui root sorting 2019-12-25 12:15:55 +01:00
Ellpeck
c704aa6160 allow children to be reversed 2019-12-19 12:52:31 +01:00
Ellpeck
6faba05b24 made elements be able to set both width and height automatically 2019-12-19 12:50:50 +01:00
Ellpeck
dbe7980add made padding a lot more versatile in mlem.ui 2019-12-14 14:00:12 +01:00
Ellpeck
1e62513e25 added a way to sort an element's children 2019-12-12 21:14:41 +01:00
Ellpeck
8d3afcf276 made CanSelectContent be set automatically by the root through adding more events 2019-12-08 21:49:15 +01:00
Ellpeck
0c74dfc38e allow for ui element removal during its update 2019-12-05 14:59:53 +01:00
Ellpeck
4888bb0fd7 made dropdowns only have high priority when opened and fixed panels sometimes ignoring priority 2019-11-18 22:36:55 +01:00
Ellpeck
812b7c1f04 actually check left anchors for rightmost child instead of right anchors 2019-11-06 15:05:46 +01:00
Ellpeck
061f8279d7 get lowest elements towards the end of the list 2019-11-05 22:08:19 +01:00
Ellpeck
6340f75acc added SetWidthBasedOnChildren 2019-11-05 21:44:51 +01:00
Ellpeck
a5f6e83321 clean the element helper methods up a bit 2019-11-05 21:33:45 +01:00
Ellpeck
aecf1a565e fixed setheightbasedonchildren causing stack overflow on uneven resolutions 2019-11-05 13:50:01 +01:00
Ellpeck
32c8147a4c added a rectanglef class which allows mlem to use decimal coordinates 2019-11-02 14:53:59 +01:00
Ellpeck
ee35509f23 made ui styling a lot more user friendly 2019-10-14 21:28:12 +02:00
Ellpeck
36204e40cb turn some points into vectors for added precision 2019-09-26 22:16:21 +02:00
Ellpeck
84d5d3ab18 fixed elements' hover states being judged by their full areas 2019-09-26 19:36:15 +02:00
Ellpeck
9e798f835c fixed position offset being ignored for inline components 2019-09-26 18:56:09 +02:00
Ellpeck
ae4ced1cc1 added some more element events 2019-09-25 16:47:19 +02:00
Ellpeck
a048daefbf made panels only draw and update their visible children 2019-09-20 13:48:49 +02:00
Ellpeck
c5170917fb fixed custom draw groups not working outside of a render target 2019-09-20 13:22:05 +02:00
Ellpeck
b699333434 added a condition to removechildren 2019-09-17 14:06:10 +02:00
Ellpeck
07b6853e0c give access to all of the element callbacks in the ui system 2019-09-13 13:57:25 +02:00
Ellpeck
03923f91f6 some exception handling 2019-09-13 11:53:28 +02:00
Ellpeck
8afe9962fb added a dropdown menu and also fixed some issues 2019-09-12 12:39:18 +02:00
Ellpeck
0ad17fc40c added a method to remove all children from an element 2019-09-12 11:52:47 +02:00
Ellpeck
e38d95c665 make next elements into delegates rather than a method 2019-09-11 10:49:51 +02:00
Ellpeck
9e5f324652 added progress bars 2019-09-10 23:28:25 +02:00
Ellpeck
672e5eb548 clean up navigation a lot 2019-09-09 17:12:36 +02:00
Ellpeck
c1c7b7a9b1 remove individual component additional scale in favor of custom draw groups 2019-09-08 16:45:15 +02:00
Ellpeck
b19333d627 ceil sizes to avoid one-pixel gaps between components on some scales 2019-09-05 11:46:07 +02:00
Ellpeck
fef1d7959d this actually does not work 2019-09-04 17:23:23 +02:00
Ellpeck
619db6bb94 remove offset from draw method and use a matrix instead 2019-09-04 17:19:31 +02:00
Ellpeck
9deb6bbce3 only update an element and its children if the area actually changed 2019-09-04 16:48:44 +02:00
Ellpeck
0dff0e275d added the ability to transform the entire ui 2019-09-02 19:55:26 +02:00
Ellpeck
64eefedac0 publicize some useful ui methods 2019-09-02 18:41:05 +02:00
Ellpeck
3464fff6e5 added the ability to easily change how a selected element is drawn 2019-08-31 18:07:43 +02:00
Ellpeck
353afdef6f started working on touch support for MLEM.Ui 2019-08-30 18:15:50 +02:00
Ellpeck
90d292cd37 tabbing, part 2 2019-08-28 18:58:05 +02:00
Ellpeck
5c741a98e9 tabbing, part 1! 2019-08-28 18:27:17 +02:00
Ellpeck
cc20682d47 more easily allow controls to be changed 2019-08-28 16:38:58 +02:00
Ellpeck
765acc3f62 replace onclicked with much easier to make compatible onpressed 2019-08-25 21:49:27 +02:00
Ellpeck
6766d769f4 made scrolling a lot less intensive 2019-08-24 22:27:47 +02:00
Ellpeck
00842d9e5f inline anchors should use the old system though 2019-08-24 15:20:00 +02:00
Ellpeck
df59ae7260 make sure to always pick the closest older sibling 2019-08-24 15:14:16 +02:00
Ellpeck
d231386f86 made auto-anchored elements look for the lowest older sibling 2019-08-24 15:12:11 +02:00
Ellpeck
21c17066fc added column helper and fixed some more bugs 2019-08-24 15:00:08 +02:00
Ellpeck
d69033a315 fixed some bugs and added column helper 2019-08-24 14:34:08 +02:00
Ellpeck
cb5594bada added ElementHelper and did some textfield changes 2019-08-24 12:40:20 +02:00
Ellpeck
b6d3496987 added the ability to move roots to front or back 2019-08-23 22:23:10 +02:00
Ellpeck
04b9c9e97c added naming and priorities to animations 2019-08-21 20:25:32 +02:00
Ellpeck
79a4c36029 added getParentTree to ui 2019-08-21 17:00:22 +02:00
Ellpeck
05f148514f small element fixes 2019-08-20 23:04:21 +02:00
Ellpeck
fac7f2beb0 propagate mouse events to children by default, except for panels that handle overflow 2019-08-20 21:41:22 +02:00
Ellpeck
72b473dc1d added possible element wobble 2019-08-20 21:35:53 +02:00
Ellpeck
ef677ae441 added some useful querying functions 2019-08-18 18:32:34 +02:00
Ellpeck
15b468bab4 add the ability for elements to override the position that children will be auto-anchored to 2019-08-18 17:49:52 +02:00
Ellpeck
5d8e010bad made tooltips not go off screen and fixed the ui system breaking clearing 2019-08-15 14:59:15 +02:00
Ellpeck
5d2f77e95c added a tooltip 2019-08-13 23:54:29 +02:00
Ellpeck
c114d775d4 added checkboxes and radio buttons and did some changes to the demo 2019-08-13 21:23:20 +02:00
Ellpeck
f56b7fbeff made scroll bar clickable 2019-08-13 16:02:29 +02:00
Ellpeck
4624219b4e added scroll bar and overflow handling panel 2019-08-12 19:44:16 +02:00
Ellpeck
09fbdfd54e added priority to elements 2019-08-12 14:44:42 +02:00
Ellpeck
0faa2756f5 auto-expanding components only need to update when not on top 2019-08-11 21:57:16 +02:00
Ellpeck
a4eede5fe5 changed a lot of the math to make everything more smooth~ 2019-08-11 21:24:09 +02:00
Ellpeck
cb12ead7cc added element auto-resizing 2019-08-11 18:50:39 +02:00
Ellpeck
adf0ce56cb made ui scaling be based on the root element as well 2019-08-11 18:02:21 +02:00
Ellpeck
c030d075dd also this should only be settable from inside 2019-08-10 21:41:20 +02:00
Ellpeck
2ee2b2ec69 remove should remove the system 2019-08-10 21:39:35 +02:00
Ellpeck
0c8af5b9bf better styling 2019-08-10 21:37:10 +02:00
Ellpeck
f96511d17d shuffle some things around 2019-08-10 18:41:56 +02:00
Ellpeck
53f0858239 only do updates if necessary 2019-08-10 15:12:27 +02:00
Ellpeck
3f7f06f98f added draw alpha to all components 2019-08-10 13:42:18 +02:00
Ellpeck
18e634cad8 added image component 2019-08-09 22:23:16 +02:00
Ellpeck
ef3726b077 added auto-scaled text, buttons and vertical space 2019-08-09 22:04:26 +02:00
Ellpeck
4943a7b6f0 hiding elements 2019-08-09 19:39:51 +02:00
Ellpeck
b1d41d572c added panels and paragraphs 2019-08-09 19:28:48 +02:00
Ellpeck
a67abd4661 basic element system 2019-08-09 18:26:28 +02:00