Commit Graph

514 Commits

Author SHA1 Message Date
Sasha Koshka
68341517f7 DirectoryView uses File to display files 2023-03-21 18:03:31 -04:00
Sasha Koshka
dcc672e2bc ScrollContainer does not scroll child in a forbidden direction 2023-03-21 17:37:33 -04:00
d9bddce20b File and directory view elements wip 2023-03-21 12:26:48 -04:00
60aac053fb Add ability to change an icon's icon 2023-03-21 12:26:06 -04:00
faf5ebb283 List can now add multiple entries at once, and clear all of them 2023-03-20 01:57:06 -04:00
f37101eb9e Ctrl+a selects all in TextBox 2023-03-20 01:56:12 -04:00
d475e5e2ec TextBox now has an OnEnter method. 2023-03-20 01:13:23 -04:00
221647a265 Made icons a bit better
There is a new IconNone and an IconUpward, and buttons don't
expand awkwardly when they have an icon.
2023-03-20 01:12:19 -04:00
bf667aded9 Small tweaks to the wintergreen atlas 2023-03-18 01:57:17 -04:00
b4befa5aa5 Made the default handle width an odd number 2023-03-17 02:05:22 -04:00
0f272f4835 DocumentContainer does as well 2023-03-17 02:00:19 -04:00
d651570746 The list element calls the scroll bounds change callback 2023-03-17 01:58:42 -04:00
493c5210a7 DocumentContainer sets minimum size properly 2023-03-17 01:52:26 -04:00
0fd56f272c Fixed text being cut of on several examples 2023-03-17 01:38:57 -04:00
4c6e01203c Label.EmCollapse actually works now 2023-03-17 01:00:11 -04:00
b189518c92 Did the same thing for the vertical layout 2023-03-16 23:04:33 -04:00
4b788dd783 Horizontal layout does not use integer math anymore
Instead it uses fixed.Int26_6. Could have used floats but then we
would need a new point datatype and we already have utility
functions for fixed point math
2023-03-16 20:55:11 -04:00
cdf805dadc Implemented all text alignment methods 2023-03-16 20:24:33 -04:00
Sasha Koshka
6258c77f86 Added an align method to label 2023-03-16 15:58:26 -04:00
Sasha Koshka
b90ffeb4fd X backend window disowns child before closing
This prevents elements from drawing to a closed window (causing
xgb to print an error)
2023-03-16 14:42:18 -04:00
Sasha Koshka
a4ef28cdd0 Moved containers into a separate package 2023-03-16 14:22:56 -04:00
c55925d152 Added a package that just links all backends 2023-03-16 01:14:39 -04:00
11b680db63 Added package summaries to more packages 2023-03-16 01:10:59 -04:00
d57db6327d Merge branch 'main' of git.tebibyte.media:sashakoshka/tomo 2023-03-16 00:45:50 -04:00
0d8d2a0190 Cleaned up pattern documentation a bit 2023-03-16 00:45:33 -04:00
6ee3014fda Merge pull request 'robust-parenting' (#12) from robust-parenting into main
Reviewed-on: sashakoshka/tomo#12
2023-03-16 04:34:08 +00:00
0ebf0bc814 Raycaster example now works 2023-03-16 00:30:59 -04:00
40aa1a788b Renamed some oddly named files 2023-03-16 00:26:54 -04:00
bffdb000ed Piano element handles motion events 2023-03-16 00:25:36 -04:00
5ca9206f65 DocumentContainer properly adopts children now 2023-03-16 00:24:40 -04:00
1239f4e03d Made DocumentContainer satisfy FlexibleParent 2023-03-15 23:57:22 -04:00
8aaa017902 Re-added OnScrollBoundsChange methods because they are useful 2023-03-15 23:56:00 -04:00
639baecee5 Propagator unfocuses children before focusing a new one 2023-03-15 23:49:57 -04:00
Sasha Koshka
c1b3562d10 It compiles 2023-03-15 23:47:13 -04:00
ef325d5161 Found a flaw in the focusing model, rectifying.
Still need to fix on X backend window, that will be in the next
commit.
2023-03-15 17:08:43 -04:00
2f60abdfa3 Core properly sets nil parent 2023-03-15 01:46:58 -04:00
1a66224648 X backend window sets itself as parent (oops) 2023-03-15 01:43:32 -04:00
275e113e3b Fun elements now conform to new API 2023-03-15 01:42:07 -04:00
0015820fac Basic elements now conform to new API 2023-03-15 01:41:23 -04:00
f4799ba03d Testing elements now conform to new API 2023-03-14 19:41:36 -04:00
Sasha Koshka
14ad35d85c X backend now conforms to new API changes 2023-03-14 18:54:24 -04:00
Sasha Koshka
a34e8768ab Redid cores to conform to the new API changes 2023-03-14 18:30:32 -04:00
b08cbea320 Overhauled the element interfaces
Instead of the previous parenting model where parents would set
child callbacks during adoption by probing for callback setters,
child elements will instead probe their parents for notify methods
listed in the standard parent interfaces. This means that an
element cannot be half-parented to something, nor can it be
parented to two things at once. Parent elements may themselves
fulfill these interfaces, or they can pass a hook that fulfills
them to the child.
2023-03-14 17:08:39 -04:00
9d84c50db3 Merge pull request 'flexible-elements-were-a-mistake' (#11) from flexible-elements-were-a-mistake into main
Reviewed-on: sashakoshka/tomo#11
2023-03-14 03:37:58 +00:00
99e029ae09 TextBox no longer aggressively requests focus 2023-03-13 22:25:57 -04:00
5149c27cf3 Added untested label collapse 2023-03-13 17:10:27 -04:00
7ef95cc751 Removed unneeded Container.reflectChildProperties() 2023-03-12 01:57:56 -05:00
b09994973c List and Piano do shattering properly 2023-03-12 01:47:58 -05:00
37048c6759 Raycaster runs? 2023-03-12 01:33:05 -05:00
be45f7ad71 Fixed some artist bugs 2023-03-12 01:23:20 -05:00