/******************************************************************************** * Copyright (c) 2019-2020 [Open Lowcode SAS](https://openlowcode.com/) * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0 . * * SPDX-License-Identifier: EPL-2.0 ********************************************************************************/ package org.openlowcode.client.graphic.widget; import java.io.IOException; import org.openlowcode.client.graphic.CPageData; import org.openlowcode.client.graphic.CPageNode; import org.openlowcode.client.graphic.CPageSignifPath; import org.openlowcode.client.graphic.Callback; import org.openlowcode.client.runtime.PageActionManager; import org.openlowcode.tools.messages.MessageReader; import org.openlowcode.tools.messages.OLcRemoteException; import org.openlowcode.tools.structure.DataElt; import org.openlowcode.tools.structure.DataEltType; import javafx.geometry.Orientation; import javafx.scene.Node; import javafx.scene.control.Separator; import javafx.scene.control.TabPane; import javafx.stage.Window; /** * A separator widget that draws a line, typically between two page nodes inside * a component band * * @author <a href="https://openlowcode.com/" rel="nofollow">Open Lowcode * SAS</a> * */ public class CSeparator extends CPageNode { private boolean horizontal; /** * creates a separator from a message from the server * * @param reader message reader from the server * @param parentpath parent path * @throws OLcRemoteException if anything bad happens on the server * @throws IOException if any transmission error appears while reading * the message */ public CSeparator(MessageReader reader, CPageSignifPath parentpath) throws OLcRemoteException, IOException { super(reader, parentpath); this.horizontal = reader.returnNextBooleanField("HZL"); reader.returnNextEndStructure("SPR"); } @Override public CPageNode deepcopyWithCallback(Callback callback) { throw new RuntimeException("Not yet implemented"); } @Override public Node getNode( PageActionManager actionmanager, CPageData inputdata, Window parentwindow, TabPane[] parenttabpanes, CollapsibleNode nodetocollapsewhenactiontriggered) { Separator separator = new Separator(); if (!horizontal) separator.setOrientation(Orientation.VERTICAL); return separator; } @Override public DataElt getDataElt(DataEltType type, String eltname, String objectdataloc) { throw new RuntimeException("Not yet implemented"); } @Override public void forceUpdateData(DataElt dataelt) { throw new RuntimeException("Not yet implemented"); } @Override public void mothball() { // do nothing } }