Once you have implemented a node template, an administrator must include the template in a value and relationship graph configuration. The following section provides a node template code sample and instructions for adding it to an existing configuration.
The following is a sample code for a node template:
public class nodeTemplateExample implements NodeTemplateFactory { private static final int DEFAULT_WIDTH = 275; public NodeTemplate build() { NodeTemplate template = new NodeTemplate(); template.setShapeType(ShapeType.ROUNDED_RECTANGLE); NodePanel rootPanel = new NodePanel(); rootPanel.setWidth(DEFAULT_WIDTH); NodePanel mainPanel = new NodePanel(); mainPanel.setPanelLayout(PanelLayout.VERTICAL); mainPanel.setBackgroundColor("#0B2265"); mainPanel.setMargin(MarginType.LEFT, 12); mainPanel.setMargin(MarginType.TOP, 12); mainPanel.setMargin(MarginType.BOTTOM, 12); { NodePanel imagePanel = new NodePanel(); imagePanel.setAlignment(AlignmentType.MIDDLE_LEFT); { NodeImage image = new NodeImage(); image.setBindingSource("/icons/w1.png"); image.setHeight(50); image.setWidth(50); imagePanel.addElement(image); } NodePanel table = new NodePanel(); { NodeDataTable dataTable = new NodeDataTable(); dataTable.setAlignment(AlignmentType.CENTER); dataTable.setNumberOfColumns(2); dataTable.setColumnsWidth(new int[] { 100, 85 }); dataTable.setRowSeparatorColor("#0B2265"); dataTable.setBorderColor("#0B2265"); dataTable.setBackgroundColor("#A5ACAF"); dataTable.setTextColor("#A71930"); dataTable.addRowData("Name:", "${/name}"); dataTable.addRowData("Department:", "${/departmentID}"); dataTable.addRowData("Managed By:", "${/supervisorID}"); dataTable.setMargin(MarginType.BOTTOM, 10); dataTable.setMargin(MarginType.LEFT, 10); dataTable.setMargin(MarginType.RIGHT, 10); table.addElement(dataTable); } NodeExpanderButton expand = new NodeExpanderButton(); expand.setTargetElement(table); expand.setAlignment(AlignmentType.MIDDLE_LEFT); expand.setMargin(MarginType.TOP, 5); expand.setMargin(MarginType.LEFT, 10); expand.setMargin(MarginType.BOTTOM, 5); expand.setBackgroundColor("#A71930"); expand.setHeight(12); expand.setWidth(12); mainPanel.addElement(imagePanel); mainPanel.addElement(expand); mainPanel.addElement(table); } NodePanel indicatorPanel = new NodePanel(); { NodeIndicator indicator = new NodeIndicator(); indicator.setOpacity(1); indicator.setWidth(40); indicator.setHeight(40); indicator.setMargin(MarginType.LEFT, 10); indicator.setAlignment(AlignmentType.CENTER); indicatorPanel.addElement(indicator); } rootPanel.addElement(mainPanel); rootPanel.addElement(indicatorPanel); template.setPanel(rootPanel); return template; } }
The following image shows the result of implementing the above node template:
To include a node template in a graph configuration:
Navigate to Administration > TIBCO EBX® Data Model and Data Visualization Add-on > Value and relationship graphs > Table configuration.
Open the desired table configuration and select the Node Style tab.
In the Node Template field, enter the fully qualified name for the class that implements the template.