Current
=======
Next
----
Texture.free()/destroy()
MarkdownFileView : Remember the position of scroll position as part of the history.
Markdown lists (ordered and unordered).
Critical Bugs
=============
MixedTreeView - Not updating "flattenedItems" when a long tree is added "in one go".
Scrollbars are missing.
Scrolling far, and then back to row 0 gets around the issue.
Next
====
Finalise v0.6
=============
Change .properties
Create new branch for 0.6.
publish
Upgrade Feather2Glok, FooCAD, sandr, BlokArt
Upgrade vectorial
Bugs
====
Log dock button's tooltip gets in the way.
It is at the bottom of the scene, and the popup can't fit below it, so it overlaps the mouse.
Therefore, we can't click the button (as it clicks the tooltip)
Move the tooltip ABOVE instead of below.
Node.restyleFromCachedRules resets properties which no longer have matching rules.
This isn't the case when re-theming an entire scene.
Not seen in real-world usage.
Create a theme which sets a property, and another theme which doesn't.
Apply the first theme, then apply the 2nd theme. The property should be reset to its default value.
Hue slider on CustomColorPicker is using the color to change from a white/black bar.
It *should* be using the lightness of the pure hue, not the color itself.
It would be better if the bar was replaced by arrows on either side, as this would look better, and side-step the problem.
Soon
====
Menus should open when Alt+<Key> where Key is underlined part of the Menu text
Note. underlining isn't supported yet!
Should a MenuBar register itself with its stage/scene.
A second MenuBar *could* be ignored (as in practice, there is only ever one MenuBar).
SplitPane to optionally observe minimum size of its children.
Make the default false, for backwards compatibility with old versions of Glok.
Code review
Add an Anatomy section to comments of each control.
Documentation only interfaces
Listener : InvalidationListener vs ChangeListener.
Style : Including when pseudo style is preferable.
Prepared bitmap fonts.
Include a utility which lets you choose a font, size, style.
A TextArea of the characters to be included, which defaults to ASCII or Latin 1
You can then delete those that you don't want, and paste in others that you do.
Sanity check for letters/digits.
Render it to a texture. Save it, along with the metadata.
Maybe as a zip file.
This will help when glok is multi-platform.
Unless we build font using a Canvas on the client.
Changes For MPP
===============
Application.launch should spawn a new Thread in the JVM, and use setTimeout for the loop in JS.
These changes need reviewing.
CopyOnWriteList
HistoryDocument.listeners, RegularStage.overlays, CompoundEventHandler.handlers, PropertyBase.bidirectionalBinds
Application.mutableStages, listeners (lists, observables, sets)...
WeakReference replaced by Weak, which in the JS implementation is a STRONG reference!
PropertyDelegate - Commented out test for if the property exists.
Some work has been put in place, but it isn't finished. It lists all properties,
but does nothing with them yet.
Create a Kotlin function, and call it for each element in the Objects.values() list.
hashCode
Some quick and dirty replacements for Objects.hash(...)
IntelliJ creates hashCode functions for you, which doesn't use Objects.hash(...)
Later
=====
Run it on Wayland.
Windows cannot be moved according to the LWJGL API docs.
So we need to position the window BEFORE showing it???
I18N
There are numerous places where there is hard-coded English text.
Performance
===========