This script creates a new tabbed pane in a form view.
Defaults for this script are set for the Pubchem demo data tree in the sample project included in IJC.
import com.chemaxon.ijc.form.api.* import com.chemaxon.ijc.form.api.renderers.* import com.chemaxon.ijc.commons.datarequest.api.FieldReference ety = dataTree.rootVertex.entity // Main script body form = new Form() tabbedPane = createTabbedPaneWidget() label = createLabelWidget("TabbedPane demo") firstTab = tabbedPane.getTabAt(0) firstTab.addWidget(label) firstTab.addWidget(createTableWidget()) firstTab.addWidget(createTextBoxWidget()) secondTab = tabbedPane.getTabAt(1) secondTab.addWidget(label) secondTab.addWidget(createMolWidget()) secondTab.addWidget(createSheetWidget()) secondTab.setBackgroundColor("#FFFFFF") form.addWidget(tabbedPane) DFViews.create(dataTree, form, "TabbedPane form") // widgets creation methods def createTabbedPaneWidget() { tabbedPane = new TabbedPaneWidget("First tab") tabbedPane.setSize(410, 630) tabbedPane.addTab(new PanelWidget("Second tab")) return tabbedPane } def createLabelWidget(label) { widget = new LabelWidget(label) widget.setSize(160, 50) widget.setFont(new Font("Arial", Font.Style.BOLD, 16)) return widget } def createTableWidget() { table = new TableWidget() table.setPosition(0, 50) table.setSize(400, 500) table.setRowHeight(60) table.addColumn(newFieldReference("CdId"), new IntegerRenderer()) structureColumn = table.addColumn(newFieldReference("Structure"), new StructureRenderer()) structureColumn.setColumnWidth(150) table.addColumn(newFieldReference("Formula"), new TextRenderer()) table.addColumn(newFieldReference("Donors"), new IntegerRenderer()) return table } def createTextBoxWidget() { widget = new TextBoxWidget() widget.setPosition(0, 550) widget.setSize(400, 50) widget.setField(newFieldReference("IUPAC name")) widget.setRenderer(new TextRenderer()) return widget } def createMolWidget() { widget = new MolWidget() widget.setPosition(0, 50) widget.setSize(300, 300) widget.setField(newFieldReference("Structure")) widget.setRenderer(new StructureRenderer()) return widget } def createSheetWidget() { sheet = new SheetWidget() sheet.setPosition(0, 350) sheet.setSize(300, 250) sheet.addRow(newFieldReference("CdId"), new IntegerRenderer()) sheet.addRow(newFieldReference("Structure"), new StructureRenderer()) sheet.addRow(newFieldReference("Formula"), new TextRenderer()) sheet.addRow(newFieldReference("Donors"), new IntegerRenderer()) return sheet } def newFieldReference(name) { field = ety.fields.items.find { it.name == name } new FieldReference(ety.id, field.id) }
Versions: This script has been tested on IJC version 6.1. This script will not work in IJC versions prior 6.1.