View Code? Open in Web Editor
NEW
The `Lib-FXML` library simplifies the loading of [JavaFX] relevant files (model, view, controller, .fxml, .css, .properties) and enables a standardized handling of the data flow to (in, from) the gui.
License: GNU General Public License v3.0
lib-fxml's People
Contributors
lib-fxml's Issues
[doc] Add 'tags' to the GitHub project.
[ci] Connect the GitHub project with Travis CI.
Add travis.yml to project.
Hint object-db (need extra configuration).
Activate the app in Travis.
[test] Create unittests for the class 'FXMLValidator'.
[doc] Create new concept 'Conventions'.
What convention counts for this library?
[test] Add unittests for the class 'FXMLAction'.
[doc] Add badges from img.shield.io to the ReadMe.md.
[cleanup] Refactore the usage from the method ResourceBundle.getBundle(...) in FXMLView.
Use ResourceBundle.getBundle directly (without static import) in sourcecode.
[api] Create new interface FXMLModelable.
Contains 2 new methods:
writeToFXMLModel(): FXMLModel
readFromFXMLModel(FXMLModel): void
Main idea is like the interface Externalizable. A concrete 'Entity' which implements FXMLModelable can so shown in FXMLPresenter over the FXMLModel and also allowed to persist the FXMLModel with contained Entity in a defined way.
[api] Create new factory method FXMLView.create(String, FXMLModel).
[doc] Create new uml diagram form the basic concept form the library.
Update also the names from the classes and interfaces if needed - correponding to the uml diagram.
Include the uml diagram into the section 'Intention'.
[api] Create new class 'FXMLPresenterData'.
The class can be used to configure the presenter
and to received data from the presenter.
[cleanup] Rewrite the 'create(...)' methods in FXMLView.
Instead the usage from a 'String' use a 'Class-? extends FXMLPresenter-'.
The method create(Class) delegates with FXMLModel.EMPTY to create(Class, FXMLModel).
[test] Extend the class MyFXMLTest with functionalities to show the .fxml as gui.
Momentary only the infos will be logged. Show the gui!
[doc] Extend the topics in the GitHub project.
[doc] Write JavaDoc for the package 'com.github.naoghuman.lib.fxml.internal'.
[doc] Write the section 'Intention'.
See concept.
First 1 or 2 sentence will be used as the project description.
[api] Extend the method FXMLModel.get(String, Class'T').
Wrap in try-catch, throw error with explained msg.
[doc] Write JavaDoc for the class 'FXMLModel'.
[api] Change in FXMLModel toString() the term 'data' to 'model'.
[api] Move content from 'afterburner.fx' to this library.
Tweak the packages.
Analyse the content -> new concept?
[doc] Create new concept 'Examples'.
Which example want I show?
[api] Change FXMLPresenter to abstract class.
getModel() will now return Optional.empty(),
configure(FXMLModel) will initialize return value from getModel().
[api] Delete content from 'afterburner.fx' after prototyping the new api.
[test] Add unittests for the class 'FXMLModel'.
[internal] Create new class 'FXMLValidator'.
[doc] Create JavaDoc in folder 'doc/apidocs'.
In the section plugin/maven-javadoc-plugin/configuration/destDir(docs/apidocs)
Create the JavaDoc in the folder 'docs/apidocs'.
See Lib-I18N.
Update ReadMe with new section 'JavaDoc'.
[doc] Write new concept 'SaveToDatabase'.
[api] Attribut 'baseBundleName' should be 'optional' in FXMLView.
When the user no 'ResourceBundle' have defined, then only a warning should be logged.
[lib] Create basic library structure.
NetBeans maven project.
Folder concept.
Folder release with basic files.
Update .gitignore.
[doc] Update section 'Intention' in ReadMe.
The image is from v0.1.0-PRERELEASE.
FXMLView load the must existing .fxml file.
The files .css and .properties are optional.
The interface FXMLPresenter is now an abstract class.
[doc] Write JavaDoc for the class 'FXMLView'.
[pom] Tweak the pom.xml
to fit the necessities from the library.
[doc] Write basic ReadMe structure.
[doc] Create new section 'Intention' in the ReadMe.
[doc] Write JavaDoc for the class 'FXMLAction'.
[api] Attribut 'urlForFXML' should be a 'must existing' in FXMLView.
Shouldn't an Optional.
The pointed file must exists.
[test] Enhance the method DefaultFXMLValidator.requireEndsWith(...).
From: "The attribute [value] must ends with the suffix: %s"
To: "The attribute [value=%s] must ends with the suffix: %s"
[doc] Create basic concept for the library.
[test] Add unittests for the abstract class 'FXMLController'.
Test the default methods.
[doc] Create new concept 'Features'.
List all features for this library.
[api] Create new interface 'FXMLPresenter'.
Contains default methods to configure(...), adjust data from the presenter and get the root.
[test] Rename the demo applications to fit the necessities from the api.
DemoWithAllFiles
DemoWithoutPropertiesFile
DemoWithoutCSSFile
DemoWithFXMLModelable
Update ReadMe.
Every concrete demo application will have an own sub-section in the section 'Demos' in the ReadMe.
[api] Create new class 'FXMLView'.
Loads the presenter, resourcebundle, css... and bind (load) them.
[api] Extend the class FXMLView by error with msg from LoggerFacade.
Instead the usage from the default logger 'LoggerFacade' should be used.
[test] Test resources (.css, .fxml, .properties) will be copied in the generated .jar file.
Like the classes 'MyFXMLTest.java' and 'MyPresenter.java' the files should only be used in tests.
[api] Create 'FXMLModel.EMPTY' instance in the class FXMLModel.
[api] Enhance FXMLModel.get(Class'T', String) to return an Optional'T'.
[cleanup] Rename 'data' in FXMLModel.
[doc] Write JavaDoc for the abstract class 'FXMLController'.
[doc] Write JavaDoc for the package 'com.github.naoghuman.lib.fxml.core'.