CloudIO Docs
  • CloudIO Platform Documentation 3.0
  • Setting up the CloudIO platform
    • Platform Installation
      • Pre-requisites
      • Configuring the database
        • Configuring the Oracle database
        • Configuring the MySQL database
      • Installing JDK
      • Installing the servers
        • Installing and configuring the Tomcat server
        • Installing and configuring the JBoss (WildFly) server
          • Setting up the JBOSS server
          • Deploying the WAR file
      • Setting up the Worker/Apache cluster
        • Setting up the essentials as a non-ROOT user
          • Installing the Tomcat connectors
          • Installing the Tomcat native library
          • Configuring the setup
      • Launching the installer
      • Installing the CloudIO platform
      • Performing post-installation activities
      • Signing in to the CloudIO platform
      • Signing out of the CloudIO platform
      • Working with the Setup page
        • Using additional connections
      • Setting up live connectors
      • Setting up the Active Directory
        • Syncing roles
      • Setting up Instance Types
      • Setting up Security Best Practices
  • Building your first application
    • Building Your First Application
      • Understanding the use case
      • Creating tables
      • Creating datasources
        • Defining attribute properties
        • Assigning roles to a datasource
      • Creating pages
        • Designing the user interface
          • Adding components to the lookup page
          • Adding components to the ticket summary page
          • Adding components to a new ticket page
      • Viewing the final output
  • Understanding the user interface
    • Understanding the User Interface
      • Working with the menu bar
      • Managing user preferences
        • Changing password
      • Working with navigation menu
      • Working with the developer group of the developer role
      • Working with other developer role groups
      • Managing Profiles
  • Working with roles and users
    • Working With Roles And Users
      • Defining a role
      • Understanding the types of roles
      • Creating a user
        • Assigning a role to the user
      • Managing roles and users
  • WORKING WITH DATASOURCES
    • Working with DataSources
      • Understanding the CloudIO data sources
      • Accessing data sources
      • Creating a data source
        • Defining data source details
        • Defining attribute properties
        • Defining a Pre Query
          • Examples of pre-query scripts
          • Pre-query variables
        • Defining a Post Query
          • Passing data from pre-query to post query
        • Defining server side validations
          • Validation sequence
          • Adding conditional defaulting rules
        • Assigning roles to a data source
        • Defining email actions
        • Performing DML operations using stored procedures
          • VALIDATE_ROW procedure
          • POST_QUERY procedure
      • Generating a data source
      • Managing datasources
      • Accessing data sources using REST API
        • Understanding CloudIO REST APIs
        • Authentication
        • Error handling
        • Performing query operations
        • CloudIO REST API playground
  • WORKING WITH PAGES
    • Working with Pages
      • Understanding pages and their types
      • Creating a page
      • Editing a page
        • Managing the version history of the page
      • Working with page components
        • Understanding the components panel
        • Understanding the components of a page
        • Understanding the standard properties of components
      • Working with data stores
        • Adding a data store to a page
        • Defining data store properties
        • Defining triggers and actions for a data store
  • WORKING WITH PATCHES
    • Working with Patches
      • Understanding patches
      • Preparing a datasource patch
      • Preparing a page patch
      • Preparing a role patch
        • Preparing a patch for multiple roles
      • Downloading a patch
      • Uploading a patch
      • Deleting patches
  • Working with additional functionality
    • Working with Additional Functionality
      • Using data sources for advanced functions
        • Adding custom handlers
          • List of methods in ObjectHandler interface
          • Sample code to override the handlerAfterInsertRow method
          • Uploading the compiled Java class
        • Managing activity streams
      • Accessing pages from Oracle EBS
        • Configuring Oracle EBS
        • Configuring CloudIO
      • Customizing the page using CSS
      • Creating PDF documents using MagicBox
        • Understanding widgets
      • Utility methods
      • Generating the output based on a docx template
      • Audit features
  • UI Components
    • Widgets
      • Action Button
      • Aggregate Card
      • Attachment Column
      • Attachment Dropzone
      • Attachment Upload
      • Attribute
      • Auto Breadcrumb
      • Badge
      • Barcode Scanner
      • Bing Map
      • Bing Map Navigator
      • Breadcrumb
      • Breadcrumb Item
      • Button
      • Button Dropdown
      • Button Group
      • Calculated Column
      • Calculated Number Column
      • Calculated String Column
      • Calendar
      • Calendar Heatmap
      • Capture Image
      • Card Body
      • Card Footer
      • Card Header
      • Card Header Icon
      • Card Table
      • Card Table Column
      • Card Table Row Selection
      • Card Wrapper
      • Carousel
      • Case
      • Change Role
      • Char Circle
      • Chart
      • Chart
      • CheckBox
      • Checkbox Column
      • Checkbox Column
      • Col
      • Collaboration
      • Color
      • Color Formatter
      • Color Range
      • Color Select
      • Combination Chart
      • Connection Popover
      • Custom Renderer Column
      • DIV
      • Data Column
      • Data Store
      • DataList
      • Date
      • Date Column
      • Date Column
      • Date Column
      • Date Field
      • Date Search Field
      • Device Popover
      • Drag Source Wrapper
      • Drop Target Wrapper
      • Dynamic Formula Number Column
      • Dynamic Formula String Column
      • EmbedPage
      • Extra Large View
      • Footer
      • Form
      • Form Search
      • Fusion Chart
      • Gantt Chart
      • Gauges
      • Google Drive Attachment Column
      • Google Drive Attachment Dropzone
      • Google Map
      • Google Navigator
      • Grid
      • Grid Child
      • Grid Layout
      • Grid Personalization Menu
      • Gridster Layout
      • Gridster Personalization Menu
      • Group Filter
      • H1
      • H2
      • H3
      • H4
      • H5
      • HTML
      • Handle
      • Heat Map Chart
      • Hidden Column
      • Horizontal Layout
      • Horizontal Section
      • IFrame
      • IOT Canvas
      • IOT Device Drag Source
      • Icon
      • Icon Column
      • Icon Column
      • Icon Menu
      • Icon Select
      • Image
      • Image Cropper
      • Info Box
      • InfoWindow
      • Input
      • Input
      • Kanban Board
      • Kanban Column
      • LOV
      • Large View
      • Lov Column
      • Mapping
      • Mapping
      • Medium View
      • Mirror
      • Monaco Editor
      • Multi Field
      • Multi Level Pie Chart
      • Multi Select LOV
      • Multi Series Chart
      • Node Graph
      • Number
      • Number Column
      • Number Column
      • Number Column
      • Number Field
      • Number Search Field
      • OCR Component
      • Order By Param
      • Organization Chart
      • Output
      • Page
      • Page Fragment
      • Pagination
      • Paragraph
      • Password Field
      • PivotGrid
      • Pointer
      • Popover
      • Popup
      • Progress
      • Progress Bar
      • Progress Bar Color
      • Progress Column
      • Pulse
      • Pulse
      • Query Additional Datasource
      • Query Param
      • Query Param Indicator Icon
      • Quick Filter
      • Quick Filter Attribute
      • RadioBox
      • Rich Text Editor
      • Row
      • Row Action
      • Row Col Column
      • Row Number Column
      • Row Selection Column
      • Row Selection Column
      • Saved Search Menu
      • Scanner Field
      • Scroll Layout
      • Search Attribute
      • Select
      • Select Column
      • Select Column
      • Set Data
      • Set URL Param
      • Sheet Data
      • Side Tab Item
      • Side Tab Panel
      • Signature Pad
      • Simple Alert
      • Slide Toggle
      • Slide Toggle Column
      • Slider
      • Small View
      • Smart Search
      • Smart Search Filter
      • Source Query Param
      • Star Rating
      • String Column
      • String Column
      • String Column
      • Summary
      • Switch
      • Switch Column
      • Switch Column Case
      • Tab Item
      • Tab Panel
      • Tab Panel Control
      • Table
      • Tags Input
      • Text Field
      • Thumbnail
      • Timeline
      • Transaction
      • Tree Column
      • UIView
      • URL Param
      • User Pic Column
      • User Picture
      • Vertical Layout Panel
      • Vertical Section
      • Video
      • Video Recorder
      • Watch
      • Wave
      • Wave Column
      • Wizard Step
      • Wizard Steps
      • Workflow Viewer
      • XY Chart
      • ZoomLine Chart
    • Triggers
      • Trigger After Device Drag
      • Trigger After Device Move
      • Trigger Before Device Drag
      • Trigger Before Device Move
      • Trigger After Delete Record
      • Trigger After Drop
      • Trigger After Insert StoreRecord
      • Trigger After Popup Close
      • Trigger After Popup Open
      • Trigger After Query
      • Trigger After Save
      • Trigger After Save
      • Trigger After Select Query
      • Trigger After Update StoreRecord
      • Trigger After Upload Attachment
      • Trigger Before Create
      • Trigger Before Delete StoreRecord
      • Trigger Before Drop
      • Trigger Before Edit Cell
      • Trigger Before Insert StoreRecord
      • Trigger Before Popup Close
      • Trigger Before Popup Open
      • Trigger Before Query
      • Trigger Before Query
      • Trigger Before Record Change
      • Trigger Before Render
      • Trigger Before Save
      • Trigger Before Save
      • Trigger Before Select Query
      • Trigger Before Update StoreRecord
      • Trigger Before Upload Attachment
      • Trigger On Aggregate Click
      • Trigger On Any Attribute Change
      • Trigger On Attribute Change
      • Trigger On Cell Click
      • Trigger On Change
      • Trigger On Click
      • Trigger On DataStore State Change
      • Trigger On Day Click
      • Trigger On Device Click
      • Trigger On Device Hover
      • Trigger On Dismiss
      • Trigger On Drag
      • Trigger On Drag End
      • Trigger On Drag Start
      • Trigger On Drop
      • Trigger On Enter Key Press
      • Trigger On Event Click
      • Trigger On Event Drop
      • Trigger On Event Resize
      • Trigger On First Visit
      • Trigger On Key Press
      • Trigger On Mouse Over
      • Trigger On No Data Action Button Click
      • Trigger On Page Active
      • Trigger On Page Exit
      • Trigger On Page Init
      • Trigger On Page Switch
      • Trigger On Record Active
      • Trigger On Row Click
      • Trigger On Row Selection Change
      • Trigger On Scan
      • Trigger On Tab Active
      • TriggerOnCellDoubleClick
      • TriggerOnRowDoubleClick
    • Actions
      • Abort
      • Abort If DataStore Is Empty
      • Action Copy
      • Action Download Attachment
      • Action Group
      • Action Search
      • Add Breadcrumb Item
      • Add Connection
      • Add Smart Search Filters
      • Add Smart Search Filters From Aggregate
      • After Duplicate Transaction StoreRecord
      • Case
      • Change Language
      • Choose Attachment
      • Clear All Filters
      • Clear All Query Params
      • Clear All StoreRecord Messages
      • Clear DataSource
      • Clear Grid Sort
      • Clear Query Param
      • Clear Smart Search Filters
      • Clear StoreRecord Message
      • Confirm Message
      • Copy StoreRecord
      • Copy StoreRecord In Loop
      • Delete Current Record
      • Delete Selected Records
      • Delete StoreRecord In Loop
      • Deselect All Records
      • Deselect StoreRecord
      • Drag Drop Operation
      • Duplicate Item
      • Duplicate StoreRecord
      • Duplicate Transaction
      • Eval And Execute Expression
      • Export Data
      • Export To Google Sheet
      • Geo Location
      • Go Back
      • Go To First Field
      • Go To First Record
      • Go To Item
      • Go To Last Record
      • Go To Next Record
      • Go To Page
      • Go To Previous Record
      • Hide Item
      • Hide Popup
      • Import Data
      • Insert Record
      • Invoke DataSource
      • Invoke Trigger
      • Loop
      • Loop Records
      • Multi Sheet Export
      • Open URL
      • Print Props To Console
      • Print To Console
      • Query DataSource
      • Query DataSource From Aggregate
      • Reduce
      • Refresh DataSource
      • Refresh Navigation Menu
      • Register State
      • Remove Connection
      • Reset DataStore
      • Reset StoreRecord
      • Save DataSource
      • Save Transaction
      • Save Video Recording
      • Select All Records
      • Select StoreRecord
      • Server Validate
      • Set As Current StoreRecord
      • Set Default Value
      • Set Message On StoreRecord
      • Set Property
      • Set Query Filter Value
      • Set Select Attributes
      • Set Value
      • Show Item
      • Show Message
      • Show Popup
      • Silent Sign Out
      • Start Video Recording
      • Stop Video Recording
      • Switch
      • Update Item Number Property
      • Update Item String Property
      • Update StoreRecord
      • Update StoreRecord In Loop
      • Wait
      • Wait For LOV
