Skip to content

Commit

Permalink
Merge pull request #515 from mgarin/styling
Browse files Browse the repository at this point in the history
Styling
  • Loading branch information
mgarin authored Aug 2, 2019
2 parents d0e9fd4 + 2441ca1 commit 4faefd1
Show file tree
Hide file tree
Showing 3,612 changed files with 270,114 additions and 138,675 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
32 changes: 16 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# Build artifacts
artifacts
target
/artifacts/
target/

# IntelliJ IDEA project & module files
.idea
/.idea
*.iml

out/
gif/
modules/test/
uml/
/out/
/gif/
/modules/test/
/uml/

presentation.txt
style-readme.txt
widget.html
todo-npe.txt
todo-old.txt
todo.txt
download.html
done.txt
jdk8migration.txt
/presentation.txt
/style-readme.txt
/widget.html
/todo-npe.txt
/todo-old.txt
/todo.txt
/download.html
/done.txt
/jdk8migration.txt
68 changes: 35 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ WebLaF
==========
**WebLaf** is a Java Swing Look and Feel and extended components library for cross-platform applications.<br>
![Preview](./screenshots/weblaf-preview.png)<br>
You can find some more screenshots at the end of this page!
You can find some more screenshots below!


Branch [`styling`](https://github.com/mgarin/weblaf/tree/styling)
Expand Down Expand Up @@ -31,12 +31,19 @@ This update is one of the biggest made to WebLaF since its initial release so I
Advantages
----------

- Simple and stylish cross-platform default theme
- Lots of useful custom Swing components
- Fully stylable through settings, painters and custom skins
- Fully styleable and customizable through themes and code
- Multiple predefined cross-platform UI themes
- Wide set of custom popular components for Swing
- Language, settings, hotkey, tooltip and other custom managers
- Various Swing and general utilities for many possible cases
- Full support for RTL components orientation
- Swing and general utilities for many possible cases
- RTL orientation support for basic Swing and custom WebLaF components

Also WebLaF project is...

- A mix of Swing LaF, components and utilities
- Fully open-source, without any exceptions
- Constantly growing and being improved
- Open for any suggestions

You can find more information about the library on official site:<br>
http://weblookandfeel.com
Expand All @@ -51,16 +58,16 @@ Here are the direct links for the latest release artifacts:

**Complete WebLaF binary with dependencies**

- [**weblaf-complete-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-complete-1.28.jar) - library complete jar, contains WebLaF classes and all dependencies
- [**weblaf-complete-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-complete-1.29.jar) - library complete jar, contains WebLaF classes and all dependencies

**WebLaF binary without dependencies**

- [**weblaf-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-1.28.jar) - library jar, contains only WebLaF classes
- [**weblaf-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-1.29.jar) - library jar, contains only WebLaF classes

**Separate WebLaF core and UI binaries without dependencies**

- [**weblaf-core-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-core-1.28.jar) - library core part jar, contains only WebLaF core classes
- [**weblaf-ui-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-ui-1.28.jar) - library UI part jar, contains only WebLaF UI classes
- [**weblaf-core-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-core-1.29.jar) - library core part jar, contains only WebLaF core classes
- [**weblaf-ui-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-ui-1.29.jar) - library UI part jar, contains only WebLaF UI classes

**Core dependencies**

Expand All @@ -76,11 +83,11 @@ Here are the direct links for the latest release artifacts:

**Other artifacts**

- [**weblaf-demo-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-demo-1.28.jar) - executable WebLaF demo jar
- [**weblaf-src-1.28.zip**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-src-1.28.zip) - project sources zip
- [**weblaf-src-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-src-1.28.jar) - project sources jar
- [**weblaf-javadoc-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/weblaf-javadoc-1.28.jar) - JavaDoc jar
- [**ninepatch-editor-1.28.jar**](https://github.com/mgarin/weblaf/releases/download/v1.28/ninepatch-editor-1.28.jar) - executable Nine-Patch Editor jar
- [**weblaf-demo-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-demo-1.29.jar) - executable WebLaF demo jar
- [**weblaf-src-1.29.zip**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-src-1.29.zip) - project sources zip
- [**weblaf-src-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-src-1.29.jar) - project sources jar
- [**weblaf-javadoc-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/weblaf-javadoc-1.29.jar) - JavaDoc jar
- [**ninepatch-editor-1.29.jar**](https://github.com/mgarin/weblaf/releases/download/v1.29/ninepatch-editor-1.29.jar) - executable Nine-Patch Editor jar


Building
Expand Down Expand Up @@ -116,18 +123,18 @@ Here is a full list of usable ANT targets in WebLaF build script:

Example Usage
----------
To install WebLaF you can simply call `WebLookAndFeel.install()` or use one of standard Swing L&F set methods:
To install WebLaF you can simply call `WebLookAndFeel.install()` or use one of standard Swing LaF set methods:
```java
public class UsageExample
{
public static void main ( String[] args )
{
// You should work with UI (including installing L&F) inside Event Dispatch Thread (EDT)
// You should work with UI (including installing LaF) inside Event Dispatch Thread (EDT)
SwingUtilities.invokeLater ( new Runnable ()
{
public void run ()
{
// Install WebLaF as application L&F
// Install WebLaF as application LaF
WebLookAndFeel.install ();

// You can also do that with one of old-fashioned ways:
Expand All @@ -147,27 +154,22 @@ public class UsageExample
```


Roadmap
----------
You can always check what fixes, features and improvements are coming by checking the milestones page:<br>
https://github.com/mgarin/weblaf/issues/milestones
I am not updating them very frequently, but they actually represent features I want to focus on.


Updates
---------
New WebLaF versions appear approximately every month.
New WebLaF versions appear approximately every month with exceptions for big feature releases - those might take a few months but will introduce some major improvements to the library.

Sometimes it might take less time if there are some small but critical issue fixes, sometimes it might take more time if I am going to release some large feature (like it was with `StyleManager`) as I have to modify/add a lot of code and consider a lot of stuff.
Every single update release is published in [GitHub releases section](https://github.com/mgarin/weblaf/releases) and [on official WebLaF site](http://weblookandfeel.com/download/).

In any case WebLaF is not going to disappear anytime soon. Hopefully Swing won't disappear or become deprecated soon as well.
You can always find out which fixes, features and improvements are coming on the milestones page:<br>
https://github.com/mgarin/weblaf/milestones
Some issues or features might get moved to later updates or sometimes released earlier - I will always specify the reason why that happened.


Feedback
----------
I would really appreciate if you will post any found bugs in [issues section](https://github.com/mgarin/weblaf/issues) here, on GitHub.<br>
You can also post them on the library [official site forum](http://weblookandfeel.com/forum/), but that would require registration.<br>
And, as always, you can send any feedback directly to my email: [mgarin@alee.com](mailto:mgarin@alee.com)
Chat with me on Gitter [![Join the chat at https://gitter.im/mgarin/weblaf](https://badges.gitter.im/mgarin/weblaf.svg)](https://gitter.im/mgarin/weblaf?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Post any bugs you find in [issues section](https://github.com/mgarin/weblaf/issues) here, on GitHub<br>
Send your feedback directly to [mgarin@alee.com](mailto:mgarin@alee.com)


Some other screenshots
Expand All @@ -177,8 +179,8 @@ Here are **some** other screenshots of the custom WebLaF components:
`WebTristateCheckBox`<br>
![Tristate checkbox](./screenshots/tristate-checkbox.png)

`WebLinkLabel`<br>
![Link label](./screenshots/link-label.png)
`WebLink`<br>
![Link](./screenshots/link-label.png)

`WebCollapsiblePane`<br>
![Collapsible pane](./screenshots/collapsible-pane.png)
Expand Down
113 changes: 62 additions & 51 deletions build/build.properties
Original file line number Diff line number Diff line change
@@ -1,85 +1,96 @@
# General properties
dev=Mikle Garin
package=com.alee.laf
package=com.weblookandfeel
version.info=${version.number}.${build.number}
library.name=weblaf

# Involved directories
# Project directories
build.dir=build
lib.dir=lib
lic.dir=licenses
dist.dir=dist
modules.dir=modules
artifacts.dir=artifacts

# WebLaF dependencies
slf4j.api.jar=slf4j-api-1.7.7.jar
slf4j.binding.jar=slf4j-simple-1.7.7.jar
rsyntaxtextarea.jar=rsyntaxtextarea.jar
imagescaling.jar=java-image-scaling-0.8.5.jar
# Dependencies
slf4j.api.jar=slf4j-api-1.7.25.jar
slf4j.binding.jar=slf4j-simple-1.7.25.jar
rsyntaxtextarea.jar=rsyntaxtextarea-2.6.0.jar
imagescaling.jar=java-image-scaling-0.8.6.jar
jericho.jar=jericho-html-3.3.jar
xstream.jar=xstream-1.4.7.jar
xstream.jar=xstream-1.4.9.jar
svgsalamander.jar=svg-salamander-1.0.jar

# WebLaF core library
library.core.title=WebLaF core library
library.core.jar.name=${library.name}-core-${version.info}.jar
library.core.jar=${artifacts.dir}/${library.core.jar.name}
library.core.src.dir=${modules.dir}/core/src
library.core.dist.dir=${dist.dir}/core
# Core module
module.core.title=WebLaF core library
module.core.lib=${slf4j.api.jar} ${slf4j.binding.jar} ${imagescaling.jar} ${jericho.jar} ${xstream.jar}
module.core.jar.name=${library.name}-core-${version.info}.jar
module.core.jar=${artifacts.dir}/${module.core.jar.name}
module.core.src.dir=${modules.dir}/core/src
module.core.dist.dir=${dist.dir}/core

# WebLaF UI library
library.ui.title=WebLaF ui library
library.ui.main=com.alee.laf.LibraryInfoDialog
library.ui.jar.name=${library.name}-ui-${version.info}.jar
library.ui.jar=${artifacts.dir}/${library.ui.jar.name}
library.ui.src.dir=${modules.dir}/ui/src
library.ui.dist.dir=${dist.dir}/ui
# Plugin module
module.plugin.title=WebLaF plugin library
module.plugin.jar.name=${library.name}-plugin-${version.info}.jar
module.plugin.jar=${artifacts.dir}/${module.plugin.jar.name}
module.plugin.src.dir=${modules.dir}/plugin/src
module.plugin.dist.dir=${dist.dir}/plugin

# WebLaF demo library
# library.demo.title=WebLaF demo library
# library.demo.main=com.alee.examples.WebLookAndFeelDemo
# library.demo.jar.name=${library.name}-demo-${version.info}.jar
# library.demo.jar=${artifacts.dir}/${library.demo.jar.name}
library.demo.src.dir=${modules.dir}/demo/src
library.demo.dist.dir=${dist.dir}/demo
# UI module
module.ui.title=WebLaF ui library
module.ui.lib=${module.core.lib} ${svgsalamander.jar} ${rsyntaxtextarea.jar}
module.ui.jar.name=${library.name}-ui-${version.info}.jar
module.ui.jar=${artifacts.dir}/${module.ui.jar.name}
module.ui.main=com.alee.laf.information.LibraryInfoDialog
module.ui.src.dir=${modules.dir}/ui/src
module.ui.dist.dir=${dist.dir}/ui

# Demo module
module.demo.title=WebLaF demo library
module.demo.main=com.alee.demo.DemoApplication
module.demo.jar.name=${library.name}-demo-${version.info}.jar
module.demo.jar=${artifacts.dir}/${module.demo.jar.name}
module.demo.src.dir=${modules.dir}/demo/src
module.demo.dist.dir=${dist.dir}/demo

# Sources
sources.zip.name=${library.name}-src-${version.info}.zip
sources.zip=${artifacts.dir}/${sources.zip.name}
sources.jar.name=${library.name}-src-${version.info}.jar
sources.jar=${artifacts.dir}/${sources.jar.name}

# Complete library
library.title=WebLaF
library.main=com.alee.laf.LibraryInfoDialog
library.jar.name=${library.name}-${version.info}.jar
library.jar=${artifacts.dir}/${library.jar.name}
# JavaDoc
javadoc.dir=${artifacts.dir}/javadoc
javadoc.jar.name=${library.name}-javadoc-${version.info}.jar
javadoc.jar=${artifacts.dir}/${javadoc.jar.name}

# Complete library with dependencies
# Complete library
library.complete.title=WebLaF
library.complete.main=com.alee.laf.LibraryInfoDialog
library.complete.jar.name=${library.name}-complete-${version.info}.jar
library.complete.main=com.alee.laf.information.LibraryInfoDialog
library.complete.jar.name=${library.name}-${version.info}.jar
library.complete.jar=${artifacts.dir}/${library.complete.jar.name}

# Demo
demo.title=WebLaF demo application
demo.main=com.alee.examples.WebLookAndFeelDemo
demo.jar.name=${library.name}-demo-${version.info}.jar
demo.jar=${artifacts.dir}/${demo.jar.name}
# Complete library with dependencies
library.complete.deps.title=WebLaF
library.complete.deps.main=com.alee.laf.information.LibraryInfoDialog
library.complete.deps.jar.name=${library.name}-complete-${version.info}.jar
library.complete.deps.jar=${artifacts.dir}/${library.complete.deps.jar.name}

# Nine-patch editor
npe.title=9-patch editor
npe.main=com.alee.extended.ninepatch.NinePatchEditorDialog
npe.jar.name=ninepatch-editor-${version.info}.jar
npe.jar=${artifacts.dir}/${npe.jar.name}
# Demo application
demo.application.title=WebLaF Demo Application
demo.application.main=com.alee.demo.DemoApplication
demo.application.jar.name=DemoApplication-${version.info}.jar
demo.application.jar=${artifacts.dir}/${demo.application.jar.name}
demo.application.jnlp=${build.dir}/weblaf-demo.jnlp

# JavaDoc
javadoc.dir=${artifacts.dir}/javadoc
javadoc.jar.name=${library.name}-javadoc-${version.info}.jar
javadoc.jar=${artifacts.dir}/${javadoc.jar.name}
# Nine-patch editor
ninepatcheditor.title=9-patch editor
ninepatcheditor.main=com.alee.extended.ninepatch.NinePatchEditorFrame
ninepatcheditor.jar.name=NinePatchEditor-${version.info}.jar
ninepatcheditor.jar=${artifacts.dir}/${ninepatcheditor.jar.name}

# XML version file
xml.version.file=${library.ui.src.dir}/com/alee/laf/resources/version.xml
xml.version.file=${module.ui.src.dir}/com/alee/laf/resources/version.xml

# Version updater
vupdater.main=com.alee.managers.version.VersionUpdater
Expand Down
Loading

0 comments on commit 4faefd1

Please sign in to comment.