Class AbstractMasterController<T extends Modifiable>
java.lang.Object
cz.masci.commons.springfx.controller.AbstractMasterController<T>
- Type Parameters:
T- Item type
@FxmlView("fxml/master-view.fxml")
public abstract class AbstractMasterController<T extends Modifiable>
extends Object
Abstract controller for master-detail view.
Displays table view with items loaded by the item service.
Displays three buttons for actions:
Displays table view with items loaded by the item service.
Displays three buttons for actions:
- new item
- save all
- delete
- Author:
- Daniel Masek
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected javafx.scene.layout.BorderPaneprotected javafx.scene.layout.VBoxprotected javafx.scene.control.TableView<T> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddColumns(javafx.scene.control.TableColumn<T, ?>... columns) Add table view columns.protected abstract voidinit()Delegate titles and columns initialization to subclass.final voidInitialize FX controller.voidonDelete(javafx.event.ActionEvent event) Open alert dialog and delete selected item.voidonNewItem(javafx.event.ActionEvent event) Open edit dialog and save new item defined in edit controller.voidonSaveAll(javafx.event.ActionEvent event) Get modified item list from observable list map and save them all.<E extends AbstractDetailController<T>>
voidsetDetailController(Class<E> detailController) Set the detail controller.final voidsetObservableListMap(ObservableListMap observableListMap) Set observable list map.protected voidsetRowFactory(String styleClass) Sets the row factory
-
Field Details
-
borderPane
protected javafx.scene.layout.BorderPane borderPane -
tableView
-
items
protected javafx.scene.layout.VBox items
-
-
Constructor Details
-
AbstractMasterController
public AbstractMasterController()
-
-
Method Details
-
onNewItem
public void onNewItem(javafx.event.ActionEvent event) Open edit dialog and save new item defined in edit controller.- Parameters:
event- Action event
-
onSaveAll
public void onSaveAll(javafx.event.ActionEvent event) Get modified item list from observable list map and save them all. At the end removes them from observable list map.Open alert dialog.
- Parameters:
event- Action event
-
onDelete
public void onDelete(javafx.event.ActionEvent event) Open alert dialog and delete selected item.- Parameters:
event- Action event
-
setObservableListMap
Set observable list map.It is set by Spring injection.
- Parameters:
observableListMap- Observable list map to set
-
initialize
public final void initialize()Initialize FX controller.Load items from item service and set in table view.
-
addColumns
Add table view columns.- Parameters:
columns- Columns to add
-
setDetailController
Set the detail controller.- Type Parameters:
E- Detail controller type- Parameters:
detailController- Controller to set
-
setRowFactory
Sets the row factory- Parameters:
styleClass- Name of the style class to used in row factory
-
init
protected abstract void init()Delegate titles and columns initialization to subclass.
-