Powered by GitBook
On this page
  • Available methods:
  • Sample widget snippets

Was this helpful?

  1. Working with additional functionality
  2. Working with Additional Functionality

Creating PDF documents using MagicBox

CloudIO supports MagicBox, a Java tool to create PDF documents. Its “Design and Data Centric” approach allows you to create PDF documents with minimal code that is easy to write and understand.

  • To create a PDF page, refer to the code below:

MagicBox magicBox = MagicBox.getInstance(); 
PDFPage page = magicBox.createPage();
  • To save a PDF to stream, refer to the code below:

magicBox.save(outputStream);

You can add the code to create PDF documents in the Java Snippets page.

The platform supports a list of widgets for page formatting. A widget is the parent type to use the available child methods, such as, Div, Image, and many more.

Available methods:

void setWidth(float width); 
float getWidth(); 
float getOffsetWidth(); 
void setHeight(float height); 
float getHeight(); 
float getOffsetHeight(); 
void setStartX(float startX); 
float getStartX(); 
void setStartY(float startY); 
float getStartY(); 
void resetStartY(float startY); 
void setWidthPercentage(int widthPerc); 
void setMarginTop(float marginTop); 
void appendMarginTop(float mt); 
float getMarginTop(); 
void setMarginRight(float marginRight); 
float getMarginRight(); 
void setMarginLeft(float marginLeft); 
void appendMarginLeft(float ml); 
float getMarginLeft();
void setParent(MBWidget parent); 
MBWidget getParent(); 
Void setIgnoreNewPage(Boolean ignoreNewPage) ; 
Boolean isIgnoreNewPage();

