package eu.ggnet.saft.core.all; import eu.ggnet.saft.api.ui.FxController; import eu.ggnet.saft.core.swing.*; import java.io.File; import java.util.concurrent.Callable; import javafx.scene.layout.Pane; import javax.swing.JPanel; /** * Interface to all Ui's. * * @author oliver.guenther * @param <T> */ public interface UiCreator<T> extends Callable<T> { <R extends JPanel> UiOk<R> choiceSwing(Class<R> panelClazz); <R extends Pane> UiOk<R> choiceFx(Class<R> paneClazz); <R extends FxController> UiOk<R> choiceFxml(Class<R> controllerClass); <D> UiCreator<D> call(Callable<D> callable); Callable<Void> osOpen(); <R extends JPanel> SwingOpenPanel<T, R> openSwing(Class<R> builder); <R extends JPanel> SwingOpenPanel<T, R> openSwing(Class<R> builder, String id); <R extends Pane> SwingOpenPane<T, R> openFx(Class<R> panelClass); <R extends Pane> SwingOpenPane<T, R> openFx(Class<R> panelClass, String id); <R extends FxController> SwingOpenFxml<T, R> openFxml(Class<R> controllerClass); <R extends FxController> SwingOpenFxml<T, R> openFxml(Class<R> controllerClass, String id); UiOk<File> openFileChooser(); UiOk<File> openFileChooser(String title); void exec(); }