b8bf5743b4
Artist test uses new defaultfont location
2023-03-31 21:11:10 -04:00
8c03b516e3
TextBox has double-click to select word
2023-03-31 20:28:53 -04:00
03dfcf02bf
Added double click delay to config
2023-03-31 14:02:56 -04:00
c7cd944ae2
Removed redundant HandleWidth parameter from config
...
The handle width can be specified by themes with padding values.
This also allows for far more granularity of the handle width
adjustment as it can depend on context.
2023-03-31 13:55:45 -04:00
c1e2bf46a6
TextBox supports copy/paste with keyboard commands
2023-03-31 03:25:46 -04:00
ab78bc640d
Piano example no longer crashes
2023-03-31 01:30:18 -04:00
7b300333cf
I am going insane
2023-03-31 01:06:29 -04:00
53bfc8df68
Re-organized module structure
2023-03-30 23:19:04 -04:00
0aede3502b
This should have been several separate commits
2023-03-29 00:50:23 -04:00
01a0fc1bd3
You can fcucking PASTE now!!!
2023-03-27 20:44:39 -04:00
02a27447b9
Changed the clipboard API so that it will work with X
...
In X, clipboard/selection data is specific to each window, and it
may take some time before the clipboard data is fully transferred.
This actually makes sense because there can be entire images in
the clipboard and it is important the clipboard API supports large
file transfer. Because of this, the Copy and Paste methods have
been moved into Window, and Paste now returns a channel.
2023-03-25 13:32:48 -04:00
d710d13f0d
Added the ability to make different window types
2023-03-24 00:34:25 -04:00
fff5ad4d96
File now produces an error'd icon for an erroneous file
2023-03-23 20:57:51 -04:00
Sasha Koshka
8447b06641
Created a convenience constructor for Inset
2023-03-23 18:05:30 -04:00
Sasha Koshka
6a08d0f317
Added a Component parameter to theme cases
2023-03-23 17:34:08 -04:00
Sasha Koshka
45021b6153
Rename DirectoryView to Directory
2023-03-23 15:56:56 -04:00
Sasha Koshka
6638a471c7
File is now configurable
2023-03-23 15:55:18 -04:00
Sasha Koshka
6c8ff55dc1
Text labels are now drawn
...
The typesetter will need to be reworked to properly break lines in
the middle of words for this to function properly.
2023-03-23 15:38:51 -04:00
Sasha Koshka
7ec5e1ab2a
Made the buttons in the file browser example work
2023-03-23 14:45:46 -04:00
Sasha Koshka
14802b4b82
Implemented history for DirectoryView
...
For some reason DirectoryView won't draw changes all of the time...
2023-03-23 14:37:44 -04:00
Sasha Koshka
f74f6a43f8
DirectoryView selects and de-selects files
2023-03-23 14:11:42 -04:00
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
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
4c6e01203c
Label.EmCollapse actually works now
2023-03-17 01:00:11 -04:00
Sasha Koshka
6258c77f86
Added an align method to label
2023-03-16 15:58:26 -04:00
Sasha Koshka
a4ef28cdd0
Moved containers into a separate package
2023-03-16 14:22:56 -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
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
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
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
c45268d8c1
Testing elements now conform to the new API
2023-03-12 01:19:40 -05:00
92e5822185
Basic and fun elements conform to new API change
2023-03-12 01:15:36 -05:00
3d28ebe4cf
Made interfacial changes that will allow for elements to be clipped
2023-03-12 00:17:35 -05:00
5afbc0e713
DocumentContainer constrains its scroll position on resize
2023-03-11 20:04:08 -05:00
b7a7800370
DocumentContainer has a proper minimum width
2023-03-11 19:25:35 -05:00
15fa3b2497
Quelled some of the strangeness
2023-03-11 18:27:16 -05:00
081b005679
Added a somewhat buggy DocumentContainer
2023-03-11 18:00:29 -05:00
1be769526d
Removed references to flexible from containers
2023-03-11 00:48:15 -05:00
51084a6cfe
Removed references to flexible from layouts, x backend, core
2023-03-11 00:43:26 -05:00
677dca1dbf
ScrollContainer uses ScrollBar for scrolling
2023-03-11 00:21:54 -05:00
5d4a26a877
AnalogClock is no longer flexible.
2023-03-10 13:45:53 -05:00
aaa794ac04
ScrollBar handles scroll wheel events
2023-03-10 13:42:51 -05:00
8658ecd879
Sort of fixed a flexible height bug
2023-03-10 00:10:26 -05:00
1c28613981
The scroll bar is better
2023-03-09 23:27:08 -05:00
8e1638e054
I may have fixed the wierd scrollbar rendering
...
And something else I didn't realize was there
2023-03-09 22:23:09 -05:00
aff9aca835
We now have an untested lone scrollbar element
2023-03-09 18:15:52 -05:00
305acea285
Use ezprof to profile
2023-03-08 20:24:43 -05:00
f3c1c95a57
Keyboard control for sliders
2023-03-07 19:13:08 -05:00
11402cfc25
Button applies the sink offset correctly to icons
2023-03-05 11:20:33 -05:00
7e0d64e8bd
TextBox text is now vertically centered
2023-03-05 10:58:27 -05:00
d38bd1cbf5
Hiding button text actually works now
2023-03-05 00:31:41 -05:00
865dd20724
Buttons can now hide their text
2023-03-05 00:23:45 -05:00
0071994ba6
Buttons can now have icons
2023-03-05 00:05:56 -05:00
61bbe0e346
Added an Icon element
2023-03-04 22:56:44 -05:00
912a3f9f66
oops lmao
2023-03-04 16:18:43 -05:00
531b0ffce9
Fixed Container not clearing child event handlers in DisownAll
2023-03-04 10:44:45 -05:00
9c12cd7e18
Fixed cringe bug with focus requests being improperly handled
2023-03-04 02:20:48 -05:00
4f6f4e1f1a
Me when I make the exact mistake twice
2023-03-04 02:04:47 -05:00
dc5ddfc0bd
Propagator no longer segfaults when handling keynav
2023-03-04 01:48:16 -05:00
5fc5af92df
Layouts now take in proper margin and padding values
2023-03-04 01:42:14 -05:00
90ce0d7281
Fixed Propagator.forChildren
2023-03-04 01:29:45 -05:00
be286fa86c
The container actually creates a propagator now lmao
2023-03-04 01:27:16 -05:00
252433f13d
Cleaned up Container somewhat
2023-03-04 01:26:23 -05:00
165d0835bf
Worked Propagator into basic.Container
2023-03-04 01:20:23 -05:00
56e11ae1de
Cleaned up the (ChildIterator -> Parent) interface
2023-03-04 01:05:37 -05:00
1d9fb6024d
Fully implemented Propagator
2023-03-04 00:57:17 -05:00
c13cdd570d
Implemented all focus methods except for HandleFocus
...
I am dreading this
2023-03-04 00:38:37 -05:00
5af8d7fd97
Implemented keyboard, mouse, theme, and config event propagation
2023-03-04 00:18:27 -05:00
b6eb158964
Tidied up documentation on Propagator
2023-03-03 23:48:10 -05:00
Sasha Koshka
6bb5b2d79c
Created the stub for Propagator
...
Unlike the previous poorly-defined ContainerCore idea, this struct
has one sole responsibility and that is propagating events to
children. There may be another struct called like ChildManager or
something in the future that also abstracts away logic for
adoption, canvas cutting, disowning, layout, etc.
2023-03-03 20:31:30 -05:00
Sasha Koshka
538123dcd5
No that was a bad idea time to do something else
2023-03-03 20:16:36 -05:00
Sasha Koshka
38baa97e76
ContainerCore and ContainerCoreControl WIP
2023-03-02 18:59:08 -05:00
Sasha Koshka
ef59f46559
Made the progress bar look nicer
2023-02-28 19:00:34 -05:00
Sasha Koshka
b1d15fb4ec
this piano is DOPE and PHAT and WAY COOL
2023-02-28 00:17:05 -05:00
Sasha Koshka
ee45b2fa60
Theming tweaks and rendering fixes
2023-02-27 17:00:28 -05:00
Sasha Koshka
8dd506a007
Textures now render properly
2023-02-27 16:38:33 -05:00