Sample widget snippets

import java.awt.Color; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.util.ArrayList; 
import java.util.List; 
import org.apache.pdfbox.pdmodel.font.PDType1Font; 
import io.cloudio.pdfutil.magicbox.MagicBox; 
import io.cloudio.pdfutil.magicbox.widgets.PDFPage; 
import io.cloudio.pdfutil.magicbox.widgets.images.Image; 
import io.cloudio.pdfutil.magicbox.widgets.layouts.Div; 
import io.cloudio.pdfutil.magicbox.widgets.layouts.FormPanel; 
import io.cloudio.pdfutil.magicbox.widgets.tables.DataTable; 
import io.cloudio.pdfutil.widgets.widgets.tables.Panel; 
import io.cloudio.pdfutil.magicbox.widgets.tables.Table.FontAlignment; 
import io.cloudio.pdfutil.magicbox.widgets.tables.components.CellConfig; 
import io.cloudio.pdfutil.magicbox.widgets.tables.components.RowData; 
import io.cloudio.pdfutil.magicbox.widgets.text.TextBox; 
import io.cloudio.pdfutil.magicbox.widgets.text.PageCounter; 
import io.cloudio.pdfutil.magicbox.widgets.layouts.Footer; 
import io.cloudio.pdfutil.magicbox.widgets.layouts.Header; 
static Color primaryColor = Color.decode("#057dcd"); 
static Color secondaryColor = Color.decode("#057dcd"); 
static Color textPrimaryColor = Color.decode("#464646"); 
static PDType1Font primaryFont = PDType1Font.HELVETICA; 
public static void main(String[] args) throws Exception { 
    MagicBox magicBox = new MagicBox(); 
    PDFPage page = magicBox.createPage(); 

    //Footer 
    Footer footer = new Footer(); 
    footer.borders(true);

    // Page Counter 
    PageCounter pc = new PageCounter(); 
    pc.setMarginLeft(250); 
    pc.setMarginTop(-5); 
    pc.setExpression("Page " + PageCounter.CURRENT_PAGE_INDEX + " of " + PageCounter.TOTAL_PAGES); 
    footer.appendChild(pc); 
    page.addWidget(footer); 
    //addLogo(page, "Local path/URL to your logo")

    RowData formPanel1Data = new RowData(); 
    formPanel1Data.add("cutOff", "Monday"); 
    formPanel1Data.add("delivery", "By Thursday"); 
    formPanel1Data.add("weight", "500 lbs. or $50.00"); 
    formPanel1Data.add("little", " "); 
    formPanel1Data.add("customerNumber", "50950"); 
    formPanel1Data.add("customerBook", "ENCO006342"); 
    addFormPanel1(page, formPanel1Data); 
    List < RowData > rows = new ArrayList(); 
    RowData row1 = new RowData(); 
    row1.add("superSpan", "29 GA. GALVALUME Plus"); 
    row1.add("grade", "(AZ55 Grade 80)"); 
    row1.add("priceSqr", "$95.25"); 
    row1.add("priceLft", "$3.04"); 
    rows.add(row1); 
    RowData row2 = new RowData(); 
    row2.add("superSpan", "29 GA. GALVALUME Plus"); 
    row2.add("grade", "(AZ55 Grade 80)"); 
    row2.add("priceSqr", "$125.50"); 
    row2.add("priceLft", "$4.00"); 
    rows.add(row2); 
    RowData row3 = new RowData(); 
    row3.add("superSpan", "26 GA. Commodity Colors"); 
    row3.add("grade", "(AZ55 Grade 80)"); 
    row3.add("priceSqr", "$125.75"); 
    row3.add("priceLft", "$3.92"); 
    rows.add(row3); 
    addDataTable1(page, primaryColor, 30 f, rows); 
    List < RowData > commerialPaneldata = getTable2Data(); 
    addCommercialPanelTable(page, commerialPaneldata); 
    addDataTable2(page, secondaryColor, 10, rows); 
    response.setHeader("Content-Disposition","attachment; filename=\"test.pdf\"");
    response.setContentType("application/pdf"); 
    magicBox.save(response.getOutputStream()); 
} 

