Search in sources :

Example 1 with Type

use of eu.ggnet.saft.core.ui.builder.UiWorkflowBreak.Type in project dwoss by gg-net.

the class BuilderUtil method wrapJPanel.

/**
 * Call from EventQueue: Wraps the expected uiparameter.jpanel in the expected pane with a swingnode as children.
 * Also updates the global parent mapping and the prefered size of the pane
 *
 * @param in the uiparamter
 * @return the uiparamter
 */
static UiParameter wrapJPanel(UiParameter in) {
    Objects.requireNonNull(in.getPane(), "Pane in UiParameter is null");
    Objects.requireNonNull(in.getJPanel(), "JPanel in UiParameter is null");
    if (in.getPane().getChildren().isEmpty())
        throw new IllegalStateException("Supplied Pane has no children, but a SwingNode is expected");
    SwingNode sn = in.getPane().getChildren().stream().filter(n -> n instanceof SwingNode).map(n -> (SwingNode) n).findAny().orElseThrow(() -> new IllegalStateException("No Node of the supplied Pane is of type SwingNode"));
    sn.setContent(in.getJPanel());
    StaticParentMapperJavaFx.map(in.getJPanel(), sn);
    Dimension preferredSize = in.getJPanel().getPreferredSize();
    L.debug("Setting Swing Size to JavaFx {}", preferredSize);
    in.getPane().setPrefHeight(preferredSize.getHeight());
    in.getPane().setPrefWidth(preferredSize.getWidth());
    return in;
}
Also used : Button(javafx.scene.control.Button) Scene(javafx.scene.Scene) java.util(java.util) ModalityType(java.awt.Dialog.ModalityType) LoggerFactory(org.slf4j.LoggerFactory) JFXPanel(javafx.embed.swing.JFXPanel) ResultProducer(eu.ggnet.saft.api.ui.ResultProducer) FxController(eu.ggnet.saft.api.ui.FxController) FxSaft.loadView(eu.ggnet.saft.core.ui.FxSaft.loadView) FXMLLoader(javafx.fxml.FXMLLoader) eu.ggnet.saft.core.ui(eu.ggnet.saft.core.ui) Type(eu.ggnet.saft.core.ui.builder.UiWorkflowBreak.Type) WeakReference(java.lang.ref.WeakReference) Pane(javafx.scene.layout.Pane) Color(javafx.scene.paint.Color) Dialog(javafx.scene.control.Dialog) Logger(org.slf4j.Logger) java.util.concurrent(java.util.concurrent) IOException(java.io.IOException) WindowAdapter(java.awt.event.WindowAdapter) Collectors(java.util.stream.Collectors) WindowEvent(java.awt.event.WindowEvent) java.awt(java.awt) Stage(javafx.stage.Stage) BorderPane(javafx.scene.layout.BorderPane) Image(javafx.scene.image.Image) eu.ggnet.saft(eu.ggnet.saft) SwingNode(javafx.embed.swing.SwingNode) javax.swing(javax.swing) SwingNode(javafx.embed.swing.SwingNode)

Aggregations

eu.ggnet.saft (eu.ggnet.saft)1 FxController (eu.ggnet.saft.api.ui.FxController)1 ResultProducer (eu.ggnet.saft.api.ui.ResultProducer)1 eu.ggnet.saft.core.ui (eu.ggnet.saft.core.ui)1 FxSaft.loadView (eu.ggnet.saft.core.ui.FxSaft.loadView)1 Type (eu.ggnet.saft.core.ui.builder.UiWorkflowBreak.Type)1 java.awt (java.awt)1 ModalityType (java.awt.Dialog.ModalityType)1 WindowAdapter (java.awt.event.WindowAdapter)1 WindowEvent (java.awt.event.WindowEvent)1 IOException (java.io.IOException)1 WeakReference (java.lang.ref.WeakReference)1 java.util (java.util)1 java.util.concurrent (java.util.concurrent)1 Collectors (java.util.stream.Collectors)1 JFXPanel (javafx.embed.swing.JFXPanel)1 SwingNode (javafx.embed.swing.SwingNode)1 FXMLLoader (javafx.fxml.FXMLLoader)1 Scene (javafx.scene.Scene)1 Button (javafx.scene.control.Button)1