GithubHelp home page GithubHelp logo

naoghuman / netbeanside-afterburnerfx-plugin Goto Github PK

View Code? Open in Web Editor NEW
9.0 6.0 3.0 203 KB

The NetBeansIDE-AfterburnerFX-Plugin is a NetBeans IDE plugin which supports the file generation in convention with the library afterburner.fx in a JavaFX project.

License: GNU General Public License v3.0

Java 93.78% HTML 0.96% FreeMarker 5.25%
netbeans-ide netbeanside-afterburnerfx-plugin afterburner javafx development plugin netbeans netbeans-rcp javafx-application javascript

netbeanside-afterburnerfx-plugin's Introduction

NetBeansIDE-AfterburnerFX-Plugin

Intention

The NetBeansIDE-AfterburnerFX-Plugin is a NetBeans IDE plugin which supports the file generation in convention with the library afterburner.fx in a JavaFX project.

The following primary files [FileName].fxml, [FileName]Presenter.java, [FileName]View.java and optional [FileName].css, [FileName].properties and configuration.properties can be created in a new wizard.
One conditional is that [FileName].toLowerCase() must be equals with the last choosen package name.

Press

NetBeansIDE-AfterburnerFX-Plugin.png

Content

Screenshots

The following screenshots shows the workflow to create the new 'AfterburnerFX Files'. The screenshots are taken under Windows 10.

1. Open the Wizard

plugin-1-open.png

2. Choose File Type

plugin-2-file-type.png

3. Primary Files

plugin-3-primary-files.png

4. Optional Files

plugin-4-optional-files.png

5. Summary

plugin-5-summary.png

6. Generated files

plugin-6-generated-files.png

Features

General
Generated Files

Following files can be created in the new wizard:

  • Primary files are [FileName].fxml, [FileName]Presenter.java and [FileName]View.java where [FileName].toLowerCase() must be equals with the last choosen package name.
    • Additional option: File [FileName].fxml should be lowercase.
  • Optional files are [FileName].css, [FileName].properties and configuration.properties.
    • Additional options: File [FileName].css and/or file [FileName].properties and/or configuration.properties should be lowercase.
  • The optional files can also additional injected into following files:
    • The [FileName].css file can additional injected into the [FileName].fxml file.
    • The [FileName].properties can additional injected into into the [FileName]Presenter.java file.
Injection from the Optional Files

Comparison with/without injection from the Optional File ImportDialog.css in ImportDialog.fxml.

Without injection:

<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" fx:controller="org.my.demoapplication.importdialog.ImportdialogPresenter">

</AnchorPane>

With injection:

<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" styleClass="mainFxmlClass" xmlns:fx="http://javafx.com/fxml/1" fx:controller="org.my.demoapplication.importdialog.ImportdialogPresenter">
    <stylesheets>
        <URL value="@Importdialog.css"/>
    </stylesheets>
</AnchorPane>

Comparison with/without injection from the Optional File ImportDialog.properties in ImportDialogPresenter.java`.

Without injection:

public class ImportdialogPresenter implements Initializable {

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        
    }
}

With injection:

public class ImportdialogPresenter implements Initializable {

    private ResourceBundle resources = null;
    
    @Override
    public void initialize(URL location, ResourceBundle resources) {
        this.resources = resources;
    }
}
Validation from user input
  • The wizard gives the user feedback if the choosen [FileName] and package name aren't in convention with the library afterburner.fx. The [FileName].toLowerCase() and the last choosen package name must be equals.
  • Feedback is also given if the choosen [FileName] and / or package name doesn't follow the rules from the Java Naming Convention.

Requirements

Installation

General installation
Manual installation from the plugin in NetBeans IDE
Plugin installation through the Update Center from NetBeans IDE
  • Click on Tool -> Plugins action in the IDE.
  • Click on the tab Available Plugins and then Check for Newest.
  • Search and checked the plugin in the list from available plugins.
  • Clicking Install will prompt the dialog Verify Certifcate.
    • Optional: You can view the certificate with the button Show certificate.
    • Click the button Continue for installing the plugin.

Contribution

  • If you find a Bug I will be glad if you will report an Issue.
  • If you want to contribute to the project plz fork the project and do a Pull Request.

License

Project
Images

Autor

  • The project NetBeansIDE-AfterburnerFX-Plugin is maintained by me, Peter Rogge. See Contact.

Contact

netbeanside-afterburnerfx-plugin's People

Contributors

naoghuman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

netbeanside-afterburnerfx-plugin's Issues

[Optional Files] css will be injected although the checkbox isn't selected.

[Optional Files] css will be injected although the checkbox isn't selected.

  • In the fxml the css parameter will be checked also the checkbox isn't selected.
<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" styleClass="mainFxmlClass" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.github.naoghuman.demoapplication.DemoapplicationPresenter">
    <stylesheets>
        <URL value="@Expression css is undefined on line 16, column 24 in Templates/javafx/Template.fxml..css"/>
    </stylesheets>
</AnchorPane>

[ReadMe] Extend the section 'Features'

  • Extend the section 'Features', add subtitles (which will also shown in the section 'Content')
  • Subtitles (General, Generated Files, Feedback)
  • Add info that the desicion from the user will be remembered in the page 'Optional Files'.
  • Add info about the about the injection from the optional files (show source code with/without injection)
  • Add info 'Tested under Windows 7 (64) and Ubuntu 13 (64).

[Optional Files] Special case -> package name is configuration.

Special case -> package name is configuration.

  • If so then the CheckBox for creation an xy.properties file should be disabled.
  • Nice were a additional msg for the user why the CheckBox is disabled.
  • Can be done when the wizard pages for the optional files will be redesigned.

[Wizard] Refactoring action name and icon

  • (v) The action should have a new name in the wizard: JavaFX AfterburnerFX Files
  • (v) Use as action icon the normal java-file icon and double it like the save-all button.
  • ( ) Update also the ReadMe (license from at-icon and wizard images)

[Wizard] Simplified the msg for inject xy file.

[Wizard] Simplified the msg for inject xy file.

.css

  • Inject the .css file into xy.fxml.
  • xy.fxml -> the name can be lower- or uppercase depends from the previous selection.

.properties (not configuration.properties)

  • Inject .properties into the XyPresenter.java ( see #47 ).

[Documentation] Update ReadMe to reflect the new features.

Update ReadMe to reflect the new features.

  • All features from the CheckBoxes (lowercase, injection) should in the ReadMe.
  • The new feature for the configuration.properties file should be in the ReadMe.
  • Check ReadMe if it is uptodate.

[Wizard] Simplified the msg for xy to lowercase.

Simplified the messages for xy to lowercase.

File xy.fxml should be lowercase.

  • Xy.fxml to lowercase, if CheckBox isn't selected.
  • xy.fxml to lowercase, if CheckBox is selected.

File xy.css should be lowercase.

  • Xy.css to lowercase, if CheckBox isn't selected.
  • xy.cssto lowercase, if CheckBox is selected.

File xy.properties should be lowercase.

  • Xy.properties to lowercase, if CheckBox isn't selected.
  • xy.properties to lowercase, if CheckBox is selected.

File configuration.properties should be lowercase.

  • Configuration.properties to lowercase, if CheckBox isn't selected.
  • configuration.properties to lowercase, if CheckBox is selected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.