private static void addLogo(PDFPage page, String logoPath) { 
    Image headerLogo = new Image(logoPath, 200, 96); 
    float mr = (page.getWidth() - headerLogo.getWidth()) / 2 .5 f; 
    headerLogo.setMarginLeft(mr); 
    page.addWidget(headerLogo); 
} 

private static void addFormPanel1(PDFPage page, RowData row) { 
    addFormPanel1Header(page); 
    FormPanel formPanel = new FormPanel(); 
    formPanel.setMarginTop(20); 
    formPanel.setMarginLeft(20); 
    Panel panel1 = formPanel.createPanel(); 
    panel1.setHeaderFontSize(8); 
    panel1.setCellPadding(0); 
    panel1.setCellFontSize(8); 
    panel1.setCellFontColor(textPrimaryColor); 
    panel1.setHeaderFontColor(textPrimaryColor); 
    panel1.setCellFontAlignment(FontAlignment.LEFT); 
    panel1.setHeaderFontAlignment(FontAlignment.LEFT); 
    List < CellConfig > cellConfigs = new ArrayList(); 
    CellConfig c = new CellConfig("cutOff", "Cutoff"); 
    cellConfigs.add(new CellConfig("cutOff", "Cutoff")); 
    cellConfigs.add(new CellConfig("delivery", "Delivery")); 
    cellConfigs.add(new CellConfig("weight", "Weight min.")); 
    panel1.setCellConfigs(cellConfigs); 
    panel1.setData(row); 
    Panel panel2 = formPanel.createPanel(); 
    panel2.setHeaderFontSize(8); 
    panel2.setCellPadding(0); 
    panel2.setCellFontSize(8); 
    panel2.setCellFontColor(textPrimaryColor); 
    panel2.setHeaderFontColor(textPrimaryColor); 
    panel2.setCellFontAlignment(FontAlignment.LEFT); 
    panel2.setHeaderFontAlignment(FontAlignment.LEFT); 
    List < CellConfig > cellConfigs2 = new ArrayList(); 
    cellConfigs2.add(new CellConfig("little", "Little Rock, AR 72204")); 
    cellConfigs2.add(new CellConfig("customerNumber", "Customer Number")); 
    cellConfigs2.add(new CellConfig("customerBook", "Customer Book")); 
    panel2.setCellConfigs(cellConfigs2); 
    panel2.setData(row); 
    page.addWidget(formPanel); 
}

