Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Update README.md #792

Merged
merged 11 commits into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
195 changes: 195 additions & 0 deletions .github/assets/gluon_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 41 additions & 7 deletions README.md
abhinayagarwal marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
[![Gluon](.github/assets/gluon_logo.svg)](https://gluonhq.com)

# Gluon Scene Builder #

[![Build](https://github.com/gluonhq/scenebuilder/actions/workflows/build.yml/badge.svg)](https://github.com/gluonhq/scenebuilder/actions/workflows/build.yml)
abhinayagarwal marked this conversation as resolved.
Show resolved Hide resolved
[![License](https://img.shields.io/badge/license-BSD-green)](./LICENSE)

Scene Builder Kit:
jperedadnr marked this conversation as resolved.
Show resolved Hide resolved
[![Maven Central](https://img.shields.io/maven-central/v/com.gluonhq.scenebuilder/kit)](https://search.maven.org/#search|ga|1|com.gluonhq.scenebuilder)
[![javadoc](https://javadoc.io/badge2/com.gluonhq.scenebuilder/kit/javadoc.svg?color=blue)](https://javadoc.io/doc/com.gluonhq.scenebuilder/kit)

Gluon [Scene Builder](http://gluonhq.com/products/scene-builder/) is a drag and drop UI designer tool allowing rapid desktop and mobile app development.
Scene Builder separates design from logic, allowing team members to quickly and easily focus on their specific aspect of application development.

Expand Down Expand Up @@ -44,7 +53,7 @@ These are the requisites:

### How to build Scene Builder ###

Scene Builder makes use of the Maven Wrapper to build and run the project. So there is no need to install Maven on the developers machine. To utilize Maven Wrapper, instead of calling `mvn`, one can run `./mvnw` on Linux or macOS or `mvnw` on Windows instead.
Scene Builder makes use of the Maven Wrapper to build and run the project. So there is no need to install Maven on the developers machine. To utilize Maven Wrapper, instead of calling `mvn`, one can run `./mvnw` on Linux or macOS or `mvnw` on Windows.
jperedadnr marked this conversation as resolved.
Show resolved Hide resolved

To build the Scene Builder services, on the project's root, run:

Expand Down Expand Up @@ -78,14 +87,29 @@ java \
com.oracle.javafx.scenebuilder.app.SceneBuilderApp
```

## Scene Builder Kit ##
## Scene Builder components ##

To build and install the Scene Builder Kit in your local repository, run:
The Scene Builder project has three main components defined by three modules (that is, three Java modules defined in three Maven modules subprojects):

`mvn clean install -f kit`
- Scene Builder App
- Scene Builder Kit
- Gluon plugin

### Scene Builder App ###

Contains the JavaFX main application that embeds the Scene Builder Kit, and includes menus, preferences and dialogs to interact with it.

### Scene Builder Kit ###

Scene Builder Kit is the core of the project, defines three main areas:
jperedadnr marked this conversation as resolved.
Show resolved Hide resolved

The custom controls of the Scene Builder kit can be used in your project.
You can add it as a regular dependency to the build of your app:
- Left: Library of custom and built-in controls, Hierarchy and Controller of the FXML layout being edited
- Center: Workspace area for displaying the content of the FXML layout that is being designed
- Right: Inspector with properties, layout and event handlers of the components of the FXML layout.

Kit is an API that allows the integration of these components and their functionallity with other applications or IDEs, being Scene Builder App the best example of such integration. Other basic example can be found here: [EmbeddedSceneBuilderDemo](https://github.com/gluonhq/EmbeddedSceneBuilderDemo). Also you can use in your projects the controls available in Scene Builder Kit.
jperedadnr marked this conversation as resolved.
Show resolved Hide resolved

Scene Builder Kit is published to Maven Central, and you can add it as a regular dependency to the build of your app:

```
<dependency>
Expand All @@ -95,6 +119,16 @@ You can add it as a regular dependency to the build of your app:
</dependency>
```

If you want to build and install the Scene Builder Kit in your local repository, run:

`mvn clean install -f kit`
jperedadnr marked this conversation as resolved.
Show resolved Hide resolved

### Gluon plugin ###

The Gluon section in the Library allows adding [Gluon Mobile](http://gluonhq.com/products/mobile) controls to the FXML layout, and setting the stylesheets from the Gluon themes and swatch colors.

An easy way to get started is by selecting the Mobile Basic Screen from the available templates in the welcome dialog.

## Code Style

To ensure that new code formatting matches the requirements for Pull Requests,
Expand All @@ -109,7 +143,7 @@ To run the plugin:
mvn checkstyle:checkstyle
```

There will be a report for each sub-project, one for `app` and one for `kit`.
There will be a report for each sub-project:

* Kit: `kit/target/reports/checkstyle.html`
* App: `app/target/reports/checkstyle.html`
Expand Down