edvin/tornadofx-controlsfx


ControlsFX Builder extensions and utilities for TornadoFX

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.edvin:tornadofx-controlsfx:'
	}
	dependencies {
		implementation("com.github.edvin:tornadofx-controlsfx:")
	}
	<dependency>
	    <groupId>com.github.edvin</groupId>
	    <artifactId>tornadofx-controlsfx</artifactId>
	    <version></version>
	</dependency>

                            
    libraryDependencies += "com.github.edvin" % "tornadofx-controlsfx" % ""
        
        

                            
    :dependencies [[com.github.edvin/tornadofx-controlsfx ""]]
        
        

Readme


TornadoFX-ControlsFX

ControlsFX builder extensions and utilities for TornadoFX.

Maven Central Apache License

Add TornadoFX-ControlsFX to your project

Maven

<dependency>
    <groupId>no.tornado</groupId>
    <artifactId>tornadofx-controlsfx</artifactId>
    <version>0.1</version>
</dependency>

Gradle

compile 'no.tornado:tornadofx-controlsfx:0.1'

Examples

TableView Filter

class TableFilterView : View() {
    override val root = tableview(patients) {

        column("FIRST NAME", Patient::firstName)
        column("LAST NAME", Patient::lastName)
        column("GENDER", Patient::gender) {
            columnfilter {
                exceptValue(Gender.FEMALE)
            }
        }
        column("BIRTHDAY", Patient::birthday)
        column("AGE", Patient::age)
        column("WBCC", Patient::whiteBloodCellCount)

        tableFilter.executeFilter()
    }
}

BreadCrumbBar

class BreadCrumbPane: View() {

    var targetCrumb: TreeItem<String>? = null

    override val root = breadcrumbbar<String> {
        treeitem("Alpha") {
            treeitem("Beta") {
                targetCrumb = treeitem("Gamma")
            }
            treeitem("Zeta")
        }

        selectedCrumb = targetCrumb
    }
}

Contributing

I might have missed some or may have included extraneous utilities, but any help to create a TornadoFX DSL for the following is welcome.

Please read JavaDocs for full list of controls: https://controlsfx.bitbucket.io/

  • [X] BreadCrumbBar
  • [X] Borders
  • [X] CheckListView
  • [X] CheckComboBox
  • [X] CheckTreeView
  • [X] Glyphs
  • [X] CustomPasswordField
  • [X] CustomTextField
  • [ ] Picker
  • [X] ProgressDialog
  • [X] ExceptionDialog
  • [X] TableFilter
  • [X] RangeSlider
  • [ ] SpreadsheetView
  • [X] StatusBar
  • [X] ToggleSwitch
  • [X] WorldMapView
  • [X] SegmentedBar
  • [X] Rating
  • [X] PropertySheet
  • [X] PopOver
  • [X] Plus/Minus Slider
  • [X] Notifications
  • [X] NotificationsPane
  • [X] MasterDetailPane
  • [X] MaskerPane
  • [X] HyperlinkLabel
  • [ ] GridView
  • [X] FontAwesome
  • [X] Decorator
  • [X] InfoOverlay
  • [X] ListSelectionView
  • [X] Prefix Selection Combobox/Choicebox
  • [X] SnapshotView
  • [X] HiddenSidesPane
  • [X] LoginDialog
  • [X] CommandLinksDialog