private static void addFormPanel1Header(PDFPage page) { 
    Div div = new Div(); 
    div.setWidth(page.getOffsetWidth()); 
    div.setMarginTop(30); 
    Div div1 = new Div(); 
    div1.setWidthPercentage(50); 
    div.appendChild(div1); 
    TextBox deliveryText = new TextBox("DELEVERY"); 
    deliveryText.setFontColor(secondaryColor); 
    deliveryText.setFontSize(10); 
    deliveryText.setFontType(primaryFont); 
    div1.appendChild(deliveryText); 
    Div separator = getSeparator(100, 200); 
    div1.appendChild(separator); 
    Div div2 = new Div(); 
    div2.setWidthPercentage(50); 
    div2.setMarginLeft(div.getWidth() / 2); 
    div.appendChild(div2); 
    TextBox encoreText = new TextBox("ENCORE STEEL BUILDINGS LLC"); 
    encoreText.setFontColor(secondaryColor); 
    encoreText.setFontSize(10); 
    encoreText.setFontType(primaryFont); 
    div2.appendChild(encoreText); 
    div2.appendChild(separator); 
    page.addWidget(div); 
}

private static void addDataTable1(PDFPage page, Color color, float marginTop, List < RowData > rows) { 
    DataTable table = new DataTable(); 
    table.setMarginTop(marginTop); 
    table.setBorderLineSize(0 .1 f; 
    table.setBorderColor(color); 
    table.setHeaderBackgroundColor(color); 
    table.setCellFontColor(textPrimaryColor); 
    table.setHeaderFontColor(Color.WHITE); 
    table.setCellFontSize(8); 
    table.setCellAlignment(FontAlignment.CENTER); 
    table.setHeaderFontSize(8); 
    List < CellConfig > cellConfigs = new ArrayList(); 
    cellConfigs.add(new CellConfig("superSpan", "SUPER SPAN / LOW RIB")); 
    cellConfigs.add(new CellConfig("grade", "Grade")); 
    cellConfigs.add(new CellConfig("priceSqr", "PRICE/SQR")); 
    cellConfigs.add(new CellConfig("priceLft", "PRICE/LFT")); 
    table.setCellConfigs(cellConfigs); 
    table.setRows(rows); 
    page.addWidget(table); 
}

private static void addCommercialPanelTable(PDFPage page, List < RowData > rows) { 
    addCommercialPanelHeader(page); 
    DataTable table = new DataTable(); 
    table.setMarginTop(0); 
    table.setBorderLineSize(0 .1 f); 
    table.setCellFontSize(8); 
    table.setBorderColor(Color.WHITE); 
    table.setCellPadding(2); 
    table.setCellFontColor(textPrimaryColor); 
    table.setHeaderBackgroundColor(Color.WHITE); 
    table.setFontType(primaryFont); 
    table.setCellAlignment(FontAlignment.LEFT); 
    List < CellConfig > cellConfigs = new ArrayList(); 
    cellConfigs.add(new CellConfig("superSpan", "")); 
    cellConfigs.add(new CellConfig("grade", "")); 
    cellConfigs.add(new CellConfig("priceSqr", ""));
     cellConfigs.add(new CellConfig("priceLft", ""));
     table.setCellConfigs(cellConfigs); 
    table.setRows(rows); 
    page.addWidget(table); 
}

private static void addCommercialPanelHeader(PDFPage page) { 
    Div div = new Div(); 
    div.setWidthPercentage(100); 
    div.setMarginTop(30); 
    TextBox textBox = new TextBox("COMMERCIAL/INDUSTRIAL PANELS"); 
    textBox.setFontSize(10); 
    textBox.setFontColor(secondaryColor); 
    textBox.setFontType(primaryFont); 
    div.appendChild(textBox); 
    Div line = getSeparator(200, page.getOffsetWidth()); 
    div.appendChild(line); 
    page.addWidget(div); 
}

private static void addDataTable2(PDFPage page, Color color, float marginTop, List < RowData > rows) { 
    TextBox textBox = new TextBox("SUPER SPAN X / LOW RIB X / MONARCH"); 
    textBox.setFontSize(10); 
    textBox.setFontType(PDType1Font.HELVETICA); 
    textBox.setFontColor(secondaryColor); 
    textBox.setMarginTop(30); 
    page.addWidget(textBox); 
    addDataTable1(page, color, marginTop, rows); 
}

private static List < RowData > getTable2Data() { 
    List < RowData > rows = new ArrayList(); 
    RowData row1 = new RowData(); 
    row1.add("superSpan", "29 GA. GALVALUME Plus"); 
    row1.add("grade", "(AZ55 Grade 80)"); 
    row1.add("priceSqr", "$9999.00"); 
    row1.add("priceLft", "$318.95"); 
    rows.add(row1); 
    RowData row2 = new RowData(); 
    row2.add("superSpan", "26 GA. SMP Colors"); 
    row2.add("grade", "(AZ55 Grade 80)"); 
    row2.add("priceSqr", "$131.50"); 
    row2.add("priceLft", "$132.50"); 
    rows.add(row2); 
    RowData row3 = new RowData(); 
    row3.add("superSpan", "22 GA. Poly Polar White"); 
    row3.add("grade", "(AZ55 Grade 80)"); 
    row3.add("priceSqr", "$201.95"); 
    row3.add("priceLft", "$3.92"); 
    rows.add(row3); 
    RowData row4 = new RowData(); 
    row4.add("superSpan", "22 GA. Poly Polar White"); 
    row4.add("grade", "(AZ55 Grade 80)"); 
    row4.add("priceSqr", "$201.95"); 
    row4.add("priceLft", "$3.92"); 
    rows.add(row4); 
    RowData row5 = new RowData(); 
    row5.add("superSpan", "29 GA. GALVALUME Plus"); 
    row5.add("grade", "(AZ55 Grade 80)"); 
    row5.add("priceSqr", "$9999.00"); 
    row5.add("priceLft", "$318.95"); 
    rows.add(row5); 
    return rows; 
}

private static Div getSeparator(float length1, float length2) { 
    Div div = new Div(); 
    div.setMarginTop(30); 
    Div div1 = new Div(); 
    div1.setWidth(length1); 
    div1.setHeight(2); 
    div1.setBackgroundColor(secondaryColor); 
    div.appendChild(div1); 
    Div div2 = new Div(); 
    div2.setWidth(length2); 
    div2.setHeight(1); 
    div2.setMarginTop(1); 
    div2.setBackgroundColor(secondaryColor); 
    div.appendChild(div2);    
    return div; 
}
main(null);
PreviousCustomizing the page using CSSNextUnderstanding widgets

Last updated 4 years ago

Was this helpful?