Added:
- #46 - Add DisposeOnClose and HideOnClose reactions;
- #47 - Add Swing ComponentPopupMenu, MouseListener, MouseMotionListener collectors support;
- #48 - Add method autowiring support for non-Component beans using
autowired
orqualifier
; - #49 - Add Spring scan of Yayoi packages;
Changed:
Closed bugs/regressions:
Regression:
Open:
Added:
- #37 - Let the user define default framework and framework overrides with
framework
annotation; - #43 - Add AWT framework implementation;
- #45 - Collections can be roots;
Changed:
- #36 - Let the default log writer write on standard error if level is above info;
- #37 - Let the user define default framework and framework overrides with
framework
annotation; - #41 - There is absolutely no need to use the metamodel to perform reactions;
- #42 - Container doesn't need to specify generic layout type;
Closed bugs/regressions:
- #38 - Application does not correctly shut down;
- #39 - Collect and remove value settings replaced by Collectors;
- #40 - Window's validation cycle may still not be defined when window is invalidated (causing NoSuchBeanDefinitionException);
- #44 - Assigning null layout when adding an unsuitable layout type on Swing/AWT container;
Regression:
Open:
Added:
- #25 - Let the user define specific Settings;
- #26 - Let the user define Collections;
- #29 - Let the user define CollectValue and RemoveValue Settings to let a Component decides how the internal collector should collect/remove the internal value;
- #30 - Let Collections be mutable maps and let Components access listeners using mutable maps may be useful;
- #31 - Introduce Window validation lifecycle;
- #35 - Let the user order components of abstract collections with
ordering
annotation on abstract collection;
Changed:
- #23 - Value
do
method is useless; - #24 - Look and Feel may be more useful as a Setting;
- #27 - Abstract adding Listeners to Components discarding specific Listener Reaction and introducing generic Listenable Reaction;
- #28 - Window's collection of Components improvement;
- #33 - WindowState improvement;
- #34 - Change Swing implementation of centering a Window;
Closed bugs/regressions:
- #7 - Components design flaw;
- #20 - SwingLayoutAction failed to execute due to LateValue not being thread-safe;
- #21 - SwingLayoutAction not running on AWT thread causes GroupLayout to raise an IllegalStateException;
- #22 - Child component annotated with
parent
annotation cannot be resolved if package is different from the containing one; - #32 - Swing components implementations aren't covariant in its internal type;
Regression:
Open:
Added:
- #4 - Type narrowing Reactions;
- #9 - Visitor pattern applied on component, container and window may be useful;
- #12 - Allowing undeclared value on components framework implementation construction may be useful;
- #14 - Allowing constructing layout on container construction;
- #15 - Add method parameters autowiring support for components;
- #17 - Add support for Look and Feel setting;
Changed:
- #5 - Object nullLayout is useless;
- #8 - Title Reaction is useless;
- #10 - Log configuration improvement;
- #13 - Lock condition interface is useless;
- #18 - User application 'run' method should run outside the AWT thread;
Closed bugs/regressions:
- #1 - "NoSuchBeanDefinitionException: No bean named 'reactors' is defined" on startup;
- #2 - "NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.context.ApplicationEventPublisher] is defined" on startup;
- #3 - Misleading log listing GUI events as Actions;
- #6 - Window components are early evaluated;
- #7 - Components design error;
- #11 - Components are not added to containers if not done with Layout action;
- #16 - Logging object construction but that does not actually happen;
Regression:
Open:
Added:
- Swing implementation of basic GUI components: Component, Container, Window, Layout and Listener;
- components are all lazily loaded;
- setting essential component properties, Reactions (size, location, centered, etc.);
- a reaction can depend on another one of the same component (e.g centered depends on size);
- executing actions on multiple components, Actions (as of now layout setting, doLayout is supported);
- registering listeners on components (as of now only ActionListener, onActionPerformed, and WindowListener, onWindowEvent are supported):
- a default WindowAdapter is already registered with lowest precedence (needed for application shutdown) if and only if a exitOnClose has been set on a window declaration;
- firing of Spring Event when basic component properties are set (on AWT Thread);
- enabling component construction using object, method and class notation (e.g. ValueDeclaration, FunctionDeclaration and ClassDeclaration) within a package;
- autowiring of components constructed using class notation;
- defining a custom log writer;
- a default log writer is already registered.
Changed:
Closed bugs/regressions:
Regression:
Open: