Example usage for java.awt Container setLayout

List of usage examples for java.awt Container setLayout

Introduction

In this page you can find the example usage for java.awt Container setLayout.

Prototype

public void setLayout(LayoutManager mgr) 

Source Link

Document

Sets the layout manager for this container.

Usage

From source file:edu.harvard.i2b2.explorer.ui.MainComposite.java

/**
 * @param args/*from   w  ww  . ja  v a 2 s  .  com*/
 */
@SuppressWarnings("serial")
protected Control createContents(Composite parent) {
    GridLayout topGridLayout = new GridLayout(1, false);
    topGridLayout.numColumns = 1;
    topGridLayout.marginWidth = 2;
    topGridLayout.marginHeight = 2;
    setLayout(topGridLayout);

    Composite oTreeComposite = new Composite(this, SWT.NONE);
    oTreeComposite.setLayout(new FillLayout(SWT.VERTICAL));
    GridData gridData2 = new GridData();
    gridData2.horizontalAlignment = GridData.FILL;
    gridData2.verticalAlignment = GridData.FILL;
    gridData2.grabExcessHorizontalSpace = true;
    gridData2.grabExcessVerticalSpace = true;
    oTreeComposite.setLayoutData(gridData2);

    // the horizontal sash form
    SashForm horizontalForm = new SashForm(oTreeComposite, SWT.HORIZONTAL);
    horizontalForm.setOrientation(SWT.HORIZONTAL);
    horizontalForm.setLayout(new GridLayout());

    if (drawLeft) {
        // left sash form
        SashForm leftVerticalForm = new SashForm(horizontalForm, SWT.VERTICAL);
        leftVerticalForm.setOrientation(SWT.VERTICAL);
        leftVerticalForm.setLayout(new GridLayout());

        if (bWantStatusLine) {
            slm.createControl(this, SWT.NULL);
        }
        slm.setMessage("i2b2 Explorer Version 2.0");
        slm.update(true);

        // Create the tab folder
        final TabFolder oTabFolder = new TabFolder(leftVerticalForm, SWT.NONE);

        // Create each tab and set its text, tool tip text,
        // image, and control
        TabItem oTreeTab = new TabItem(oTabFolder, SWT.NONE);
        oTreeTab.setText("Concept trees");
        oTreeTab.setToolTipText("Hierarchically organized patient characteristics");
        oTreeTab.setControl(getConceptTreeTabControl(oTabFolder));

        // Select the first tab (index is zero-based)
        oTabFolder.setSelection(0);

        // Create the tab folder
        final TabFolder queryRunFolder = new TabFolder(leftVerticalForm, SWT.NONE);

        TabItem previousRunTab = new TabItem(queryRunFolder, SWT.NONE);
        previousRunTab.setText("Patient Sets and Previous Queries");
        previousRunTab.setToolTipText("Patient Sets & Previous Queries");
        final Composite runComposite = new Composite(queryRunFolder, SWT.EMBEDDED);
        previousRunTab.setControl(runComposite);

        /* Create and setting up frame */
        ////for mac fix
        //if ( System.getProperty("os.name").toLowerCase().startsWith("mac"))
        //SWT_AWT.embeddedFrameClass = "sun.lwawt.macosx.CViewEmbeddedFrame";
        Frame runFrame = SWT_AWT.new_Frame(runComposite);
        Panel runPanel = new Panel(new BorderLayout());
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            log.debug("Error setting native LAF: " + e);
        }

        runFrame.add(runPanel);
        JRootPane runRoot = new JRootPane();
        runPanel.add(runRoot);

        // Select the first tab (index is zero-based)
        queryRunFolder.setSelection(0);
    }

    SashForm verticalForm = new SashForm(horizontalForm, SWT.VERTICAL);
    verticalForm.setOrientation(SWT.VERTICAL);
    verticalForm.setLayout(new GridLayout());

    // put a tab folder in it...
    tabFolder = new TabFolder(verticalForm, SWT.NONE);

    Composite patientNumsComposite = new Composite(verticalForm, SWT.NONE);
    GridData patientNumData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    patientNumData.grabExcessHorizontalSpace = true;
    patientNumsComposite.setLayoutData(patientNumData);
    patientNumsComposite.setLayout(null);

    Label patientset = new Label(patientNumsComposite, SWT.NONE);
    patientset.setText("Patient Set: ");
    patientset.setBounds(5, 9, 60, 22);

    patientSetText = new Text(patientNumsComposite, SWT.SINGLE | SWT.BORDER);
    patientSetText.setText("");
    patientSetText.setEditable(false);
    patientSetText.setBounds(70, 5, 300, 35);

    leftArrowButton = new Button(patientNumsComposite, SWT.PUSH);
    leftArrowButton.setText("<<<");
    leftArrowButton.setEnabled(false);
    leftArrowButton.setBounds(380, 5, 38, 22);
    leftArrowButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            runMode = -1;
            ConceptTableModel i2b2Model = (ConceptTableModel) table.getModel();
            i2b2Model.fillDataFromTable(rowData);
            if (rowData.size() == 0) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(0);
                    }
                });
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("The set up table is empty.");
                mBox.open();
                return;
            }

            String patientSetStr = patientSetText.getText();
            if (patientSetStr.equals("") && !isAll) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(0);
                    }
                });
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("Please set a patient set or choose all datamart option.");
                mBox.open();
                return;
            }

            if (tabFolder.getSelectionIndex() == 1) {
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        DestroyMiniVisualization(oAwtContainer);
                    }
                });
            } else if (tabFolder.getSelectionIndex() == 0) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(1);
                    }
                });
            }

            if (patientSetStr.equalsIgnoreCase("All")) {
                int minPatient = 0;
                try {
                    String minText = patientMinNumText.getText();
                    minPatient = Integer.parseInt(minText);
                } catch (Exception e1) {
                    minPatient = -1;
                }

                int maxPatient = 0;
                try {
                    maxPatient = Integer.parseInt(patientMaxNumText.getText());
                } catch (Exception e2) {
                    maxPatient = -1;
                }

                PerformVisualizationQuery(oAwtContainer, "All", minPatient, maxPatient, bDisplayAllData);
            } else {
                int min = Integer.parseInt(patientMinNumText.getText());
                int max = Integer.parseInt(patientMaxNumText.getText());
                int start = new Integer(patientMinNumText.getText()).intValue();
                int inc = new Integer(patientMaxNumText.getText()).intValue();
                if (start - inc <= 1) {
                    leftArrowButton.setEnabled(false);
                }

                if (start <= patientSetSize) {
                    rightArrowButton.setEnabled(true);
                } else {
                    rightArrowButton.setEnabled(false);
                }

                //if ((start - inc) > 1) {
                //patientMinNumText.setText("" + (start - inc));
                //} else {
                //patientMinNumText.setText("1");
                //}
                PerformVisualizationQuery(oAwtContainer, patientRefId, min - max, max - 1, bDisplayAllData);
            }

        }
    });

    final Label patNum1 = new Label(patientNumsComposite, SWT.NONE);
    patNum1.setText(" start: ");
    patNum1.setBounds(425, 9, 31, 20);

    patientMinNumText = new Text(patientNumsComposite, SWT.SINGLE | SWT.BORDER);
    patientMinNumText.setText("1");
    patientMinNumText.setBounds(460, 5, 45, 22);

    final Label patNum2 = new Label(patientNumsComposite, SWT.NONE);
    patNum2.setText("increment:");
    patNum2.setBounds(515, 9, 57, 20);

    patientMaxNumText = new Text(patientNumsComposite, SWT.SINGLE | SWT.BORDER);
    patientMaxNumText.setText("10");
    patientMaxNumText.setBounds(572, 5, 45, 22);

    rightArrowButton = new Button(patientNumsComposite, SWT.PUSH);
    rightArrowButton.setText(">>>");
    rightArrowButton.setEnabled(false);
    rightArrowButton.setBounds(626, 5, 38, 20);
    rightArrowButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            runMode = 1;
            ConceptTableModel i2b2Model = (ConceptTableModel) table.getModel();
            i2b2Model.fillDataFromTable(rowData);
            if (rowData.size() == 0) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(0);
                    }
                });
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("The set up table is empty.");
                mBox.open();
                return;
            }

            String patientSetStr = patientSetText.getText();
            if (patientSetStr.equals("") && !isAll) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(0);
                    }
                });
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("Please set a patient set or choose all datamart option.");
                mBox.open();
                return;
            }

            if (tabFolder.getSelectionIndex() == 1) {
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        DestroyMiniVisualization(oAwtContainer);
                    }
                });
            } else if (tabFolder.getSelectionIndex() == 0) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(1);
                    }
                });
            }

            if (patientSetStr.equalsIgnoreCase("All")) {
                int minPatient = 0;
                try {
                    String minText = patientMinNumText.getText();
                    minPatient = Integer.parseInt(minText);
                } catch (Exception e1) {
                    minPatient = -1;
                }

                int maxPatient = 0;
                try {
                    maxPatient = Integer.parseInt(patientMaxNumText.getText());
                } catch (Exception e2) {
                    maxPatient = -1;
                }

                PerformVisualizationQuery(oAwtContainer, "All", minPatient, maxPatient, bDisplayAllData);
            } else {
                int min = Integer.parseInt(patientMinNumText.getText());
                int max = Integer.parseInt(patientMaxNumText.getText());
                int start = new Integer(patientMinNumText.getText()).intValue();
                int inc = new Integer(patientMaxNumText.getText()).intValue();
                if (start + inc > patientSetSize) {
                    rightArrowButton.setEnabled(false);
                }
                //patientMinNumText.setText("" + (start + inc));
                leftArrowButton.setEnabled(true);
                PerformVisualizationQuery(oAwtContainer, patientRefId, min, max - 1, bDisplayAllData);
            }
            // getDisplay().syncExec(new Runnable() {
            // public void run() {
            // if(returnedNumber >= 0) {
            // setIncrementNumber(returnedNumber);
            // MessageBox mBox = new MessageBox(getShell(),
            // SWT.ICON_INFORMATION
            // | SWT.OK);
            // mBox.setText("Please Note ...");
            // mBox.setMessage(/*"Can't return all the requested "+
            // requestIndex+" patients, */"Only "+returnedNumber+" patients
            // returned");
            // mBox.open();
            // }
            // }
            // });
        }
    });

    addListener(SWT.Resize, new Listener() {
        public void handleEvent(Event event) {
            int w = getBounds().width;
            patientSetText.setBounds(70, 5, w - 357, 24);
            leftArrowButton.setBounds(w - 281, 5, 38, 24);
            patNum1.setBounds(w - 239, 9, 31, 24);
            patientMinNumText.setBounds(w - 204, 5, 45, 24);
            patNum2.setBounds(w - 149, 9, 57, 24);
            patientMaxNumText.setBounds(w - 92, 5, 45, 24);
            rightArrowButton.setBounds(w - 42, 5, 37, 24);
        }
    });

    verticalForm.setWeights(new int[] { 25, 3 });

    // Item 1: a Text Table
    TabItem item1 = new TabItem(tabFolder, SWT.NONE);
    item1.setText("Create model for Timeline");

    Composite oModelComposite = new Composite(tabFolder, SWT.NONE);
    item1.setControl(oModelComposite);

    GridLayout gridLayout = new GridLayout(2, false);

    // gridLayout.marginHeight = 0;
    // gridLayout.marginWidth = 0;
    // gridLayout.verticalSpacing = 0;
    // gridLayout.horizontalSpacing = 0;

    gridLayout.marginTop = 2;
    gridLayout.marginLeft = 0;
    gridLayout.marginBottom = 2;
    gridLayout.verticalSpacing = 1;
    gridLayout.horizontalSpacing = 1;
    oModelComposite.setLayout(gridLayout);

    oModelQueryComposite = new FramedComposite(oModelComposite, SWT.SHADOW_NONE);
    // GridLayout gLq = new GridLayout(25, false);
    oModelQueryComposite.setLayout(new GridLayout(25, false));
    oModelQueryComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_BLACK));
    GridData oModelQueryButtonGridData = new GridData(GridData.FILL_HORIZONTAL);
    oModelQueryButtonGridData.grabExcessHorizontalSpace = false;
    oModelQueryButtonGridData.horizontalSpan = 2;
    oModelQueryButtonGridData.verticalAlignment = SWT.CENTER;
    oModelQueryButtonGridData.verticalIndent = 5;
    oModelQueryComposite.setLayoutData(oModelQueryButtonGridData);

    queryNamemrnlistText = new Label(oModelQueryComposite, SWT.NONE);
    queryNamemrnlistText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    queryNamemrnlistText.setText("Query Name: ");
    // queryNamemrnlistText.setBounds(5, 4, 600, 20);

    queryNamemrnlistText.addMouseTrackListener(new MouseTrackListener() {

        public void mouseEnter(MouseEvent arg0) {
            oModelQueryComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
        }

        public void mouseExit(MouseEvent arg0) {
            oModelQueryComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_BLACK));
        }

        public void mouseHover(MouseEvent arg0) {
            oModelQueryComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
        }

    });

    oModelQueryComposite.addMouseMoveListener(new MouseMoveListener() {

        public void mouseMove(MouseEvent arg0) {

        }

    });

    oModelQueryComposite.addDragDetectListener(new DragDetectListener() {

        public void dragDetected(DragDetectEvent arg0) {

        }

    });

    Composite oGroupComposite = new Composite(oModelComposite, SWT.NONE);
    // GridLayout gLq = new GridLayout(25, false);
    oGroupComposite.setLayout(gridLayout);
    GridData oGroupGridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
    oGroupGridData.grabExcessHorizontalSpace = true;
    oGroupGridData.grabExcessVerticalSpace = true;
    oGroupGridData.verticalIndent = 1;
    oGroupGridData.verticalSpan = GridData.VERTICAL_ALIGN_FILL;
    // oGroupGridData.verticalAlignment = GridData.VERTICAL_ALIGN_FILL;
    oGroupComposite.setLayoutData(oGroupGridData);

    oModelGroupComposite = new FramedComposite(oGroupComposite, SWT.SHADOW_NONE);
    // GridLayout gLq = new GridLayout(25, false);
    oModelGroupComposite.setLayout(new GridLayout(25, false));
    GridData oModelGroupButtonGridData = new GridData(GridData.FILL_HORIZONTAL);
    oModelGroupButtonGridData.grabExcessHorizontalSpace = false;
    oModelGroupButtonGridData.horizontalSpan = 2;
    oModelGroupButtonGridData.verticalAlignment = SWT.CENTER;
    oModelGroupButtonGridData.verticalIndent = 5;
    oModelGroupComposite.setLayoutData(oModelGroupButtonGridData);

    // GridData gdAdd = new GridData(GridData.FILL_HORIZONTAL);
    GridData gdDel1 = new GridData(GridData.FILL_HORIZONTAL);

    groupNameText = new Label(oModelGroupComposite, SWT.NONE);
    gdDel1.horizontalSpan = 4;
    groupNameText.setLayoutData(gdDel1);
    groupNameText.setText("Panel Name: ");
    // groupNameText.setBounds(80, 8, 400, 24);
    // groupNameText.setAlignment(SWT.CENTER);
    // createDragSource(queryNamemrnlistText);
    // createDropTarget(queryNamemrnlistText);

    groupNameText.addMouseTrackListener(new MouseTrackListener() {

        public void mouseEnter(MouseEvent arg0) {
            oModelGroupComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
        }

        public void mouseExit(MouseEvent arg0) {
            oModelGroupComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_BLACK));
        }

        public void mouseHover(MouseEvent arg0) {
            oModelGroupComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
        }

    });

    // put a table in tabItem1...
    table = new KTable(oGroupComposite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    table.setFocus();
    table.setBackground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    GridData tableGridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    tableGridData.verticalIndent = 5;
    table.setLayoutData(tableGridData);
    table.setRowSelectionMode(true);
    // table.setMultiSelectionMode(true);
    // table.setModel(new KTableForModel());
    table.setModel(new ConceptTableModel());
    // table.getModel().setColumnWidth(0, oModelComposite.getBounds().width
    // - 35);
    table.addCellSelectionListener(new KTableCellSelectionListener() {
        public void cellSelected(int col, int row, int statemask) {
            log.debug("Cell [" + col + ";" + row + "] selected.");
            // System.out.println("Cell [" + col + ";" + row +
            // "] selected.");
            table.selectedRow = row;
            table.selectedColumn = col;
        }

        public void fixedCellSelected(int col, int row, int statemask) {
            log.debug("Header [" + col + ";" + row + "] selected.");
            // System.out.println("Header [" + col + ";" + row +
            // "] selected.");
        }

    });

    Transfer[] types = new Transfer[] { TextTransfer.getInstance() };

    // create drag source
    /*
     * DragSource source = new DragSource(queryNamemrnlistText,
     * DND.DROP_COPY); source.setTransfer(types); source.addDragListener(new
     * DragSourceAdapter() {
     * 
     * @Override public void dragSetData(DragSourceEvent event) {
     * //DragSource ds = (DragSource) event.widget; StringWriter strWriter =
     * new StringWriter(); DndType dndType = new DndType();
     * edu.harvard.i2b2.crcxmljaxb.datavo.psm.query.ObjectFactory pdoFactory
     * = new edu.harvard.i2b2.crcxmljaxb.datavo.psm.query.ObjectFactory();
     * PanelType panelType = new PanelType();
     * 
     * //get table rows and fill the panel object for(int i=0; i<3; i++) {
     * ItemType itemType = new ItemType();
     * panelType.getItem().add(itemType);
     * 
     * dndType.getAny().add(pdoFactory.createPanel(panelType));
     * edu.harvard.i2b2.crcxmljaxb.datavo.dnd.ObjectFactory dndFactory = new
     * edu.harvard.i2b2.crcxmljaxb.datavo.dnd.ObjectFactory(); try {
     * ExplorerJAXBUtil
     * .getJAXBUtil().marshaller(dndFactory.createPluginDragDrop(dndType),
     * strWriter); } catch(JAXBUtilException e) { e.printStackTrace(); }
     * 
     * //put the data into the event event.data = strWriter.toString(); }
     * 
     * 
     * });
     */

    Composite oModelAddDelButtonComposite = new Composite(oModelComposite, SWT.NONE);
    GridLayout gL = new GridLayout(25, false);
    oModelAddDelButtonComposite.setLayout(gL);
    GridData oModelAddDelButtonGridData = new GridData(GridData.FILL_HORIZONTAL);// HORIZONTAL_ALIGN_FILL);// |
    // GridData.VERTICAL_ALIGN_FILL);
    oModelAddDelButtonGridData.grabExcessHorizontalSpace = false;
    oModelAddDelButtonGridData.horizontalSpan = 2;
    oModelAddDelButtonComposite.setLayoutData(oModelAddDelButtonGridData);

    // GridData gdAdd = new GridData(GridData.FILL_HORIZONTAL);
    GridData gdDel = new GridData(GridData.FILL_HORIZONTAL);

    Button deleteArrowButton = new Button(oModelAddDelButtonComposite, SWT.PUSH);
    gdDel.horizontalSpan = 4;
    deleteArrowButton.setLayoutData(gdDel);
    deleteArrowButton.setText("Delete From List");
    deleteArrowButton.addSelectionListener(new SelectionAdapter() {

        @SuppressWarnings("unchecked")
        public void widgetSelected(SelectionEvent event) {
            curRowNumber = 0;
            ConceptTableModel m_Model = (ConceptTableModel) table.getModel();
            int[] selectedRow = table.getRowSelection();
            m_Model.fillDataFromTable(rowData);

            if ((selectedRow != null) && (selectedRow.length > 0)) {
                String conceptName = (String) m_Model.getContentAt(1, selectedRow[0]);
                if (conceptName.equals("Encounter Range Line")) {
                } else if (conceptName.equals("Vital Status Line")) {
                }

                int rowNumber = new Integer((String) (m_Model.getContentAt(0, selectedRow[0]))).intValue();
                int rid = selectedRow[0];
                ArrayList list = (ArrayList) rowData.get(rowNumber - 1);
                for (int i = 0; i < list.size(); i++) {
                    ConceptTableRow tr = (ConceptTableRow) list.get(i);
                    if (tr.rowId == rid) {
                        list.remove(i);
                        break;
                    }
                }
                if (list.size() == 0) {
                    rowData.remove(rowNumber - 1);
                }
                curRowNumber = rowData.size();
                resetRowNumber();
                // m_Model.deleteRow(selectedRow[0]);
                ((ConceptTableModel) table.getModel()).deleteAllRows();
                ((ConceptTableModel) table.getModel()).populateTable(rowData);
                /*
                 * int newRow = 0; for(int i=0; i<rowData.size(); i++) {
                 * ArrayList alist = (ArrayList) rowData.get(i); for(int
                 * j=0; j<alist.size(); j++) { TableRow r = (TableRow)
                 * alist.get(j); newRow++; r.rowId = newRow;
                 * table.getModel().setContentAt(0, newRow, new
                 * Integer(r.rowNumber).toString());
                 * table.getModel().setContentAt(1, newRow, r.conceptName);
                 * table.getModel().setContentAt(2, newRow, r.valueType);
                 * table.getModel().setContentAt(3, newRow, r.valueText);
                 * table.getModel().setContentAt(4, newRow, r.height);
                 * table.getModel().setContentAt(5, newRow, r.color);
                 * table.getModel().setContentAt(6, newRow, r.conceptXml); }
                 * }
                 */
                table.redraw();
                queryNamemrnlistText.setText("Query Name: ");
                groupNameText.setText("Panel Name: ");
            }
        }
    });

    Button deleteAllButton = new Button(oModelAddDelButtonComposite, SWT.PUSH);
    gdDel = new GridData(GridData.FILL_HORIZONTAL);
    gdDel.horizontalSpan = 4;
    deleteAllButton.setLayoutData(gdDel);
    deleteAllButton.setText("Delete All ");
    deleteAllButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            ConceptTableModel m_Model = (ConceptTableModel) table.getModel();
            m_Model.deleteAllRows();
            curRowNumber = 0;
            rowData.clear();
            queryNamemrnlistText.setText("Query Name: ");
            groupNameText.setText("Panel Name: ");
            table.redraw();
        }
    });

    Button putInOrderButton = new Button(oModelAddDelButtonComposite, SWT.PUSH);
    gdDel = new GridData(GridData.FILL_HORIZONTAL);
    gdDel.horizontalSpan = 4;
    putInOrderButton.setLayoutData(gdDel);
    putInOrderButton.setText("Put In Order ");
    putInOrderButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {

            ConceptTableModel m_Model = (ConceptTableModel) table.getModel();
            curRowNumber = 0;
            m_Model.fillDataFromTable(rowData);

            Collections.sort(rowData, new Comparator<Object>() {
                @SuppressWarnings("unchecked")
                public int compare(Object o1, Object o2) {
                    int i1 = ((ConceptTableRow) ((ArrayList) o1).get(0)).rowNumber;
                    int i2 = ((ConceptTableRow) ((ArrayList) o2).get(0)).rowNumber;
                    if (i1 > i2) {
                        return 1;
                    } else if (i1 < i2) {
                        return -1;
                    } else {
                        return 0;
                    }
                }
            });
            m_Model.deleteAllRows();
            m_Model.populateTable(rowData);
            table.redraw();
        }
    });

    Button upArrowButton = new Button(oModelAddDelButtonComposite, SWT.PUSH);
    upArrowButton.setText("Move Up");
    upArrowButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {

            ConceptTableModel m_Model = (ConceptTableModel) table.getModel();
            int[] selectedRow = table.getRowSelection();
            curRowNumber = 0;
            // KTableI2B2Model m_Model = (KTableI2B2Model) table.getModel();
            // int[] selectedRow = table.getRowSelection();
            m_Model.fillDataFromTable(rowData);
            int index = new Integer((String) (m_Model.getContentAt(0, selectedRow[0]))).intValue() - 1;
            if (index < 1) {
                return;
            }
            if ((selectedRow != null) && (selectedRow.length > 0)) {
                // m_Model.moveRow(selectedRow[0], selectedRow[0] -1);
                ArrayList<ConceptTableRow> list = rowData.get(index);
                rowData.remove(index);
                rowData.add(index - 1, list);
                resetRowNumber();
                m_Model.populateTable(rowData);
            }
            table.setSelection(0, selectedRow[0] - 1, true);
            table.redraw();
        }
    });

    Button downArrowButton = new Button(oModelAddDelButtonComposite, SWT.PUSH);
    downArrowButton.setText("Move Down");
    downArrowButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {

            ConceptTableModel m_Model = (ConceptTableModel) table.getModel();
            int[] selectedRow = table.getRowSelection();
            curRowNumber = 0;
            // KTableI2B2Model m_Model = (KTableI2B2Model) table.getModel();
            // int[] selectedRow = table.getRowSelection();
            m_Model.fillDataFromTable(rowData);
            int index = new Integer((String) (m_Model.getContentAt(0, selectedRow[0]))).intValue() - 1;
            if (index == (rowData.size() - 1)) {
                return;
            }
            if ((selectedRow != null) && (selectedRow.length > 0)) {
                // m_Model.moveRow(selectedRow[0], selectedRow[0] -1);
                ArrayList<ConceptTableRow> list = rowData.get(index);
                rowData.remove(index);
                rowData.add(index + 1, list);
                resetRowNumber();
                m_Model.populateTable(rowData);
            }
            table.setSelection(0, selectedRow[0] + 1, true);
            table.redraw();
        }
    });

    Composite oModelCheckButtonComposite = new Composite(oModelComposite, SWT.NONE);
    GridLayout gL1 = new GridLayout();
    gL1.numColumns = 20;
    oModelCheckButtonComposite.setLayout(gL1);
    GridData oModelCheckButtonGridData = new GridData();
    oModelCheckButtonGridData.horizontalSpan = 4;
    oModelCheckButtonGridData.verticalAlignment = GridData.FILL;
    oModelCheckButtonGridData.grabExcessHorizontalSpace = true;
    oModelCheckButtonGridData.horizontalAlignment = GridData.FILL;
    oModelCheckButtonComposite.setLayoutData(oModelCheckButtonGridData);

    Button displayOrNotButton = new Button(oModelCheckButtonComposite, SWT.CHECK);
    displayOrNotButton.setText("Display concepts with no data");
    displayOrNotButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            // do something here- return null
            bDisplayAllData = !bDisplayAllData;
        }
    });

    Button displayDemographicsOrNotButton = new Button(oModelCheckButtonComposite, SWT.CHECK);
    displayDemographicsOrNotButton.setText("Display patient demographics");
    if ((System.getProperty("applicationName") != null)
            && System.getProperty("applicationName").equals("BIRN")) {
        displayDemographicsOrNotButton.setSelection(false);
        displayDemographicsOrNotButton.setEnabled(false);

        bDisplayDemographics = false;
    } else if ((System.getProperty("applicationName") == null)
            || System.getProperty("applicationName").equals("i2b2")) {
        displayDemographicsOrNotButton.setSelection(true);
    }
    displayDemographicsOrNotButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            bDisplayDemographics = !bDisplayDemographics;
        }
    });

    {
        label2 = new Label(oModelCheckButtonComposite, SWT.NONE);
        GridData label2LData = new GridData();
        label2LData.horizontalIndent = 10;
        label2.setLayoutData(label2LData);
        label2.setText("Filter:");
    }
    {
        filterCCombo = new CCombo(oModelCheckButtonComposite, SWT.BORDER);
        filterCCombo.setBackground(SWTResourceManager.getColor(255, 255, 255));
        filterCCombo.setEditable(false);
        filterCCombo.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent evt) {
                System.out.println("filterCCombo.widgetSelected, event=" + evt);
                int index = filterCCombo.getSelectionIndex();

                if (index == 0) {
                    filter = "none";
                } else if (index == 1) {
                    filter = "max";
                } else if (index == 2) {
                    filter = "min";
                } else if (index == 3) {
                    filter = "first";
                } else if (index == 4) {
                    filter = "last";
                }
            }
        });
        filterCCombo.add("none");
        filterCCombo.add("max");
        filterCCombo.add("min");
        filterCCombo.add("first");
        filterCCombo.add("last");
        filterCCombo.select(0);
    }
    {
        //combo1 = new Combo(oModelCheckButtonComposite, SWT.NONE);
    }
    {
        //label1 = new Label(oModelCheckButtonComposite, SWT.NONE);
        //label1.setText("Filter: ");
    }
    /*{
       filterCombo = new Combo(oModelCheckButtonComposite, SWT.NONE);
       GridData filterComboLData = new GridData();
       filterComboLData.widthHint = 28;
       filterComboLData.heightHint = 21;
       filterCombo.setLayoutData(filterComboLData);
       filterCombo.add("max");
       filterCombo.add("min");
       filterCombo.add("first");
       filterCombo.add("last");
       filterCombo.select(0);
       //filterCombo.set;
               
       //filterCombo.setText("combo1");
    }*/

    if (UserInfoBean.getInstance().getCellDataUrl("identity") != null) {
        Composite oPatientSetComposite = new Composite(oModelComposite, SWT.NONE);
        GridData patientSetData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
        patientSetData.grabExcessHorizontalSpace = true;
        oPatientSetComposite.setLayoutData(patientSetData);
        oPatientSetComposite.setLayout(null);

        Label mrnlabel = new Label(oPatientSetComposite, SWT.NONE);
        mrnlabel.setText("MRN site:");
        mrnlabel.setBounds(5, 9, 50, 20);

        final Combo siteCombo = new Combo(oPatientSetComposite, SWT.NULL);
        siteCombo.add("BWH");
        siteCombo.add("MGH");
        siteCombo.setBounds(57, 5, 60, 20);
        siteCombo.select(1);

        Label mrnNumber = new Label(oPatientSetComposite, SWT.NONE);
        mrnNumber.setText("number:");
        mrnNumber.setBounds(121, 9, 40, 20);

        mrnlistText = new Text(oPatientSetComposite, SWT.SINGLE | SWT.BORDER);
        mrnlistText.setBounds(164, 5, 150, 20);
        mrnlistText.setText("");

        Button runButton = new Button(oPatientSetComposite, SWT.PUSH);
        runButton.setText("Search By MRN");
        runButton.setBounds(315, 5, 85, 23);
        runButton.addSelectionListener(new SelectionAdapter() {
            @SuppressWarnings("unchecked")
            public void widgetSelected(SelectionEvent event) {
                String mrns = mrnlistText.getText();
                if (mrns.equals("")) {
                    return;
                }

                String[] mrnArray = mrns.split(",");
                int[] idlist = new int[mrnArray.length];
                String username = UserInfoBean.getInstance().getUserName();
                String password = UserInfoBean.getInstance().getUserPassword();
                // log.debug("User name: "+username+" password: "+password);
                String site = siteCombo.getText();
                for (int i = 0; i < mrnArray.length; i++) {
                    // String[] tmps = new String[2];
                    String tmp = mrnArray[i].replaceAll(" ", "");
                    // tmps = tmp.split(":");

                    String queryStr = "<?xml version=\"1.0\" standalone=\"yes\"?>\n" + "<search_by_local>"
                            + "<match_id site=\"" + site.toUpperCase()/* EMPI */
                            + "\">" + tmp/* 100016900 */
                            + "</match_id>\n" + "</search_by_local>";

                    String resultStr = QueryClient.query(queryStr, username, password);
                    log.debug(queryStr);
                    log.debug(resultStr);

                    SAXBuilder parser = new SAXBuilder();
                    String masterID = null;
                    java.io.StringReader xmlStringReader = new java.io.StringReader(resultStr);
                    try {
                        org.jdom.Document tableDoc = parser.build(xmlStringReader);
                        org.jdom.Element tableXml = tableDoc.getRootElement();
                        Element responseXml = (Element) tableXml.getChild("person_list");
                        // Element mrnXml = (Element)
                        // responseXml.getChild("MRN");
                        java.util.List listChildren = responseXml.getChildren();
                        if (listChildren.isEmpty()) {
                            MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                            mBox.setText("Please Note ...");
                            mBox.setMessage("No master id found");
                            mBox.open();
                            return;
                        }

                        Element masterXml = (Element) responseXml.getChild("master_record");
                        masterID = masterXml.getAttributeValue("id");
                        log.debug("Patient id: " + masterID);
                        idlist[i] = new Integer(masterID).intValue();
                        log.debug("MRN: " + site + "-" + tmp);
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                }

                if (tabFolder.getSelectionIndex() == 1) {
                    java.awt.EventQueue.invokeLater(new Runnable() {
                        public void run() {
                            DestroyMiniVisualization(oAwtContainer);
                        }
                    });
                } else if (tabFolder.getSelectionIndex() == 0) {
                    oTheParent.getDisplay().syncExec(new Runnable() {
                        public void run() {
                            tabFolder.setSelection(1);
                        }
                    });
                }

                PerformVisualizationQuery(oAwtContainer, idlist, bDisplayAllData);
            }
        });
    }

    DropTarget targetLable = new DropTarget(oModelQueryComposite, DND.DROP_COPY);
    targetLable.setTransfer(types);
    targetLable.addDropListener(new DropTargetAdapter() {
        @Override
        public void dragLeave(DropTargetEvent event) {
            super.dragLeave(event);
            oModelQueryComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_BLACK));
        }

        public void dragEnter(DropTargetEvent event) {
            event.detail = DND.DROP_COPY;
            oModelQueryComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
        }

        @SuppressWarnings("unchecked")
        public void drop(DropTargetEvent event) {
            if (event.data == null) {
                event.detail = DND.DROP_NONE;
                return;
            }

            try {
                SAXBuilder parser = new SAXBuilder();
                String xmlContent = (String) event.data;
                java.io.StringReader xmlStringReader = new java.io.StringReader(xmlContent);
                org.jdom.Document tableDoc = parser.build(xmlStringReader);
                org.jdom.Element tableXml = tableDoc.getRootElement().getChild("concepts",
                        Namespace.getNamespace("http://www.i2b2.org/xsd/cell/ont/1.1/"));

                if (tableXml != null) {
                    MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                    mBox.setText("Please Note ...");
                    mBox.setMessage("You can not drop this item here.");
                    mBox.open();
                    event.detail = DND.DROP_NONE;
                    return;
                }

                boolean isQuery = false;
                if (tableXml == null)
                    tableXml = tableDoc.getRootElement().getChild("query_master",
                            Namespace.getNamespace("http://www.i2b2.org/xsd/cell/crc/psm/1.1/"));

                if (tableXml != null)
                    isQuery = true;
                else {
                    MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                    mBox.setText("Please Note ...");
                    mBox.setMessage("You can not drop this item here.");
                    mBox.open();
                    event.detail = DND.DROP_NONE;
                    return;
                }

                if (isQuery) {
                    ArrayList<QueryModel> nodeXmls = new ArrayList<QueryModel>();
                    try {
                        JAXBUtil jaxbUtil = ExplorerJAXBUtil.getJAXBUtil();
                        QueryMasterData ndata = new QueryMasterData();
                        ndata.name(tableXml.getChildText("name"));
                        queryNamemrnlistText.setText("Query Name: " + ndata.name());
                        groupNameText.setText("Panel Name: All items of Query " + ndata.name());
                        ndata.xmlContent(null);
                        ndata.id(tableXml.getChildTextTrim("query_master_id"));
                        ndata.userId(tableXml.getChildTextTrim("user_id"));

                        String xmlcontent = null;
                        String xmlrequest = null;

                        xmlrequest = ndata.writeDefinitionQueryXML();
                        lastRequestMessage(xmlrequest);

                        if (System.getProperty("webServiceMethod").equals("SOAP"))
                            xmlcontent = PDOQueryClient.sendPDQQueryRequestSOAP(xmlrequest);
                        else
                            xmlcontent = PDOQueryClient.sendPDQQueryRequestREST(xmlrequest);
                        lastResponseMessage(xmlcontent);

                        if (xmlcontent == null)
                            return;
                        else {
                            log.debug("Query content response: " + xmlcontent);
                            ndata.xmlContent(xmlcontent);
                        }

                        JAXBElement jaxbElement = jaxbUtil.unMashallFromString(ndata.xmlContent());
                        ResponseMessageType messageType = (ResponseMessageType) jaxbElement.getValue();

                        BodyType bt = messageType.getMessageBody();
                        MasterResponseType masterResponseType = (MasterResponseType) new JAXBUnWrapHelper()
                                .getObjectByClass(bt.getAny(), MasterResponseType.class);
                        RequestXmlType requestXmlType = masterResponseType.getQueryMaster().get(0)
                                .getRequestXml();

                        org.w3c.dom.Element element = (org.w3c.dom.Element) requestXmlType.getContent().get(0);
                        if (element != null)
                            log.debug("query definition not null");
                        else
                            log.error("query definition is null");

                        String domString = edu.harvard.i2b2.common.util.xml.XMLUtil
                                .convertDOMElementToString(element);
                        log.debug("string output" + domString);

                        JAXBContext jc1 = JAXBContext
                                .newInstance(edu.harvard.i2b2.crcxmljaxb.datavo.psm.query.ObjectFactory.class);
                        Unmarshaller unMarshaller = jc1.createUnmarshaller();
                        JAXBElement queryDefinitionJaxbElement = (JAXBElement) unMarshaller
                                .unmarshal(new StringReader(domString));

                        QueryDefinitionType queryDefinitionType = (QueryDefinitionType) queryDefinitionJaxbElement
                                .getValue();

                        int numOfPanels = queryDefinitionType.getPanel().size();
                        int conceptCount = 0;

                        if (queryDefinitionType.getSubquery().size() == 0) // it's a normal query
                            conceptCount = addQueryModel(queryDefinitionType, nodeXmls, conceptCount); // add concepts to nodeXmls, increment conceptCount
                        else if (queryDefinitionType.getSubquery().size() > 0) // temporal queries have subqueries
                        {
                            conceptCount = addQueryModel(queryDefinitionType, nodeXmls, conceptCount);
                            List<QueryDefinitionType> subqueries = queryDefinitionType.getSubquery();
                            for (QueryDefinitionType subQuery : subqueries)
                                conceptCount = addQueryModel(subQuery, nodeXmls, conceptCount); // for each subquery, add concepts to nodeXmls, increment conceptCount
                        }

                        if (nodeXmls.size() == 0) {
                            MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                            mBox.setText("Please Note ...");
                            mBox.setMessage("No valid concept was found.");
                            mBox.open();
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                        populateTable(nodeXmls);

                        // get query instance
                        String xmlRequest = ndata.writeContentQueryXML();
                        lastRequestMessage(xmlRequest);
                        String xmlResponse = PDOQueryClient.sendPDQQueryRequestREST(xmlRequest);
                        lastResponseMessage(xmlResponse);

                        jaxbElement = jaxbUtil.unMashallFromString(xmlResponse);
                        messageType = (ResponseMessageType) jaxbElement.getValue();
                        bt = messageType.getMessageBody();
                        InstanceResponseType instanceResponseType = (InstanceResponseType) new JAXBUnWrapHelper()
                                .getObjectByClass(bt.getAny(), InstanceResponseType.class);

                        QueryInstanceData instanceData = null;
                        XMLGregorianCalendar startDate = null;
                        for (QueryInstanceType queryInstanceType : instanceResponseType.getQueryInstance()) {
                            QueryInstanceData runData = new QueryInstanceData();

                            runData.visualAttribute("FA");
                            runData.tooltip("The results of the query run");
                            runData.id(new Integer(queryInstanceType.getQueryInstanceId()).toString());
                            XMLGregorianCalendar cldr = queryInstanceType.getStartDate();
                            runData.name("Results of " + "[" + cldr.getMonth() + "-" + cldr.getDay() + "-"
                                    + cldr.getYear() + " " + cldr.getHour() + ":" + cldr.getMinute() + ":"
                                    + cldr.getSecond() + "]");

                            if (instanceData == null) {
                                startDate = cldr;
                                instanceData = runData;
                            } else {
                                if (cldr.toGregorianCalendar().compareTo(startDate.toGregorianCalendar()) > 0) {
                                    startDate = cldr;
                                    instanceData = runData;
                                }
                            }
                        }
                        // get patient set
                        if (instanceData == null) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                        log.debug("Got query instance: " + instanceData.name());

                        xmlRequest = instanceData.writeContentQueryXML();
                        lastRequestMessage(xmlRequest);

                        xmlResponse = PDOQueryClient.sendPDQQueryRequestREST(xmlRequest);
                        lastResponseMessage(xmlResponse);

                        jaxbElement = jaxbUtil.unMashallFromString(xmlResponse);
                        messageType = (ResponseMessageType) jaxbElement.getValue();
                        bt = messageType.getMessageBody();
                        ResultResponseType resultResponseType = (ResultResponseType) new JAXBUnWrapHelper()
                                .getObjectByClass(bt.getAny(), ResultResponseType.class);

                        for (QueryResultInstanceType queryResultInstanceType : resultResponseType
                                .getQueryResultInstance()) {
                            if (!(queryResultInstanceType.getQueryResultType().getName()
                                    .equalsIgnoreCase("PATIENTSET"))) {
                                continue;
                            }

                            String status = queryResultInstanceType.getQueryStatusType().getName();

                            if (status.equalsIgnoreCase("FINISHED")) {

                                String setId = new Integer(queryResultInstanceType.getResultInstanceId())
                                        .toString();
                                String setSize = new Integer(queryResultInstanceType.getSetSize()).toString();
                                String description = queryResultInstanceType.getDescription();
                                if (description != null) {
                                    patientSetText.setText(description);
                                } else {
                                    patientSetText.setText("Patient Set: " + setSize + " patients");
                                }
                                patientRefId = new String(setId);
                                patientMinNumText.setText("1");
                                leftArrowButton.setEnabled(false);

                                int maxPatientNum = new Integer(patientMaxNumText.getText()).intValue();
                                patientSetSize = queryResultInstanceType.getSetSize();
                                if (patientSetSize > maxPatientNum) {
                                    rightArrowButton.setEnabled(true);
                                    patientMaxNumText.setText("10");
                                } else {
                                    rightArrowButton.setEnabled(false);
                                    if (patientSetSize > 0) {
                                        patientMaxNumText.setText(setSize);
                                    }
                                }

                                log.debug("Dropped set of: " + setSize + " patients"/* strs[0] */
                                        + " with refId: " + setId/*
                                                                 * strs[ 1 ]
                                                                 */);
                            } else {
                                // message
                            }
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        return;
                    }
                } /*
                  * else { List conceptChildren = tableXml.getChildren();
                  * parseDropConcepts(conceptChildren, event);
                  * table.redraw(); }
                  */

                event.detail = DND.DROP_NONE;
            } catch (JDOMException e) {
                System.err.println(e.getMessage());
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("You can not drop this item here.");
                mBox.open();
                event.detail = DND.DROP_NONE;
                e.printStackTrace();
                return;
            } catch (Exception e) {
                System.err.println(e.getMessage());
                event.detail = DND.DROP_NONE;
                e.printStackTrace();
                return;
            }
        }
    });

    // create drag source
    DragSource source1 = new DragSource(groupNameText, DND.DROP_COPY);
    source1.setTransfer(types);
    source1.addDragListener(new DragSourceAdapter() {

        @Override
        public void dragSetData(DragSourceEvent event) {

            ConceptTableModel i2b2Model = (ConceptTableModel) table.getModel();
            i2b2Model.fillDataFromTable(rowData);
            if (rowData.size() == 0) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(0);
                    }
                });
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("The set up table is empty.");
                mBox.open();
                return;
            }

            StringWriter strWriter = new StringWriter();
            DndType dndType = new DndType();
            edu.harvard.i2b2.crcxmljaxb.datavo.psm.query.ObjectFactory pdoFactory = new edu.harvard.i2b2.crcxmljaxb.datavo.psm.query.ObjectFactory();
            PanelType panelType = new PanelType();
            panelType.setInvert(0);
            PanelType.TotalItemOccurrences totalOccurrences = new PanelType.TotalItemOccurrences();
            totalOccurrences.setValue(1);
            panelType.setTotalItemOccurrences(totalOccurrences);
            panelType.setPanelNumber(0 + 1);
            // panelType.setName(panelData.getItems().get(0).name() + "_"
            // + generateMessageId().substring(0, 4));
            panelType.setName("Panel-1");

            // TO DO: get table rows and fill the panel object
            for (int i = 1; i < i2b2Model.getRowCount(); i++) {
                QueryModel node = (QueryModel) i2b2Model.getContentAt(7, i);
                ItemType itemType = new ItemType();
                itemType.setItemKey(node.fullname());
                itemType.setItemName(node.name());
                itemType.setTooltip(node.tooltip());
                itemType.setHlevel(Integer.parseInt(node.hlevel()));
                itemType.setClazz("ENC");
                itemType.setItemIcon(node.visualAttribute().trim());
                itemType.setItemColor(i2b2Model.getColorString((RGB) i2b2Model.getContentAt(5, i)));
                itemType.setItemRowNumber((String) i2b2Model.getContentAt(0, i));
                itemType.setItemShape((String) i2b2Model.getContentAt(4, i));

                itemType.getConstrainByValue().add(node.valueModel().writeValueConstraint());
                itemType.getConstrainByDate().add(node.writeTimeConstrain());

                panelType.getItem().add(itemType);
            }

            dndType.getAny().add(pdoFactory.createPanel(panelType));
            edu.harvard.i2b2.crcxmljaxb.datavo.dnd.ObjectFactory dndFactory = new edu.harvard.i2b2.crcxmljaxb.datavo.dnd.ObjectFactory();
            try {
                ExplorerJAXBUtil.getJAXBUtil().marshaller(dndFactory.createPluginDragDrop(dndType), strWriter);
            } catch (JAXBUtilException e) {
                e.printStackTrace();
            }

            // put the data into the event
            event.data = strWriter.toString();
        }

    });

    DropTarget nameTarget = new DropTarget(groupNameText, DND.DROP_COPY);
    nameTarget.setTransfer(types);
    nameTarget.addDropListener(new DropTargetAdapter() {

        @Override
        public void dragLeave(DropTargetEvent event) {
            super.dragLeave(event);
            oModelGroupComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_BLACK));
        }

        @SuppressWarnings("unchecked")
        public void drop(DropTargetEvent event) {
            if (event.data == null) {
                event.detail = DND.DROP_NONE;
                return;
            }
            ArrayList<QueryModel> nodeXmls = new ArrayList<QueryModel>();
            try {
                SAXBuilder parser = new SAXBuilder();
                String xmlContent = (String) event.data;
                java.io.StringReader xmlStringReader = new java.io.StringReader(xmlContent);
                org.jdom.Document panelDoc = parser.build(xmlStringReader);
                org.jdom.Element panelXml = panelDoc.getRootElement().getChild("panel",
                        Namespace.getNamespace("http://www.i2b2.org/xsd/cell/crc/psm/querydefinition/1.1/"));

                if (panelXml == null) {
                    MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                    mBox.setText("Please Note ...");
                    mBox.setMessage("You can not drop this item here.");
                    mBox.open();
                    event.detail = DND.DROP_NONE;
                    return;
                }

                else {

                    String domString = (new XMLOutputter()).outputString(panelXml);
                    JAXBContext jc1 = JAXBContext
                            .newInstance(edu.harvard.i2b2.crcxmljaxb.datavo.psm.query.ObjectFactory.class);
                    Unmarshaller unMarshaller = jc1.createUnmarshaller();
                    JAXBElement panelJaxbElement = (JAXBElement) unMarshaller
                            .unmarshal(new StringReader(domString));

                    PanelType panelType = (PanelType) panelJaxbElement.getValue();
                    String panelname = panelType.getName();
                    groupNameText.setText("Panel Name: " + panelname);
                    queryNamemrnlistText.setText("Query Name: ");
                    for (int j = 0; j < panelType.getItem().size(); j++) {
                        ItemType itemType = panelType.getItem().get(j);
                        QueryModel nodedata = new QueryModel();

                        nodedata.name(itemType.getItemName());
                        nodedata.visualAttribute("FA");
                        nodedata.tooltip(itemType.getTooltip());
                        nodedata.fullname(itemType.getItemKey());
                        nodedata.hlevel(new Integer(itemType.getHlevel()).toString());

                        // / need to handle query tool generated panels
                        if (itemType.getItemShape() != null) {
                            nodedata.tableRow().height = new String(itemType.getItemShape());
                            nodedata.tableRow().color = ((ConceptTableModel) table.getModel())
                                    .getColor(itemType.getItemColor());
                            nodedata.tableRow().rowNumber = Integer.parseInt(itemType.getItemRowNumber());
                        } else {
                            nodedata.tableRow().height = "Medium";
                            nodedata.tableRow().color = getRGBfromList(curRowNumber);//new RGB(0, 0, 128);
                            nodedata.tableRow().rowNumber = j + 1;
                        }

                        nodedata.constrainByValue(itemType.getConstrainByValue());
                        if (itemType.getConstrainByValue().size() > 0) {
                            nodedata.setValueConstrains(itemType.getConstrainByValue());

                            if (itemType.getConstrainByValue().size() > 0) {
                                nodedata.setValueConstrains(itemType.getConstrainByValue());
                                if (nodedata.valueModel().hasEnumValue()) {
                                    if (nodedata.valueModel().useTextValue()) {
                                        ArrayList<String> results = new ArrayList<String>();
                                        results.toArray(nodedata.valueModel().value().split(","));
                                        nodedata.valueModel().selectedValues = results;
                                    }
                                }
                            }
                        }

                        // Handle Constrain By Dates
                        for (int u = 0; u < itemType.getConstrainByDate().size(); u++) {
                            nodedata.setTimeConstrain(itemType.getConstrainByDate().get(u).getDateFrom(),
                                    itemType.getConstrainByDate().get(u).getDateTo());
                        }

                        String status = nodedata.setXmlContent();
                        if (status.equalsIgnoreCase("error")) {
                            MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                            mBox.setText("Please Note ...");
                            mBox.setMessage(
                                    "Response delivered from the remote server could not be understood,\n"
                                            + "you may wish to retry your last action.");
                            mBox.open();
                            event.detail = DND.DROP_NONE;

                            return;
                        }
                        nodeXmls.add(nodedata);
                    }
                    // event.detail = DND.DROP_NONE;
                }
                populateTable(nodeXmls);

            }

            catch (JDOMException e) {
                System.err.println(e.getMessage());
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("You can not drop this item here.");
                mBox.open();
                event.detail = DND.DROP_NONE;
                e.printStackTrace();
                return;
            } catch (Exception e) {
                System.err.println(e.getMessage());
                event.detail = DND.DROP_NONE;
                e.printStackTrace();
                return;
            }
        }

        public void dragEnter(DropTargetEvent event) {
            TextTransfer textTransfer = TextTransfer.getInstance();
            if (textTransfer.isSupportedType(event.currentDataType)) {

                event.detail = DND.DROP_COPY;
            }

            oModelGroupComposite.setForeground(oTheParent.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
        }
    });

    DropTarget target = new DropTarget(table, DND.DROP_COPY);
    target.setTransfer(types);
    target.addDropListener(new DropTargetAdapter() {
        @SuppressWarnings("unchecked")
        public void drop(DropTargetEvent event) {
            if (event.data == null) {
                event.detail = DND.DROP_NONE;
                return;
            }

            try {
                SAXBuilder parser = new SAXBuilder();
                String xmlContent = (String) event.data;
                java.io.StringReader xmlStringReader = new java.io.StringReader(xmlContent);
                org.jdom.Document tableDoc = parser.build(xmlStringReader);
                org.jdom.Element tableXml = tableDoc.getRootElement().getChild("concepts",
                        Namespace.getNamespace("http://www.i2b2.org/xsd/cell/ont/1.1/"));

                boolean isQuery = false;
                if (tableXml == null) {
                    MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                    mBox.setText("Please Note ...");
                    mBox.setMessage("You can not drop this item here.");
                    mBox.open();
                    event.detail = DND.DROP_NONE;
                    return;
                }

                if (isQuery) {
                    ArrayList<QueryModel> nodeXmls = new ArrayList<QueryModel>();
                    try {
                        JAXBUtil jaxbUtil = ExplorerJAXBUtil.getJAXBUtil();
                        QueryMasterData ndata = new QueryMasterData();
                        ndata.name(tableXml.getChildText("name"));
                        queryNamemrnlistText.setText(ndata.name());
                        ndata.xmlContent(null);
                        ndata.id(tableXml.getChildTextTrim("query_master_id"));
                        ndata.userId(tableXml.getChildTextTrim("user_id"));

                        String xmlcontent = null;
                        String xmlrequest = null;

                        xmlrequest = ndata.writeDefinitionQueryXML();
                        lastRequestMessage(xmlrequest);

                        if (System.getProperty("webServiceMethod").equals("SOAP")) {
                            xmlcontent = PDOQueryClient.sendPDQQueryRequestSOAP(xmlrequest);
                        } else {
                            xmlcontent = PDOQueryClient.sendPDQQueryRequestREST(xmlrequest);
                        }
                        lastResponseMessage(xmlcontent);

                        if (xmlcontent == null) {

                            return;
                        } else {
                            log.debug("Query content response: " + xmlcontent);
                            ndata.xmlContent(xmlcontent);
                        }

                        JAXBElement jaxbElement = jaxbUtil.unMashallFromString(ndata.xmlContent());
                        ResponseMessageType messageType = (ResponseMessageType) jaxbElement.getValue();

                        BodyType bt = messageType.getMessageBody();
                        MasterResponseType masterResponseType = (MasterResponseType) new JAXBUnWrapHelper()
                                .getObjectByClass(bt.getAny(), MasterResponseType.class);
                        RequestXmlType requestXmlType = masterResponseType.getQueryMaster().get(0)
                                .getRequestXml();

                        org.w3c.dom.Element element = (org.w3c.dom.Element) requestXmlType.getContent().get(0);
                        if (element != null) {
                            log.debug("query definition not null");
                        } else {
                            log.error("query definition is null");
                        }

                        String domString = edu.harvard.i2b2.common.util.xml.XMLUtil
                                .convertDOMElementToString(element);
                        log.debug("string output" + domString);

                        JAXBContext jc1 = JAXBContext
                                .newInstance(edu.harvard.i2b2.crcxmljaxb.datavo.psm.query.ObjectFactory.class);
                        Unmarshaller unMarshaller = jc1.createUnmarshaller();
                        JAXBElement queryDefinitionJaxbElement = (JAXBElement) unMarshaller
                                .unmarshal(new StringReader(domString));

                        QueryDefinitionType queryDefinitionType = (QueryDefinitionType) queryDefinitionJaxbElement
                                .getValue();
                        int numOfPanels = queryDefinitionType.getPanel().size();
                        for (int i = 0; i < numOfPanels; i++) {
                            PanelType panelType = queryDefinitionType.getPanel().get(i);

                            for (int j = 0; j < panelType.getItem().size(); j++) {
                                ItemType itemType = panelType.getItem().get(j);
                                QueryModel nodedata = new QueryModel();

                                nodedata.name(itemType.getItemName());
                                nodedata.visualAttribute("FA");
                                nodedata.tooltip(itemType.getTooltip());
                                nodedata.fullname(itemType.getItemKey());
                                nodedata.hlevel(new Integer(itemType.getHlevel()).toString());

                                String status = nodedata.setXmlContent();
                                if (status.equalsIgnoreCase("error")) {
                                    MessageBox mBox = new MessageBox(table.getShell(),
                                            SWT.ICON_INFORMATION | SWT.OK);
                                    mBox.setText("Please Note ...");
                                    mBox.setMessage(
                                            "Response delivered from the remote server could not be understood,\n"
                                                    + "you may wish to retry your last action.");
                                    mBox.open();
                                    event.detail = DND.DROP_NONE;

                                    return;
                                }
                                nodeXmls.add(nodedata);
                            }
                        }
                        populateTable(nodeXmls);

                        // get query instance
                        String xmlRequest = ndata.writeContentQueryXML();
                        lastRequestMessage(xmlRequest);
                        // log.debug(xmlRequest);
                        String xmlResponse = PDOQueryClient.sendPDQQueryRequestREST(xmlRequest);
                        lastResponseMessage(xmlResponse);

                        jaxbElement = jaxbUtil.unMashallFromString(xmlResponse);
                        messageType = (ResponseMessageType) jaxbElement.getValue();
                        bt = messageType.getMessageBody();
                        InstanceResponseType instanceResponseType = (InstanceResponseType) new JAXBUnWrapHelper()
                                .getObjectByClass(bt.getAny(), InstanceResponseType.class);

                        QueryInstanceData instanceData = null;
                        XMLGregorianCalendar startDate = null;
                        for (QueryInstanceType queryInstanceType : instanceResponseType.getQueryInstance()) {
                            QueryInstanceData runData = new QueryInstanceData();

                            runData.visualAttribute("FA");
                            runData.tooltip("The results of the query run");
                            runData.id(new Integer(queryInstanceType.getQueryInstanceId()).toString());
                            XMLGregorianCalendar cldr = queryInstanceType.getStartDate();
                            runData.name("Results of " + "[" + cldr.getMonth() + "-" + cldr.getDay() + "-"
                                    + cldr.getYear() + " " + cldr.getHour() + ":" + cldr.getMinute() + ":"
                                    + cldr.getSecond() + "]");

                            if (instanceData == null) {
                                startDate = cldr;
                                instanceData = runData;
                            } else {
                                if (cldr.toGregorianCalendar().compareTo(startDate.toGregorianCalendar()) > 0) {
                                    startDate = cldr;
                                    instanceData = runData;
                                }
                            }
                        }
                        // get patient set
                        if (instanceData == null) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                        log.debug("Got query instance: " + instanceData.name());

                        xmlRequest = instanceData.writeContentQueryXML();
                        lastRequestMessage(xmlRequest);

                        xmlResponse = PDOQueryClient.sendPDQQueryRequestREST(xmlRequest);
                        lastResponseMessage(xmlResponse);

                        jaxbElement = jaxbUtil.unMashallFromString(xmlResponse);
                        messageType = (ResponseMessageType) jaxbElement.getValue();
                        bt = messageType.getMessageBody();
                        ResultResponseType resultResponseType = (ResultResponseType) new JAXBUnWrapHelper()
                                .getObjectByClass(bt.getAny(), ResultResponseType.class);

                        for (QueryResultInstanceType queryResultInstanceType : resultResponseType
                                .getQueryResultInstance()) {
                            if (!(queryResultInstanceType.getQueryResultType().getName()
                                    .equalsIgnoreCase("PATIENTSET"))) {
                                continue;
                            }

                            String status = queryResultInstanceType.getQueryStatusType().getName();

                            if (status.equalsIgnoreCase("FINISHED")) {
                                // resultData.name("Patient Set - "+resultData
                                // .patientCount()+" Patients");
                                // QueryResultData resultData = new
                                // QueryResultData();
                                String setId = new Integer(queryResultInstanceType.getResultInstanceId())
                                        .toString();
                                String setSize = new Integer(queryResultInstanceType.getSetSize()).toString();
                                patientSetText.setText("Patient Set: " + setSize + " patients");// strs[0]);
                                patientRefId = new String(setId);// strs[1]);
                                patientMinNumText.setText("1");
                                leftArrowButton.setEnabled(false);

                                int maxPatientNum = new Integer(patientMaxNumText.getText()).intValue();
                                patientSetSize = queryResultInstanceType.getSetSize();
                                if (patientSetSize > maxPatientNum) {
                                    rightArrowButton.setEnabled(true);
                                    patientMaxNumText.setText("10");
                                } else {
                                    rightArrowButton.setEnabled(false);
                                    if (patientSetSize > 0) {
                                        patientMaxNumText.setText(setSize);
                                    }
                                }

                                log.debug("Dropped set of: " + setSize + " patients"/* strs[0] */
                                        + " with refId: " + setId/*
                                                                 * strs[ 1 ]
                                                                 */);
                            } else {
                                // message
                            }
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        return;
                    }
                } else {
                    List conceptChildren = tableXml.getChildren();
                    parseDropConcepts(conceptChildren, event);
                    // System.setProperty("XMLfrommodel",(String)
                    // event.data);
                    table.redraw();
                    queryNamemrnlistText.setText("Query Name: ");
                    groupNameText.setText("Panel Name: ");
                }

                event.detail = DND.DROP_NONE;
            } catch (JDOMException e) {
                System.err.println(e.getMessage());
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("You can not drop this item here.");
                mBox.open();
                event.detail = DND.DROP_NONE;
                e.printStackTrace();
                return;
            } catch (Exception e) {
                System.err.println(e.getMessage());
                event.detail = DND.DROP_NONE;
                e.printStackTrace();
                return;
            }
        }

        public void dragEnter(DropTargetEvent event) {
            event.detail = DND.DROP_COPY;
        }
    });

    DropTarget target1 = new DropTarget(patientSetText, DND.DROP_COPY);
    target1.setTransfer(types);
    target1.addDropListener(new DropTargetAdapter() {
        @SuppressWarnings("unchecked")
        public void drop(DropTargetEvent event) {
            if (event.data == null) {
                event.detail = DND.DROP_NONE;
                return;
            }

            String tmp = patientSetText.getText();
            String dragStr = (String) event.data;
            String[] strs = dragStr.split(":");
            if (strs[0].equalsIgnoreCase("logicquery")) {
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("You can not drop this item here. It accepts a patient set only.");
                mBox.open();
                event.detail = DND.DROP_NONE;
                patientSetText.setText(tmp);
                return;
            }

            JAXBUtil jaxbUtil = ExplorerJAXBUtil.getJAXBUtil();

            try {
                JAXBElement jaxbElement = jaxbUtil.unMashallFromString(dragStr);
                DndType dndType = (DndType) jaxbElement.getValue();
                QueryResultInstanceType queryResultInstanceType = (QueryResultInstanceType) new JAXBUnWrapHelper()
                        .getObjectByClass(dndType.getAny(), QueryResultInstanceType.class);

                if (queryResultInstanceType == null) {
                    MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                    mBox.setText("Please Note ...");
                    mBox.setMessage("You can not drop this item here. It accepts a patient set only.");
                    mBox.open();
                    event.detail = DND.DROP_NONE;
                    patientSetText.setText(tmp);
                    return;
                }

                String resultTypeName = queryResultInstanceType.getQueryResultType().getName();
                if (resultTypeName == null || !resultTypeName.equalsIgnoreCase("PATIENTSET")) {
                    MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                    mBox.setText("Please Note ...");
                    mBox.setMessage("You can not drop this item here. It accepts a patient set only.");
                    mBox.open();
                    event.detail = DND.DROP_NONE;
                    patientSetText.setText(tmp);
                    return;
                }

                String setId = queryResultInstanceType.getResultInstanceId();
                String setSize = new Integer(queryResultInstanceType.getSetSize()).toString();
                patientSetText.setText(queryResultInstanceType.getDescription());// "Patient Set: " + setSize
                // + " patients");// strs[0]);
                patientRefId = new String(setId);// strs[1]);
                patientMinNumText.setText("1");
                leftArrowButton.setEnabled(false);
                queryNamemrnlistText.setText("Query Name: ");
                // groupNameText.setText("Panel Name: ");

                int maxPatientNum = new Integer(patientMaxNumText.getText()).intValue();
                patientSetSize = queryResultInstanceType.getSetSize();
                if (patientSetSize > maxPatientNum) {
                    rightArrowButton.setEnabled(true);
                    patientMaxNumText.setText("10");
                } else {
                    rightArrowButton.setEnabled(false);
                    // if(patientSetSize>0) {
                    // patientMaxNumText.setText(setSize);
                    // }
                }

                log.debug("Dropped set of: " + setSize + " patients"/*
                                                                    * strs[0
                                                                    * ]
                                                                    */
                        + " with refId: " + setId/* strs[1] */);
            } catch (Exception e) {
                e.printStackTrace();
                event.detail = DND.DROP_NONE;
                return;
            }
        }

        public void dragEnter(DropTargetEvent event) {
            event.detail = DND.DROP_COPY;
        }
    });

    table.addCellResizeListener(new KTableCellResizeListener() {
        public void columnResized(int col, int newWidth) {
            log.debug("Column " + col + " resized to " + newWidth);
        }

        public void rowResized(int newHeight) {
            log.debug("Rows resized to " + newHeight);
        }

    });

    table.addListener(SWT.Resize, new Listener() {
        public void handleEvent(Event event) {
            int tableWidth = table.getBounds().width;
            table.getModel().setColumnWidth(1, tableWidth - 505);
        }
    });

    table.addMouseTrackListener(new MouseTrackListener() {

        public void mouseEnter(MouseEvent arg0) {

        }

        public void mouseExit(MouseEvent arg0) {

        }

        public void mouseHover(MouseEvent arg0) {
            MouseEvent evt = arg0;

            Rectangle rect = table.getCellRect(3, getRowNumber());
            Rectangle rect1 = table.getCellRect(5, 1);

            // System.out.println("rect X and width: "+rect.x+","+rect.width)
            // ;
            // System.out.println("mouse X and Y: "+evt.x+","+evt.y);
            if (evt.y < rect.y && evt.x > rect1.x && evt.x < rect1.x + rect1.width) {
                table.setToolTipText("Double click the cell to change color.");
            } else {
                table.setToolTipText("");
            }
        }

    });

    // Item 2: a Color Palette
    TabItem item2 = new TabItem(tabFolder, SWT.NONE);
    item2.setText("Render a Timeline");
    final Composite comp2 = new Composite(tabFolder, SWT.NONE);
    item2.setControl(comp2);

    GridLayout oGridLayout0 = new GridLayout();
    oGridLayout0.marginWidth = 1;
    oGridLayout0.marginHeight = 5;
    comp2.setLayout(oGridLayout0);

    if (false) {
        Composite composite = new Composite(comp2, SWT.NO_BACKGROUND | SWT.EMBEDDED);

        /*
         * Set a Windows specific AWT property that prevents heavyweight
         * components from erasing their background. Note that this is a
         * global property and cannot be scoped. It might not be suitable
         * for your application.
         */
        try {
            // System.setProperty("sun.awt.noerasebackground", "true");
        } catch (NoSuchMethodError error) {
        }

        /* Create and setting up frame */
        ////for mac fix
        //if ( System.getProperty("os.name").toLowerCase().startsWith("mac"))
        //SWT_AWT.embeddedFrameClass = "sun.lwawt.macosx.CViewEmbeddedFrame";
        Frame frame = SWT_AWT.new_Frame(composite);
        Panel panel = new Panel(new BorderLayout()) {
            public void update(java.awt.Graphics g) {
                /* Do not erase the background */
                paint(g);
            }
        };
        frame.add(panel);
        JRootPane root = new JRootPane();
        panel.add(root);
        java.awt.Container contentPane = root.getContentPane();
        log.debug("got to here");

        Record record1 = new Record();
        // record1.start();
        record1.init();

        JScrollPane scrollPane = new JScrollPane(record1);
        contentPane.setLayout(new BorderLayout());
        contentPane.add(scrollPane);
    }

    if (true) {
        Composite composite = new Composite(comp2, SWT.NO_BACKGROUND | SWT.EMBEDDED);
        GridData gridData3 = new GridData();
        gridData3.horizontalIndent = 0;
        gridData3.verticalIndent = 0;
        gridData3.horizontalAlignment = GridData.FILL;
        gridData3.verticalAlignment = GridData.FILL;
        gridData3.grabExcessHorizontalSpace = true;
        gridData3.grabExcessVerticalSpace = true;
        composite.setLayoutData(gridData3);
        /* Create and setting up frame */
        ////for mac fix
        //if ( System.getProperty("os.name").toLowerCase().startsWith("mac"))
        //SWT_AWT.embeddedFrameClass = "sun.lwawt.macosx.CViewEmbeddedFrame";
        Frame frame = SWT_AWT.new_Frame(composite);
        Panel panel = new Panel(new BorderLayout());// {

        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            log.debug("Error setting native LAF: " + e);
        }

        frame.add(panel);
        JRootPane root = new JRootPane();
        panel.add(root);
        oAwtContainer = root.getContentPane();
        log.debug("got to here");
    }

    tabFolder.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            runMode = 0;
            ConceptTableModel i2b2Model = (ConceptTableModel) table.getModel();
            i2b2Model.fillDataFromTable(rowData);
            if (rowData.size() == 0) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(0);
                    }
                });
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("The set up table is empty.");
                mBox.open();
                return;
            }

            String patientSetStr = patientSetText.getText();
            if (patientSetStr.equals("") && !isAll) {
                oTheParent.getDisplay().syncExec(new Runnable() {
                    public void run() {
                        tabFolder.setSelection(0);
                    }
                });
                MessageBox mBox = new MessageBox(table.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                mBox.setText("Please Note ...");
                mBox.setMessage("Please set a patient set or choose all datamart option.");
                mBox.open();
                return;
            }

            if (tabFolder.getSelectionIndex() == 1) {
                if (patientSetStr.equalsIgnoreCase("All")) {
                    int minPatient = 0;
                    try {
                        String minText = patientMinNumText.getText();
                        minPatient = Integer.parseInt(minText);
                    } catch (Exception e1) {
                        minPatient = -1;
                    }

                    int maxPatient = 0;
                    try {
                        maxPatient = Integer.parseInt(patientMaxNumText.getText());
                    } catch (Exception e2) {
                        maxPatient = -1;
                    }
                    PerformVisualizationQuery(oAwtContainer, "All", minPatient, maxPatient, bDisplayAllData);
                } else {
                    int min = Integer.parseInt(patientMinNumText.getText());
                    int max = Integer.parseInt(patientMaxNumText.getText());
                    int start = new Integer(patientMinNumText.getText()).intValue();
                    int inc = new Integer(patientMaxNumText.getText()).intValue();
                    if (start + inc - 1 > patientSetSize) {
                        rightArrowButton.setEnabled(false);
                    }
                    //patientMinNumText.setText("" + (start + inc));
                    leftArrowButton.setEnabled(true);

                    PerformVisualizationQuery(oAwtContainer, patientRefId, min, max - 1, bDisplayAllData);
                }

                // getDisplay().syncExec(new Runnable() {
                // public void run() {
                // if(returnedNumber >= 0) {
                // //setDecreaseNumber(returnedNumber);
                // MessageBox mBox = new MessageBox(getShell(),
                // SWT.ICON_INFORMATION
                // | SWT.OK);
                // mBox.setText("Please Note ...");
                // mBox.setMessage(/*"Can't return all the requested "+
                // requestIndex+" patients, */"Only "+returnedNumber+"
                // patients returned");
                // mBox.open();
                // }
                // }
                // });
            } else {
                patientMinNumText.setText("1");
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        DestroyMiniVisualization(oAwtContainer);
                    }
                });
            }
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });

    if (drawLeft) {
        horizontalForm.setWeights(new int[] { 30, 70 });
    }

    return parent;
}

From source file:it.isislab.dmason.util.SystemManagement.Master.thrower.DMasonMaster.java

private void initComponents() {
    menuBar1 = new JMenuBar();
    jMenuFile = new JMenu();
    //menuItemOpen = new JMenuItem();
    menuItemExit = new JMenuItem();
    jMenuAbout = new JMenu();
    menuItemInfo = new JMenuItem();
    menuItemHelp = new JMenuItem();
    panelMain = new JPanel();
    jPanelContainerConnection = new JPanel();
    jPanelConnection = new JPanel();
    jLabelAddress = new JLabel();
    textFieldAddress = new JTextField();
    jLabelPort = new JLabel();
    textFieldPort = new JTextField();
    refreshServerLabel = new JLabel();
    buttonRefreshServerLabel = new JButton();
    jPanelContainerSettings = new JPanel();
    jPanelSetDistribution = new JPanel();
    jPanelSettings = new JPanel();
    jLabelHorizontal = new JLabel();
    jLabelSquare = new JLabel();
    jLabelMaxDistance = new JLabel();
    jLabelWidth = new JLabel();
    jLabelInsertSteps = new JLabel();
    textFieldMaxDistance = new JTextField();
    textFieldWidth = new JTextField();
    jLabelHeight = new JLabel();
    textFieldHeight = new JTextField();
    jLabelAgents = new JLabel();
    textFieldAgents = new JTextField();
    textFieldColumns = new JTextField();
    textFieldRows = new JTextField();
    textFieldSteps = new JTextField();
    jLabelChooseSimulation = new JLabel();
    jComboBoxChooseSimulation = new JComboBox();
    jComboBoxNumRegionXPeer = new JComboBox();
    jPanelContainerTabbedPane = new JPanel();
    tabbedPane2 = new JTabbedPane();
    jPanelDefault = new JPanel();
    jPanelSimulation = new ModelPanel(tabbedPane2);
    labelSimulationConfigSet = new JLabel();
    labelRegionsResume = new JLabel();
    labelNumOfPeerResume = new JLabel();
    labelRegForPeerResume = new JLabel();
    labelWriteReg = new JLabel();
    labelWriteNumOfPeer = new JLabel();
    labelWriteRegForPeer = new JLabel();
    labelWidthRegion = new JLabel();
    labelheightRegion = new JLabel();
    labelDistrMode = new JLabel();
    labelWriteRegWidth = new JLabel();
    labelWriteRegHeight = new JLabel();
    labelWriteDistrMode = new JLabel();
    graphicONcheckBox2 = new JCheckBox();
    jPanelSetButton = new JPanel();
    buttonSetConfigDefault = new JButton();
    jPanelAdvanced = new JPanel();
    jPanelAdvancedMain = new JPanel();
    peerInfoStatus = new JDesktopPane();
    internalFrame1 = new JInternalFrame();
    architectureLabel = new JTextArea();
    architectureLabel.setBackground(Color.BLACK);
    architectureLabel.setForeground(Color.GREEN);
    architectureLabel.setEditable(false);
    advancedConfirmBut = new JLabel();
    graphicONcheckBox = new JCheckBox();
    jCheckBoxLoadBalancing = new JCheckBox("Load Balancing", false);
    jCheckBoxLoadBalancing.setEnabled(true);
    jCheckBoxLoadBalancing.setSelected(false);

    jCheckBoxMPI = new JCheckBox("Enable MPI", false);
    jCheckBoxMPI.setEnabled(true);//  w w  w .  j a v  a  2 s  .  c  om
    jCheckBoxMPI.setSelected(false);

    scrollPaneTree = new JScrollPane();
    tree1 = new JTree();
    buttonSetConfigAdvanced = new JButton();
    jLabelPlayButton = new JLabel();
    jLabelPauseButton = new JLabel();
    jPanelNumStep = new JPanel();
    jLabelStep = new JLabel();
    jLabelStep.setHorizontalAlignment(SwingConstants.LEFT);
    jLabelStopButton = new JLabel();
    scrollPane1 = new JScrollPane();
    peerInfoStatus1 = new JDesktopPane();
    root = new DefaultMutableTreeNode("Simulation");
    ButtonGroup b = new ButtonGroup();
    ip = textFieldAddress.getText();
    port = textFieldPort.getText();
    menuBar1 = new JMenuBar();
    jMenuFile = new JMenu();
    menuItemExit = new JMenuItem();
    menuNewSim = new JMenuItem();
    jMenuAbout = new JMenu();
    menuItemInfo = new JMenuItem();
    menuItemHelp = new JMenuItem();
    scrollPane3 = new JScrollPane();
    scrollPane4 = new JScrollPane();
    notifyArea = new JTextArea();
    panelConsole = new JPanel();
    buttonSetConfigDefault2 = new JButton();
    jPanelSetButton2 = new JPanel();
    graphicONcheckBox = new JCheckBox();
    graphicONcheckBox.setEnabled(false);
    graphicONcheckBox.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent e) {
            withGui = graphicONcheckBox.isSelected();
        }
    });

    jLabelChooseSimulation = new JLabel();
    jComboBoxChooseSimulation = new JComboBox();

    loadSimulation();

    selectedSimulation = ((SimComboEntry) jComboBoxChooseSimulation.getSelectedItem()).fullSimName;
    jPanelSimulation.updateHTML(selectedSimulation);
    jComboBoxChooseSimulation.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            // Prevent executing listener's actions two times
            if (e.getStateChange() != ItemEvent.SELECTED)
                return;
            selectedSimulation = ((SimComboEntry) jComboBoxChooseSimulation.getSelectedItem()).fullSimName;
            jPanelSimulation.updateHTML(selectedSimulation);
            isThin = isThinSimulation(selectedSimulation);
            jCheckBoxLoadBalancing.setSelected(false);
            jCheckBoxLoadBalancing.setEnabled(!isThin);
            initializeDefaultLabel();
        }
    });

    /*for(int i=2;i<100;i++)
       jComboRegions.addItem(i);*/

    buttonRefreshServerLabel.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent arg0) {
            connect();
        }
    });

    refreshServerLabel.addMouseListener(new MouseListener() {

        @Override
        public void mouseReleased(MouseEvent arg0) {
            if (starter.isConnected())
                starter.execute("restart");
            else
                JOptionPane.showMessageDialog(null, "Not connected to the Server!");
        }

        @Override
        public void mousePressed(MouseEvent arg0) {
        }

        @Override
        public void mouseExited(MouseEvent arg0) {
        }

        @Override
        public void mouseEntered(MouseEvent arg0) {
        }

        @Override
        public void mouseClicked(MouseEvent arg0) {
        }
    });

    jCheckBoxLoadBalancing.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            if (!isHorizontal) {
                if (jCheckBoxLoadBalancing.isSelected())
                    labelWriteDistrMode.setText("SQUARE BALANCED MODE");
                else
                    labelWriteDistrMode.setText("SQUARE MODE");
            }

            if (isHorizontal) {
                if (jCheckBoxLoadBalancing.isSelected())
                    labelWriteDistrMode.setText("HORIZONTAL BALANCED MODE");
                else
                    labelWriteDistrMode.setText("HORIZONTAL MODE");
            }

        }
    });

    buttonSetConfigDefault2.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            if (initializeDefaultLabel())
                submitCustomizeMode();
            else
                JOptionPane.showMessageDialog(null, "To start a simulation must fill in all fields...!");
        }
    });

    buttonSetConfigDefault.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            if (initializeDefaultLabel())
                submitDefaultMode();
            else
                JOptionPane.showMessageDialog(null, "To start a simulation must fill in all fields...!");
        }
    });

    advancedConfirmBut.addMouseListener(new MouseListener() {

        @Override
        public void mouseReleased(MouseEvent arg0) {
            confirm();
            res -= (Integer) jComboBoxNumRegionXPeer.getSelectedItem();

            withGui = graphicONcheckBox.isSelected();

            jComboBoxNumRegionXPeer.removeAllItems();
            graphicONcheckBox.setSelected(false);
            for (int i = 1; i <= res; i++)
                jComboBoxNumRegionXPeer.addItem(i);

            JOptionPane.showMessageDialog(null, "Region assigned !");

        }

        @Override
        public void mousePressed(MouseEvent arg0) {
        }

        @Override
        public void mouseExited(MouseEvent arg0) {
        }

        @Override
        public void mouseEntered(MouseEvent arg0) {
        }

        @Override
        public void mouseClicked(MouseEvent arg0) {
        }
    });

    //======== this ========

    Container contentPane = getContentPane();

    //======== menuBar1 ========
    {
        {
            jMenuFile.setText("    File    ");

            menuNewSim.setText("New    ");
            menuNewSim.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    me.dispose();
                    me = null;
                    DMasonMaster p = new DMasonMaster();
                    p.setVisible(true);
                }
            });

            jMenuFile.add(menuNewSim);

            //---- menuItemExit ----
            menuItemExit.setText("Exit");
            menuItemExit.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    me.dispose();
                }
            });

            jMenuFile.add(menuItemExit);
        }
        menuBar1.add(jMenuFile);
        menuBar1.add(getJMenuSystem());

        //======== jMenuAbout ========
        {
            jMenuAbout.setText(" ?  ");

            //---- menuItemInfo ----
            menuItemInfo.setText("Info");
            menuItemInfo.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    JOptionPane.showMessageDialog(null, Release.PRODUCT_RELEASE, "Info", 1);

                }
            });

            jMenuAbout.add(menuItemInfo);

            //---- menuItenHelp ----
            menuItemHelp.setText("Help");
            menuItemHelp.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    try {
                        java.net.URI uri = new java.net.URI(
                                "http://isis.dia.unisa.it/projects/it.isislab.dmason/");
                        try {
                            java.awt.Desktop.getDesktop().browse(uri);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    } catch (URISyntaxException e) {
                        e.printStackTrace();
                    }

                }
            });

            jMenuAbout.add(menuItemHelp);

        }
        menuBar1.add(jMenuAbout);
    }

    setJMenuBar(menuBar1);

    //======== panelMain ========
    {

        //======== jPanelContainerConnection ========
        {

            //======== jPanelConnection ========
            {
                jPanelConnection.setBorder(new TitledBorder("Connection"));
                jPanelConnection.setPreferredSize(new Dimension(215, 125));

                //---- jLabelAddress ----
                jLabelAddress.setText("IP Address :");

                //---- textFieldAddress ----
                textFieldAddress.setText("127.0.0.1");

                //---- jLabelPort ----
                jLabelPort.setText("Port :");

                //---- textFieldPort ----
                textFieldPort.setText("61616");

                //---- refreshServerLabel ----

                refreshServerLabel.setIcon(new ImageIcon("resources/image/refresh.png"));

                //---- buttonRefreshServerLabel ----
                buttonRefreshServerLabel.setText("OK");

                JLabel lblStatus = new JLabel("Communication Server status :");

                lblStatusIcon = new JLabel("");
                lblStatusIcon.setIcon(new ImageIcon("resources/image/status-down.png"));

                buttonActiveMQRestart = new JButton("");
                buttonActiveMQRestart.setEnabled(false);
                buttonActiveMQRestart.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent arg0) {

                        notifyArea.append("ActiveMQ restarting...\n");
                        if (csManager.restartActiveMQ())
                            notifyArea.append("ActiveMQ restarted!\n");

                        checkCommunicationServerStatus();

                    }
                });
                buttonActiveMQRestart.setMinimumSize(new Dimension(24, 24));
                buttonActiveMQRestart.setMaximumSize(new Dimension(24, 24));
                buttonActiveMQRestart.setPreferredSize(new Dimension(24, 24));
                buttonActiveMQRestart.setIcon(new ImageIcon("resources/image/LH2 - Restart.png"));

                buttonActiveMQStart = new JButton("");
                buttonActiveMQStart.setEnabled(false);
                buttonActiveMQStart.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent arg0) {
                        notifyArea.append("ActiveMQ starting...\n");
                        if (csManager.startActiveMQ())
                            notifyArea.append("ActiveMQ started!\n");

                        checkCommunicationServerStatus();
                    }
                });
                buttonActiveMQStart.setPreferredSize(new Dimension(24, 24));
                buttonActiveMQStart.setMinimumSize(new Dimension(24, 24));
                buttonActiveMQStart.setMaximumSize(new Dimension(24, 24));
                buttonActiveMQStart.setIcon(new ImageIcon("resources/image/LH2 - Shutdown.png"));

                buttonActiveMQStop = new JButton("");
                buttonActiveMQStop.setEnabled(false);
                buttonActiveMQStop.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent arg0) {
                        notifyArea.append("ActiveMQ stopping...\n");
                        if (csManager.stopActiveMQ())
                            notifyArea.append("ActiveMQ stopped!\n");

                        checkCommunicationServerStatus();
                    }
                });
                buttonActiveMQStop.setPreferredSize(new Dimension(24, 24));
                buttonActiveMQStop.setMinimumSize(new Dimension(24, 24));
                buttonActiveMQStop.setMaximumSize(new Dimension(24, 24));
                buttonActiveMQStop.setIcon(new ImageIcon("resources/image/LH2 - Stop.png"));

                btnCheckPeers = new JButton("Check Peers");
                btnCheckPeers.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        try {
                            checkPeers();
                        } catch (Exception e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    }
                });

                GroupLayout jPanelConnectionLayout = new GroupLayout(jPanelConnection);
                jPanelConnectionLayout.setHorizontalGroup(jPanelConnectionLayout
                        .createParallelGroup(Alignment.LEADING)
                        .addGroup(jPanelConnectionLayout.createSequentialGroup().addGroup(jPanelConnectionLayout
                                .createParallelGroup(Alignment.LEADING)
                                .addGroup(jPanelConnectionLayout.createSequentialGroup()
                                        .addGroup(jPanelConnectionLayout.createParallelGroup(Alignment.TRAILING)
                                                .addComponent(refreshServerLabel)
                                                .addGroup(jPanelConnectionLayout.createSequentialGroup()
                                                        .addComponent(buttonActiveMQStart,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.DEFAULT_SIZE,
                                                                GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(buttonActiveMQRestart,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.DEFAULT_SIZE,
                                                                GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(buttonActiveMQStop,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.DEFAULT_SIZE,
                                                                GroupLayout.PREFERRED_SIZE)
                                                        .addGap(111).addComponent(jLabelAddress).addGap(18)
                                                        .addComponent(textFieldAddress,
                                                                GroupLayout.PREFERRED_SIZE, 91,
                                                                GroupLayout.PREFERRED_SIZE)
                                                        .addGap(18).addComponent(jLabelPort).addGap(18)
                                                        .addComponent(textFieldPort, GroupLayout.PREFERRED_SIZE,
                                                                85, GroupLayout.PREFERRED_SIZE)
                                                        .addGap(46).addComponent(buttonRefreshServerLabel)))
                                        .addGap(51).addComponent(btnCheckPeers))
                                .addGroup(jPanelConnectionLayout.createSequentialGroup().addComponent(lblStatus)
                                        .addPreferredGap(ComponentPlacement.RELATED)
                                        .addComponent(lblStatusIcon)))
                                .addContainerGap(71, Short.MAX_VALUE)));
                jPanelConnectionLayout.setVerticalGroup(jPanelConnectionLayout
                        .createParallelGroup(Alignment.TRAILING)
                        .addGroup(jPanelConnectionLayout.createSequentialGroup().addGroup(jPanelConnectionLayout
                                .createParallelGroup(Alignment.LEADING)
                                .addGroup(jPanelConnectionLayout.createSequentialGroup()
                                        .addGroup(jPanelConnectionLayout.createParallelGroup(Alignment.LEADING)
                                                .addComponent(lblStatus).addComponent(lblStatusIcon))
                                        .addPreferredGap(ComponentPlacement.RELATED)
                                        .addGroup(jPanelConnectionLayout.createParallelGroup(Alignment.LEADING)
                                                .addComponent(buttonActiveMQRestart, GroupLayout.PREFERRED_SIZE,
                                                        GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addComponent(buttonActiveMQStart, GroupLayout.PREFERRED_SIZE,
                                                        GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addComponent(buttonActiveMQStop, GroupLayout.PREFERRED_SIZE,
                                                        GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                        .addPreferredGap(ComponentPlacement.RELATED, 1, Short.MAX_VALUE))
                                .addGroup(jPanelConnectionLayout.createSequentialGroup()
                                        .addContainerGap(18, Short.MAX_VALUE).addComponent(refreshServerLabel)
                                        .addPreferredGap(ComponentPlacement.RELATED)
                                        .addGroup(jPanelConnectionLayout.createParallelGroup(Alignment.BASELINE)
                                                .addComponent(buttonRefreshServerLabel).addComponent(jLabelPort)
                                                .addComponent(textFieldPort, GroupLayout.PREFERRED_SIZE, 22,
                                                        GroupLayout.PREFERRED_SIZE)
                                                .addComponent(jLabelAddress)
                                                .addComponent(textFieldAddress, GroupLayout.PREFERRED_SIZE, 22,
                                                        GroupLayout.PREFERRED_SIZE)
                                                .addComponent(btnCheckPeers))))
                                .addGap(10)));
                jPanelConnectionLayout.linkSize(SwingConstants.HORIZONTAL,
                        new Component[] { buttonActiveMQRestart, buttonActiveMQStart, buttonActiveMQStop });
                jPanelConnection.setLayout(jPanelConnectionLayout);
            }

            GroupLayout jPanelContainerConnectionLayout = new GroupLayout(jPanelContainerConnection);
            jPanelContainerConnection.setLayout(jPanelContainerConnectionLayout);
            jPanelContainerConnectionLayout
                    .setHorizontalGroup(jPanelContainerConnectionLayout.createParallelGroup()
                            .addGroup(jPanelContainerConnectionLayout
                                    .createSequentialGroup().addContainerGap().addComponent(jPanelConnection,
                                            GroupLayout.PREFERRED_SIZE, 829, GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(153, Short.MAX_VALUE)));
            jPanelContainerConnectionLayout.setVerticalGroup(
                    jPanelContainerConnectionLayout.createParallelGroup().addComponent(jPanelConnection,
                            GroupLayout.PREFERRED_SIZE, 71, GroupLayout.PREFERRED_SIZE));
        }

        //======== jPanelContainerSettings ========
        {

            GroupLayout jPanelContainerSettingsLayout = new GroupLayout(jPanelContainerSettings);
            jPanelContainerSettings.setLayout(jPanelContainerSettingsLayout);
            jPanelContainerSettingsLayout.setHorizontalGroup(
                    jPanelContainerSettingsLayout.createParallelGroup().addGap(0, 1, Short.MAX_VALUE));
            jPanelContainerSettingsLayout.setVerticalGroup(
                    jPanelContainerSettingsLayout.createParallelGroup().addGap(0, 481, Short.MAX_VALUE));
        }

        //======== jPanelSetDistribution ========
        {
            jPanelSetDistribution.setBorder(new TitledBorder("Settings"));

            //======== jPanelSettings ========
            {

                //jLabelHorizontal.setIcon(new ImageIcon("it.isislab.dmason/resources/image/hori.png")));

                //---- jLabelSquare ----
                //jLabelSquare.setIcon(new ImageIcon("it.isislab.dmason/resources/image/square.png")));

                //---- jLabelMaxDistance ----
                jLabelMaxDistance.setText("MAX_DISTANCE :");

                //---- jLabelWidth ----
                jLabelWidth.setText("WIDTH :");

                //---- jLabelInsertSteps ----
                jLabelInsertSteps.setText("STEPS :");

                //---- textFieldMaxDistance ----
                textFieldMaxDistance.setText("1");

                //---- textFieldWidth ----
                textFieldWidth.setText("200");

                //---- jLabelHeight ----
                jLabelHeight.setText("HEIGHT :");

                //---- textFieldHeight ----
                textFieldHeight.setText("200");

                //---- jLabelAgents ----
                jLabelAgents.setText("AGENTS :");

                //---- textFieldAgents ----
                textFieldAgents.setText("15");

                //---- textFieldSteps
                textFieldSteps.setText("100");

                MouseListener textFieldMouseListener = new MouseListener() {

                    @Override
                    public void mouseReleased(MouseEvent e) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void mousePressed(MouseEvent e) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void mouseExited(MouseEvent e) {
                        initializeDefaultLabel();
                    }

                    @Override
                    public void mouseEntered(MouseEvent e) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void mouseClicked(MouseEvent e) {
                        // TODO Auto-generated method stub

                    }
                };

                textFieldAgents.addMouseListener(textFieldMouseListener);
                textFieldAgents.addKeyListener(new KeyListener() {

                    @Override
                    public void keyTyped(KeyEvent e) {
                        char v = e.getKeyChar();
                        if (!(Character.isDigit(v)) || v == KeyEvent.VK_BACK_SPACE) {
                            e.consume();
                        }
                        if (textFieldAgents.getText().length() > 0)
                            initializeDefaultLabel();
                    }

                    @Override
                    public void keyReleased(KeyEvent e) {
                        //initializeDefaultLabel();
                    }

                    @Override
                    public void keyPressed(KeyEvent e) {
                    }
                });

                textFieldColumns.addMouseListener(textFieldMouseListener);
                textFieldColumns.addKeyListener(new KeyListener() {

                    @Override
                    public void keyTyped(KeyEvent e) {
                        // TODO Auto-generated method stub
                        char v = e.getKeyChar();
                        if (!(Character.isDigit(v)) || v == KeyEvent.VK_BACK_SPACE) {
                            e.consume();
                        }
                        if (textFieldColumns.getText().length() > 0)
                            initializeDefaultLabel();
                    }

                    @Override
                    public void keyReleased(KeyEvent e) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void keyPressed(KeyEvent e) {
                        // TODO Auto-generated method stub
                    }
                });

                textFieldMaxDistance.addMouseListener(textFieldMouseListener);
                textFieldMaxDistance.addKeyListener(new KeyListener() {

                    @Override
                    public void keyTyped(KeyEvent e) {
                        char v = e.getKeyChar();
                        if (!(Character.isDigit(v)) || v == KeyEvent.VK_BACK_SPACE) {
                            e.consume();
                        }
                        if (textFieldMaxDistance.getText().length() > 0)
                            initializeDefaultLabel();
                    }

                    @Override
                    public void keyReleased(KeyEvent e) {
                        //initializeDefaultLabel();
                    }

                    @Override
                    public void keyPressed(KeyEvent e) {
                    }
                });

                textFieldWidth.addMouseListener(textFieldMouseListener);
                textFieldWidth.addKeyListener(new KeyListener() {

                    @Override
                    public void keyTyped(KeyEvent e) {
                        char v = e.getKeyChar();
                        if (!(Character.isDigit(v)) || v == KeyEvent.VK_BACK_SPACE) {
                            e.consume();
                        }
                        if (textFieldWidth.getText().length() > 0)
                            initializeDefaultLabel();
                    }

                    @Override
                    public void keyReleased(KeyEvent e) {
                        //initializeDefaultLabel();
                    }

                    @Override
                    public void keyPressed(KeyEvent e) {
                    }
                });

                textFieldRows.addMouseListener(textFieldMouseListener);
                textFieldRows.addKeyListener(new KeyListener() {

                    @Override
                    public void keyTyped(KeyEvent e) {
                        char v = e.getKeyChar();
                        if (!(Character.isDigit(v)) || v == KeyEvent.VK_BACK_SPACE) {
                            e.consume();
                        }
                        if (textFieldRows.getText().length() > 0)
                            initializeDefaultLabel();
                    }

                    @Override
                    public void keyReleased(KeyEvent e) {

                    }

                    @Override
                    public void keyPressed(KeyEvent e) {
                    }
                });

                textFieldHeight.addMouseListener(textFieldMouseListener);
                textFieldHeight.addKeyListener(new KeyListener() {

                    @Override
                    public void keyTyped(KeyEvent e) {
                        char v = e.getKeyChar();
                        if (!(Character.isDigit(v)) || v == KeyEvent.VK_BACK_SPACE) {
                            e.consume();
                        }
                        if (textFieldHeight.getText().length() > 0)
                            initializeDefaultLabel();
                    }

                    @Override
                    public void keyReleased(KeyEvent arg0) {
                        //initializeDefaultLabel();
                    }

                    @Override
                    public void keyPressed(KeyEvent arg0) {
                    }
                });

                textFieldSteps.addMouseListener(textFieldMouseListener);
                textFieldSteps.addKeyListener(new KeyListener() {

                    @Override
                    public void keyTyped(KeyEvent e) {
                        char v = e.getKeyChar();
                        if (!(Character.isDigit(v)) || v == KeyEvent.VK_BACK_SPACE) {
                            e.consume();
                        }
                        if (textFieldSteps.getText().length() > 0)
                            initializeDefaultLabel();
                    }

                    @Override
                    public void keyReleased(KeyEvent e) {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void keyPressed(KeyEvent e) {
                        // TODO Auto-generated method stub

                    }
                });

                //---- jLabelChooseSimulation ----
                jLabelChooseSimulation.setText("Choose your simulation:");

                //---- jComboBoxChooseSimulation ----
                jComboBoxChooseSimulation.setMaximumRowCount(10);

                JLabel lblRows = new JLabel("ROWS :");

                JLabel lblColumns = new JLabel("COLUMNS :");

                textFieldRows.setText("1");
                textFieldRows.setEnabled(false);
                textFieldRows.setColumns(10);

                rows = Integer.parseInt(textFieldRows.getText());

                textFieldColumns.setText("2");
                textFieldColumns.setEnabled(false);
                textFieldColumns.setColumns(10);
                columns = Integer.parseInt(textFieldColumns.getText());

                textFieldSteps.setText("100");
                textFieldSteps.setEnabled(false);
                textFieldSteps.setColumns(10);
                steps = 100;

                GroupLayout jPanelSettingsLayout = new GroupLayout(jPanelSettings);
                jPanelSettingsLayout.setHorizontalGroup(jPanelSettingsLayout
                        .createParallelGroup(Alignment.LEADING)
                        .addGroup(jPanelSettingsLayout.createSequentialGroup().addGap(17)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.LEADING)
                                        .addComponent(jLabelChooseSimulation, GroupLayout.PREFERRED_SIZE, 245,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addGroup(jPanelSettingsLayout.createSequentialGroup().addGap(119)
                                                .addComponent(jLabelHorizontal))
                                        .addComponent(jComboBoxChooseSimulation, GroupLayout.PREFERRED_SIZE,
                                                214, GroupLayout.PREFERRED_SIZE)
                                        .addGroup(jPanelSettingsLayout.createSequentialGroup()
                                                .addGroup(jPanelSettingsLayout
                                                        .createParallelGroup(Alignment.TRAILING)
                                                        .addGroup(Alignment.LEADING, jPanelSettingsLayout
                                                                .createSequentialGroup()
                                                                .addGroup(jPanelSettingsLayout
                                                                        .createParallelGroup(Alignment.LEADING)
                                                                        .addComponent(lblRows,
                                                                                GroupLayout.PREFERRED_SIZE, 59,
                                                                                GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(lblColumns))
                                                                .addGap(60)
                                                                .addGroup(jPanelSettingsLayout
                                                                        .createParallelGroup(Alignment.LEADING)
                                                                        .addComponent(jLabelSquare)
                                                                        .addComponent(textFieldColumns,
                                                                                GroupLayout.DEFAULT_SIZE, 94,
                                                                                Short.MAX_VALUE)
                                                                        .addComponent(textFieldRows,
                                                                                GroupLayout.DEFAULT_SIZE, 94,
                                                                                Short.MAX_VALUE)))
                                                        .addGroup(Alignment.LEADING, jPanelSettingsLayout
                                                                .createSequentialGroup()
                                                                .addGroup(jPanelSettingsLayout
                                                                        .createParallelGroup(Alignment.LEADING)
                                                                        .addComponent(jLabelMaxDistance)
                                                                        .addComponent(jLabelWidth)
                                                                        .addComponent(jLabelHeight)
                                                                        .addComponent(jLabelAgents)
                                                                        .addComponent(jLabelInsertSteps)
                                                                        .addGap(132))
                                                                .addGroup(jPanelSettingsLayout
                                                                        .createParallelGroup(Alignment.LEADING)
                                                                        .addComponent(textFieldAgents,
                                                                                GroupLayout.PREFERRED_SIZE, 94,
                                                                                GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(textFieldHeight,
                                                                                GroupLayout.PREFERRED_SIZE, 94,
                                                                                GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(textFieldWidth,
                                                                                GroupLayout.PREFERRED_SIZE, 94,
                                                                                GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(textFieldMaxDistance,
                                                                                GroupLayout.PREFERRED_SIZE, 94,
                                                                                GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(textFieldSteps,
                                                                                GroupLayout.PREFERRED_SIZE, 94,
                                                                                GroupLayout.PREFERRED_SIZE)
                                                                        .addGap(20))))

                                                .addGap(20)))));
                jPanelSettingsLayout.setVerticalGroup(jPanelSettingsLayout
                        .createParallelGroup(Alignment.LEADING)
                        .addGroup(jPanelSettingsLayout.createSequentialGroup().addContainerGap()
                                .addComponent(jLabelHorizontal).addGap(41)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.LEADING)
                                        .addComponent(jLabelSquare)
                                        .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.BASELINE)
                                                .addComponent(lblRows, GroupLayout.PREFERRED_SIZE, 22,
                                                        GroupLayout.PREFERRED_SIZE)
                                                .addComponent(textFieldRows, GroupLayout.PREFERRED_SIZE,
                                                        GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
                                .addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE,
                                        Short.MAX_VALUE)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(textFieldColumns, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(lblColumns))
                                .addGap(18)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(jLabelMaxDistance).addComponent(textFieldMaxDistance,
                                                GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(ComponentPlacement.RELATED)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(jLabelWidth, GroupLayout.PREFERRED_SIZE, 16,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addComponent(textFieldWidth, GroupLayout.PREFERRED_SIZE, 19,
                                                GroupLayout.PREFERRED_SIZE))
                                .addGap(10)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(jLabelHeight, GroupLayout.PREFERRED_SIZE, 16,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addComponent(textFieldHeight, GroupLayout.PREFERRED_SIZE, 19,
                                                GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(ComponentPlacement.RELATED)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(jLabelAgents).addComponent(textFieldAgents,
                                                GroupLayout.PREFERRED_SIZE, 19, GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(ComponentPlacement.RELATED)
                                //.addGap(10)
                                .addGroup(jPanelSettingsLayout.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(jLabelInsertSteps, GroupLayout.PREFERRED_SIZE, 16,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addComponent(textFieldSteps, GroupLayout.PREFERRED_SIZE, 19,
                                                GroupLayout.PREFERRED_SIZE))
                                .addGap(35).addComponent(jLabelChooseSimulation)
                                .addPreferredGap(ComponentPlacement.UNRELATED)
                                .addComponent(jComboBoxChooseSimulation, GroupLayout.PREFERRED_SIZE,
                                        GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(52)));
                jPanelSettings.setLayout(jPanelSettingsLayout);
            }

            //======== jPanelContainerTabbedPane ========
            {

                //======== tabbedPane2 ========
                {

                    //======== jPanelDefault ========
                    {
                        jPanelDefault.setBorder(new EtchedBorder());
                        jPanelDefault.setPreferredSize(new Dimension(350, 331));

                        //---- labelSimulationConfigSet ----
                        labelSimulationConfigSet.setText("Simulation Configuration Settings");
                        labelSimulationConfigSet.setFont(labelSimulationConfigSet.getFont().deriveFont(
                                labelSimulationConfigSet.getFont().getStyle() | Font.BOLD,
                                labelSimulationConfigSet.getFont().getSize() + 8f));

                        //---- labelRegionsResume ----
                        labelRegionsResume.setText("REGIONS :");

                        //---- labelNumOfPeerResume ----
                        labelNumOfPeerResume.setText("NUMBER OF PEERS :");

                        //---- labelRegForPeerResume ----
                        labelRegForPeerResume.setText("REGIONS FOR PEER :");

                        //---- labelWriteReg ----
                        labelWriteReg.setText("text");

                        //---- labelWriteNumOfPeer ----
                        labelWriteNumOfPeer.setText("text");

                        //---- labelWriteRegForPeer ----
                        labelWriteRegForPeer.setText("text");

                        //---- labelWidthRegion ----
                        labelWidthRegion.setText("REGION WIDTH :");

                        //---- labelheightRegion ----
                        labelheightRegion.setText("REGION HEIGHT :");

                        //---- labelDistrMode ----
                        labelDistrMode.setText("DISTRIBUTION MODE :");

                        //---- labelWriteRegWidth ----
                        labelWriteRegWidth.setText("text");

                        //---- labelWriteRegHeight ----
                        labelWriteRegHeight.setText("text");

                        //---- labelWriteDistrMode ----
                        labelWriteDistrMode.setText("text");

                        //---- graphicONcheckBox2 ----
                        graphicONcheckBox2.setText("Graphic ON");

                        //======== jPanelSetButton ========
                        {

                            //---- buttonSetConfigDefault ----
                            buttonSetConfigDefault.setText("Set");
                            {
                                jCheckBoxLoadBalancing.setText("Load Balancing");
                            }

                            GroupLayout jPanelSetButtonLayout = new GroupLayout(jPanelSetButton);
                            jPanelSetButton.setLayout(jPanelSetButtonLayout);
                            jPanelSetButtonLayout.setVerticalGroup(jPanelSetButtonLayout.createSequentialGroup()

                                    .addGroup(jPanelSetButtonLayout.createParallelGroup().addGroup(
                                            GroupLayout.Alignment.TRAILING,
                                            jPanelSetButtonLayout.createSequentialGroup().addComponent(
                                                    jCheckBoxMPI, GroupLayout.PREFERRED_SIZE, 20,
                                                    GroupLayout.PREFERRED_SIZE)))
                                    .addGroup(jPanelSetButtonLayout.createParallelGroup()
                                            .addGroup(GroupLayout.Alignment.LEADING,
                                                    jPanelSetButtonLayout.createSequentialGroup().addComponent(
                                                            jCheckBoxLoadBalancing, GroupLayout.PREFERRED_SIZE,
                                                            20, GroupLayout.PREFERRED_SIZE))
                                            .addGroup(GroupLayout.Alignment.LEADING, jPanelSetButtonLayout
                                                    .createSequentialGroup()
                                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 0,
                                                            Short.MAX_VALUE)
                                                    .addComponent(buttonSetConfigDefault,
                                                            GroupLayout.PREFERRED_SIZE,
                                                            GroupLayout.PREFERRED_SIZE,
                                                            GroupLayout.PREFERRED_SIZE)))

                                    .addContainerGap());

                            jPanelSetButtonLayout.setHorizontalGroup(jPanelSetButtonLayout
                                    .createSequentialGroup()
                                    .addComponent(jCheckBoxMPI, GroupLayout.PREFERRED_SIZE, 120,
                                            GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(0, 0)
                                    .addComponent(jCheckBoxLoadBalancing, GroupLayout.PREFERRED_SIZE, 114,
                                            GroupLayout.PREFERRED_SIZE)
                                    .addGap(0, 150, Short.MAX_VALUE).addComponent(buttonSetConfigDefault,
                                            GroupLayout.PREFERRED_SIZE, 76, GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(0, 0));

                            FlowLayout lsetbutt = new FlowLayout();
                            lsetbutt.addLayoutComponent("", jCheckBoxMPI);
                            lsetbutt.addLayoutComponent("", jCheckBoxLoadBalancing);
                            lsetbutt.addLayoutComponent("", buttonSetConfigDefault);
                            jPanelSetButton.setLayout(lsetbutt);

                        }

                        GroupLayout jPanelDefaultLayout = new GroupLayout(jPanelDefault);
                        jPanelDefaultLayout.setHorizontalGroup(jPanelDefaultLayout
                                .createParallelGroup(Alignment.LEADING)
                                .addGroup(jPanelDefaultLayout.createSequentialGroup().addContainerGap()
                                        .addGroup(jPanelDefaultLayout.createParallelGroup(Alignment.LEADING)
                                                .addComponent(labelSimulationConfigSet,
                                                        GroupLayout.DEFAULT_SIZE, 478, Short.MAX_VALUE)
                                                .addGroup(jPanelDefaultLayout.createSequentialGroup().addGap(6)
                                                        .addGroup(jPanelDefaultLayout
                                                                .createParallelGroup(Alignment.LEADING)
                                                                .addGroup(jPanelDefaultLayout
                                                                        .createSequentialGroup()
                                                                        .addGroup(jPanelDefaultLayout
                                                                                .createParallelGroup(
                                                                                        Alignment.LEADING)
                                                                                .addComponent(
                                                                                        labelNumOfPeerResume)
                                                                                .addComponent(
                                                                                        labelRegForPeerResume)
                                                                                .addComponent(labelWidthRegion)
                                                                                .addComponent(labelheightRegion)
                                                                                .addComponent(labelDistrMode)
                                                                                .addComponent(
                                                                                        labelRegionsResume))
                                                                        .addPreferredGap(
                                                                                ComponentPlacement.RELATED, 218,
                                                                                Short.MAX_VALUE)
                                                                        .addGroup(jPanelDefaultLayout
                                                                                .createParallelGroup(
                                                                                        Alignment.LEADING)
                                                                                .addComponent(
                                                                                        labelWriteNumOfPeer,
                                                                                        GroupLayout.PREFERRED_SIZE,
                                                                                        25,
                                                                                        GroupLayout.PREFERRED_SIZE)
                                                                                .addComponent(labelWriteReg)
                                                                                .addComponent(
                                                                                        labelWriteRegForPeer)
                                                                                .addComponent(
                                                                                        labelWriteRegWidth)
                                                                                .addComponent(
                                                                                        labelWriteRegHeight)
                                                                                .addComponent(
                                                                                        labelWriteDistrMode))
                                                                        .addGap(118))
                                                                .addComponent(graphicONcheckBox2))))
                                        .addGap(211))
                                .addGroup(jPanelDefaultLayout.createSequentialGroup()
                                        .addComponent(jPanelSetButton, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addContainerGap(23, Short.MAX_VALUE)));
                        jPanelDefaultLayout.setVerticalGroup(jPanelDefaultLayout
                                .createParallelGroup(Alignment.LEADING)
                                .addGroup(jPanelDefaultLayout.createSequentialGroup().addContainerGap()
                                        .addComponent(labelSimulationConfigSet, GroupLayout.PREFERRED_SIZE, 31,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addGap(28)
                                        .addGroup(jPanelDefaultLayout.createParallelGroup(Alignment.TRAILING)
                                                .addGroup(jPanelDefaultLayout.createSequentialGroup()
                                                        .addComponent(labelRegionsResume)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(labelNumOfPeerResume)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(labelRegForPeerResume).addGap(6)
                                                        .addComponent(labelWidthRegion).addGap(6)
                                                        .addComponent(labelheightRegion)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(labelDistrMode))
                                                .addGroup(jPanelDefaultLayout.createSequentialGroup()
                                                        .addComponent(labelWriteReg)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(labelWriteNumOfPeer)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(labelWriteRegForPeer).addGap(6)
                                                        .addComponent(labelWriteRegWidth).addGap(6)
                                                        .addComponent(labelWriteRegHeight)
                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                        .addComponent(labelWriteDistrMode,
                                                                GroupLayout.PREFERRED_SIZE, 16,
                                                                GroupLayout.PREFERRED_SIZE)
                                                        .addGap(8)))
                                        .addPreferredGap(ComponentPlacement.UNRELATED)
                                        .addComponent(graphicONcheckBox2)
                                        .addPreferredGap(ComponentPlacement.RELATED, 82, Short.MAX_VALUE)
                                        .addComponent(jPanelSetButton, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)));
                        jPanelDefault.setLayout(jPanelDefaultLayout);
                    }
                    tabbedPane2.addTab("Default", jPanelDefault);

                    //======== jPanelSimulation ========

                    tabbedPane2.addTab("Simulation", jPanelSimulation);
                    //======== End jPanelSimulation ========
                    //======== jPanelAdvanced ========
                    {
                        jPanelAdvanced.setBorder(new EtchedBorder());

                        //======== jPanelAdvancedMain ========
                        {

                            //======== scrollPaneTree ========
                            {

                                //---- tree1 ----
                                tree1.setModel(new DefaultTreeModel(root));
                                DefaultTreeCellRenderer render = new DefaultTreeCellRenderer();

                                render.setOpenIcon(new ImageIcon("resources/image/network.png"));

                                render.setLeafIcon(new ImageIcon("esource/image/computer.gif"));

                                render.setClosedIcon(new ImageIcon("resources/image/network.png"));
                                tree1.setCellRenderer(render);
                                tree1.setRowHeight(25);
                                scrollPaneTree.setViewportView(tree1);
                                tree1.addTreeSelectionListener(new TreeSelectionListener() {

                                    @Override
                                    public void valueChanged(TreeSelectionEvent arg0) {
                                        if (arg0.getPath().getLastPathComponent().equals(root)) {
                                            jComboBoxNumRegionXPeer.setEnabled(true);
                                            advancedConfirmBut.setEnabled(true);
                                            graphicONcheckBox.setEnabled(true);
                                            total = Integer.parseInt(textFieldRows.getText())
                                                    * Integer.parseInt(textFieldColumns.getText()); //(Integer)jComboRegions.getSelectedItem();
                                            res = total;
                                            jComboBoxNumRegionXPeer.removeAllItems();
                                            for (int i = 1; i < res; i++)
                                                jComboBoxNumRegionXPeer.addItem(i);
                                        } else
                                            clickTreeListener();
                                    }
                                });

                            }

                            //======== peerInfoStatus ========
                            {
                                peerInfoStatus.setBorder(new TitledBorder("Settings"));
                                peerInfoStatus.setBackground(Color.lightGray);

                                //======== peerInfoStatus1 ========
                                {
                                    peerInfoStatus1.setBackground(Color.lightGray);
                                    peerInfoStatus1.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
                                    peerInfoStatus1.setBorder(null);

                                    //======== internalFrame1 ========
                                    {
                                        internalFrame1.setVisible(true);
                                        Container internalFrame1ContentPane = internalFrame1.getContentPane();

                                        //======== scrollPane1 ========
                                        {

                                            //---- label8 ----
                                            architectureLabel.setText("Architecture Information");
                                            scrollPane1.setViewportView(architectureLabel);
                                        }

                                        GroupLayout internalFrame1ContentPaneLayout = new GroupLayout(
                                                internalFrame1ContentPane);
                                        internalFrame1ContentPane.setLayout(internalFrame1ContentPaneLayout);
                                        internalFrame1ContentPaneLayout.setHorizontalGroup(
                                                internalFrame1ContentPaneLayout.createParallelGroup()
                                                        .addGroup(internalFrame1ContentPaneLayout
                                                                .createSequentialGroup().addContainerGap()
                                                                .addComponent(scrollPane1,
                                                                        GroupLayout.DEFAULT_SIZE, 0,
                                                                        Short.MAX_VALUE)
                                                                .addContainerGap()));
                                        internalFrame1ContentPaneLayout.setVerticalGroup(
                                                internalFrame1ContentPaneLayout.createParallelGroup()
                                                        .addGroup(internalFrame1ContentPaneLayout
                                                                .createSequentialGroup().addContainerGap()
                                                                .addComponent(scrollPane1,
                                                                        GroupLayout.DEFAULT_SIZE, 0,
                                                                        Short.MAX_VALUE)
                                                                .addContainerGap()));
                                    }
                                    peerInfoStatus1.add(internalFrame1, JLayeredPane.DEFAULT_LAYER);
                                    internalFrame1.setBounds(15, 0, 365, 160);
                                }

                                //---- graphicONcheckBox ----
                                graphicONcheckBox.setText("Graphic ON");

                                //---- advancedConfirmBut ----
                                advancedConfirmBut.setIcon(new ImageIcon("resources/image/ok.png"));

                                GroupLayout peerInfoStatusLayout = new GroupLayout(peerInfoStatus);
                                peerInfoStatus.setLayout(peerInfoStatusLayout);
                                peerInfoStatusLayout.setHorizontalGroup(peerInfoStatusLayout
                                        .createParallelGroup()
                                        .addGroup(peerInfoStatusLayout.createSequentialGroup()
                                                .addGroup(peerInfoStatusLayout.createParallelGroup()
                                                        .addGroup(peerInfoStatusLayout.createSequentialGroup()
                                                                .addGap(26, 26, 26)
                                                                .addComponent(graphicONcheckBox)
                                                                .addGap(73, 73, 73)
                                                                .addComponent(jComboBoxNumRegionXPeer,
                                                                        GroupLayout.PREFERRED_SIZE,
                                                                        GroupLayout.DEFAULT_SIZE,
                                                                        GroupLayout.PREFERRED_SIZE)
                                                                .addGap(80, 80, 80)
                                                                .addComponent(advancedConfirmBut,
                                                                        GroupLayout.PREFERRED_SIZE, 33,
                                                                        GroupLayout.PREFERRED_SIZE))
                                                        .addGroup(peerInfoStatusLayout.createSequentialGroup()
                                                                .addContainerGap().addComponent(peerInfoStatus1,
                                                                        GroupLayout.DEFAULT_SIZE, 387,
                                                                        Short.MAX_VALUE)))
                                                .addContainerGap()));
                                peerInfoStatusLayout.setVerticalGroup(peerInfoStatusLayout.createParallelGroup()
                                        .addGroup(peerInfoStatusLayout.createSequentialGroup()
                                                .addComponent(peerInfoStatus1, GroupLayout.PREFERRED_SIZE, 175,
                                                        GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                .addGroup(peerInfoStatusLayout
                                                        .createParallelGroup(GroupLayout.Alignment.TRAILING)
                                                        .addGroup(GroupLayout.Alignment.LEADING,
                                                                peerInfoStatusLayout
                                                                        .createParallelGroup(
                                                                                GroupLayout.Alignment.BASELINE)
                                                                        .addComponent(graphicONcheckBox)
                                                                        .addComponent(jComboBoxNumRegionXPeer,
                                                                                GroupLayout.PREFERRED_SIZE,
                                                                                GroupLayout.DEFAULT_SIZE,
                                                                                GroupLayout.PREFERRED_SIZE))
                                                        .addComponent(advancedConfirmBut,
                                                                GroupLayout.Alignment.LEADING,
                                                                GroupLayout.PREFERRED_SIZE, 28,
                                                                GroupLayout.PREFERRED_SIZE))
                                                .addContainerGap(16, Short.MAX_VALUE)));
                            }

                            GroupLayout jPanelAdvancedMainLayout = new GroupLayout(jPanelAdvancedMain);
                            jPanelAdvancedMain.setLayout(jPanelAdvancedMainLayout);
                            jPanelAdvancedMainLayout.setHorizontalGroup(jPanelAdvancedMainLayout
                                    .createParallelGroup()
                                    .addGroup(jPanelAdvancedMainLayout.createSequentialGroup().addContainerGap()
                                            .addComponent(scrollPaneTree, GroupLayout.PREFERRED_SIZE, 207,
                                                    GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                            .addComponent(peerInfoStatus, GroupLayout.DEFAULT_SIZE,
                                                    GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addContainerGap()));
                            jPanelAdvancedMainLayout.setVerticalGroup(jPanelAdvancedMainLayout
                                    .createParallelGroup()
                                    .addGroup(GroupLayout.Alignment.TRAILING, jPanelAdvancedMainLayout
                                            .createSequentialGroup().addContainerGap()
                                            .addGroup(jPanelAdvancedMainLayout
                                                    .createParallelGroup(GroupLayout.Alignment.TRAILING)
                                                    .addComponent(peerInfoStatus, GroupLayout.Alignment.LEADING,
                                                            GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
                                                            Short.MAX_VALUE)
                                                    .addComponent(scrollPaneTree, GroupLayout.Alignment.LEADING,
                                                            GroupLayout.DEFAULT_SIZE, 255, Short.MAX_VALUE))
                                            .addContainerGap()));
                        }

                        //======== jPanelSetButton2 ========
                        {

                            //---- buttonSetConfigDefault2 ----
                            buttonSetConfigDefault2.setText("Set");

                            GroupLayout jPanelSetButton2Layout = new GroupLayout(jPanelSetButton2);
                            jPanelSetButton2.setLayout(jPanelSetButton2Layout);
                            jPanelSetButton2Layout.setHorizontalGroup(jPanelSetButton2Layout
                                    .createParallelGroup().addGroup(GroupLayout.Alignment.TRAILING,
                                            jPanelSetButton2Layout.createSequentialGroup()
                                                    .addContainerGap(522, Short.MAX_VALUE)
                                                    .addComponent(buttonSetConfigDefault2,
                                                            GroupLayout.PREFERRED_SIZE, 76,
                                                            GroupLayout.PREFERRED_SIZE)
                                                    .addGap(72, 72, 72)));
                            jPanelSetButton2Layout.setVerticalGroup(jPanelSetButton2Layout.createParallelGroup()
                                    .addGroup(GroupLayout.Alignment.TRAILING,
                                            jPanelSetButton2Layout.createSequentialGroup()
                                                    .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                    .addComponent(buttonSetConfigDefault2).addContainerGap()));
                        }

                        GroupLayout jPanelAdvancedLayout = new GroupLayout(jPanelAdvanced);
                        jPanelAdvancedLayout.setHorizontalGroup(jPanelAdvancedLayout
                                .createParallelGroup(Alignment.LEADING)
                                .addGroup(jPanelAdvancedLayout.createSequentialGroup()
                                        .addGroup(jPanelAdvancedLayout.createParallelGroup(Alignment.LEADING)
                                                .addComponent(jPanelAdvancedMain, GroupLayout.DEFAULT_SIZE, 689,
                                                        Short.MAX_VALUE)
                                                .addComponent(jPanelSetButton2, GroupLayout.PREFERRED_SIZE, 681,
                                                        GroupLayout.PREFERRED_SIZE))
                                        .addContainerGap()));
                        jPanelAdvancedLayout.setVerticalGroup(jPanelAdvancedLayout
                                .createParallelGroup(Alignment.TRAILING)
                                .addGroup(jPanelAdvancedLayout.createSequentialGroup().addContainerGap()
                                        .addComponent(jPanelAdvancedMain, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGap(18).addComponent(jPanelSetButton2, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)));
                        jPanelAdvanced.setLayout(jPanelAdvancedLayout);
                    }
                    tabbedPane2.addTab("Advanced", jPanelAdvanced);

                }

                //======== panelConsole ========
                {

                    //======== scrollPane3 ========
                    {

                        //---- textField1 ----
                        notifyArea.setEditable(false);
                        DefaultCaret caret = (DefaultCaret) notifyArea.getCaret();
                        caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
                        scrollPane3.setViewportView(notifyArea);
                    }

                    GroupLayout panelConsoleLayout = new GroupLayout(panelConsole);
                    panelConsole.setLayout(panelConsoleLayout);
                    panelConsoleLayout.setHorizontalGroup(panelConsoleLayout.createParallelGroup()
                            .addGroup(panelConsoleLayout.createParallelGroup()
                                    .addGroup(panelConsoleLayout.createSequentialGroup()
                                            .addGap(0, 0, Short.MAX_VALUE)
                                            .addComponent(scrollPane3, GroupLayout.PREFERRED_SIZE, 679,
                                                    GroupLayout.PREFERRED_SIZE)
                                            .addGap(0, 0, Short.MAX_VALUE)))
                            .addGap(0, 679, Short.MAX_VALUE));
                    panelConsoleLayout.setVerticalGroup(panelConsoleLayout.createParallelGroup()
                            .addGroup(panelConsoleLayout.createParallelGroup()
                                    .addGroup(panelConsoleLayout.createSequentialGroup()
                                            .addGap(0, 0, Short.MAX_VALUE)
                                            .addComponent(scrollPane3, GroupLayout.PREFERRED_SIZE, 76,
                                                    GroupLayout.PREFERRED_SIZE)
                                            .addGap(0, 0, Short.MAX_VALUE)))
                            .addGap(0, 76, Short.MAX_VALUE));
                }

                GroupLayout jPanelContainerTabbedPaneLayout = new GroupLayout(jPanelContainerTabbedPane);
                jPanelContainerTabbedPaneLayout.setHorizontalGroup(jPanelContainerTabbedPaneLayout
                        .createParallelGroup(Alignment.LEADING)
                        .addGroup(jPanelContainerTabbedPaneLayout.createSequentialGroup().addContainerGap()
                                .addGroup(jPanelContainerTabbedPaneLayout.createParallelGroup(Alignment.LEADING)
                                        .addComponent(tabbedPane2, GroupLayout.PREFERRED_SIZE, 686,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addComponent(panelConsole, GroupLayout.DEFAULT_SIZE, 708,
                                                Short.MAX_VALUE))
                                .addContainerGap()));
                jPanelContainerTabbedPaneLayout.setVerticalGroup(jPanelContainerTabbedPaneLayout
                        .createParallelGroup(Alignment.LEADING)
                        .addGroup(jPanelContainerTabbedPaneLayout.createSequentialGroup().addGap(3)
                                .addComponent(tabbedPane2, GroupLayout.PREFERRED_SIZE, 384,
                                        GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(ComponentPlacement.RELATED)
                                .addComponent(panelConsole, GroupLayout.DEFAULT_SIZE, 87, Short.MAX_VALUE)));
                jPanelContainerTabbedPane.setLayout(jPanelContainerTabbedPaneLayout);
            }
            {
                jPanelDeploying = new JPanel();
                tabbedPane2.addTab("Simulation Jar", null, jPanelDeploying, null);
                GroupLayout jPanelDeployingLayout = new GroupLayout(jPanelDeploying);
                jPanelDeploying.setLayout(jPanelDeployingLayout);
                {
                    jButtonLoadJar = new JButton();
                    jButtonLoadJar.setText("Load Jar");
                    jButtonLoadJar.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent evt) {

                            if (simulationFile != null) {

                                File dest = new File(FTP_HOME + dirSeparator + SIMULATION_DIR + dirSeparator
                                        + simulationFile.getName());
                                try {
                                    FileUtils.copyFile(simulationFile, dest);

                                    Digester dg = new Digester(DigestAlgorithm.MD5);

                                    InputStream in = new FileInputStream(dest);

                                    Properties prop = new Properties();

                                    try {

                                        prop.setProperty("MD5", dg.getDigest(in));

                                        String fileName = FilenameUtils
                                                .removeExtension(simulationFile.getName());
                                        //save properties to project root folder
                                        prop.store(new FileOutputStream(FTP_HOME + dirSeparator + SIMULATION_DIR
                                                + dirSeparator + fileName + ".hash"), null);

                                    } catch (IOException ex) {
                                        ex.printStackTrace();
                                    }

                                    System.out.println("MD5: " + dg.getDigest(in));

                                    loadSimulation();
                                } catch (IOException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                            }
                        }
                    });

                }

                jPanelDeployingLayout.setVerticalGroup(jPanelDeployingLayout.createSequentialGroup()
                        .addGap(22, 22, 22)
                        .addGroup(jPanelDeployingLayout.createParallelGroup().addGroup(
                                GroupLayout.Alignment.LEADING,
                                jPanelDeployingLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                        .addComponent(jButtonLoadJar, GroupLayout.Alignment.BASELINE,
                                                GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addComponent(getJTextFieldPathSimJar(), GroupLayout.Alignment.BASELINE,
                                                GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.PREFERRED_SIZE))
                                .addComponent(getJButtonChoseSimJar(), GroupLayout.Alignment.LEADING,
                                        GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE,
                                        GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 286,
                                GroupLayout.PREFERRED_SIZE));
                jPanelDeployingLayout
                        .setHorizontalGroup(jPanelDeployingLayout.createSequentialGroup().addGap(22, 22, 22)
                                .addComponent(getJTextFieldPathSimJar(), GroupLayout.PREFERRED_SIZE, 202,
                                        GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(getJButtonChoseSimJar(), GroupLayout.PREFERRED_SIZE, 27,
                                        GroupLayout.PREFERRED_SIZE)
                                .addGap(24)
                                .addComponent(jButtonLoadJar, GroupLayout.PREFERRED_SIZE, 146,
                                        GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 155, Short.MAX_VALUE));
            }

            jPanelRunBatchTests = new JPanel();
            tabbedPane2.addTab("Run batch tests", null, jPanelRunBatchTests, null);

            JLabel lblSelectConfigurationFile = new JLabel("Select configuration file:");

            textFieldConfigFilePath = new JTextField();
            textFieldConfigFilePath.setColumns(10);

            JButton buttonChooseConfigFile = new JButton();
            buttonChooseConfigFile.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent arg0) {

                    configFile = showFileChooser();
                    if (configFile != null)
                        textFieldConfigFilePath.setText(configFile.getAbsolutePath());
                }
            });
            buttonChooseConfigFile.setIcon(new ImageIcon("it/isislab/dmason/resources/image/openFolder.png"));

            JButton buttonLoadConfig = new JButton("Start");
            buttonLoadConfig.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {

                    try {
                        if (configFile.getName().contains(".xml")) {
                            ClassLoader.getSystemClassLoader();
                            //File xsd = new File(xsdFilename);
                            InputStream xsd = new FileInputStream("resources/batch/batchSchema.xsd");

                            if (xsd != null) {
                                if (validateXML(configFile, xsd)) {

                                    Batch batch = loadConfigFromXML(configFile);

                                    if (batch != null) {
                                        textAreaBatchInfo.append(configFile.getName() + " loaded.\n");
                                        if (batch.getNeededWorkers() > peers.size()
                                                || batch.getNeededWorkers() == 0)
                                            JOptionPane.showMessageDialog(DMasonMaster.this,
                                                    "There are not enough workers to start the simulation");
                                        else {
                                            textAreaBatchInfo
                                                    .append("Simulation: " + batch.getSimulationName() + "\n");
                                            textAreaBatchInfo.append(
                                                    "Needed Worker: " + batch.getNeededWorkers() + "\n");
                                            textAreaBatchInfo.append("Balance: " + batch.isBalanced() + "\n");

                                            Set<List<EntryParam<String, Object>>> testList = generateTestsFrom(
                                                    batch);

                                            textAreaBatchInfo
                                                    .append("--------------------------------------\n");
                                            textAreaBatchInfo
                                                    .append("Number of experiments: " + testList.size() + "\n");
                                            ConcurrentLinkedQueue<List<EntryParam<String, Object>>> testQueue = new ConcurrentLinkedQueue<List<EntryParam<String, Object>>>();

                                            for (List<EntryParam<String, Object>> test : testList)
                                                testQueue.offer(test);

                                            //System.out.println("Test queue: "+testQueue.size());

                                            try {

                                                List<List<EntryWorkerScore<Integer, String>>> workersPartition = Util
                                                        .chopped(scoreList, batch.getNeededWorkers());

                                                //System.out.println(workersPartition.toString());

                                                testCount.set(0);
                                                totalTests = testList.size();

                                                progressBarBatchTest.setValue(0);
                                                progressBarBatchTest.setString("0 %");
                                                progressBarBatchTest.setStringPainted(true);

                                                batchLogger = Logger
                                                        .getLogger(BatchExecutor.class.getCanonicalName());
                                                batchStartedTime = System.currentTimeMillis();

                                                textAreaBatchInfo.append("Batch started at: "
                                                        + Util.getCurrentDateTime(batchStartedTime) + "\n");
                                                textAreaBatchInfo
                                                        .append("--------------------------------------\n");
                                                batchLogger.debug("Started at: " + batchStartedTime);
                                                int i = 1;
                                                BatchExecutor batchExec;
                                                for (List<EntryWorkerScore<Integer, String>> workers : workersPartition) {
                                                    try {

                                                        batchExec = new BatchExecutor(batch.getSimulationName(),
                                                                batch.isBalanced(), testQueue, master,
                                                                connection, root.getChildCount(),
                                                                getFPTAddress(), workers, "Batch" + i, 1,
                                                                textAreaBatchInfo);

                                                        batchExec.getObservable()
                                                                .addObserver(DMasonMaster.this);
                                                        batchExec.start();

                                                        //Thread.sleep(2000);
                                                        //textAreaBatchInfo.append("Batch Executor "+i+" started\n");

                                                        i++;

                                                        //not paraller simulation, I use only one batch executor
                                                        if (!chckbxParallelBatch.isSelected())
                                                            break;
                                                    } catch (Exception e1) {
                                                        // TODO Auto-generated catch block
                                                        e1.printStackTrace();
                                                    }

                                                }

                                            } catch (Exception e3) {
                                                // TODO Auto-generated catch block
                                                e3.printStackTrace();
                                            }

                                        }

                                    } else
                                        JOptionPane.showMessageDialog(DMasonMaster.this,
                                                "Error when loading config file");
                                } else
                                    JOptionPane.showMessageDialog(DMasonMaster.this,
                                            "The configuration file is not a valid file");
                            } else
                                JOptionPane.showMessageDialog(DMasonMaster.this,
                                        xsdFilename + " not exists, can't validate configuration file.");
                        } else
                            JOptionPane.showMessageDialog(DMasonMaster.this,
                                    "The file " + configFile.getName() + "is not a configuration file.");
                    } catch (HeadlessException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }

                }

            });

            JPanel panel = new JPanel();
            panel.setBorder(
                    new TitledBorder(null, "Batch Status", TitledBorder.LEADING, TitledBorder.TOP, null, null));

            chckbxParallelBatch = new JCheckBox("Parallel Batch");

            GroupLayout gl_jPanelRunBatchTests = new GroupLayout(jPanelRunBatchTests);
            gl_jPanelRunBatchTests.setHorizontalGroup(gl_jPanelRunBatchTests
                    .createParallelGroup(Alignment.LEADING)
                    .addGroup(gl_jPanelRunBatchTests.createSequentialGroup().addContainerGap()
                            .addGroup(gl_jPanelRunBatchTests.createParallelGroup(Alignment.LEADING)
                                    .addGroup(gl_jPanelRunBatchTests.createSequentialGroup()
                                            .addComponent(lblSelectConfigurationFile,
                                                    GroupLayout.PREFERRED_SIZE, 139, GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(ComponentPlacement.RELATED)
                                            .addComponent(textFieldConfigFilePath, GroupLayout.PREFERRED_SIZE,
                                                    250, GroupLayout.PREFERRED_SIZE)
                                            .addGap(10).addComponent(buttonChooseConfigFile,
                                                    GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
                                    .addGroup(gl_jPanelRunBatchTests.createSequentialGroup()
                                            .addComponent(chckbxParallelBatch).addGap(18)
                                            .addComponent(buttonLoadConfig))
                                    .addComponent(panel, GroupLayout.PREFERRED_SIZE, 666,
                                            GroupLayout.PREFERRED_SIZE))
                            .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
            gl_jPanelRunBatchTests.setVerticalGroup(gl_jPanelRunBatchTests
                    .createParallelGroup(Alignment.LEADING)
                    .addGroup(gl_jPanelRunBatchTests.createSequentialGroup().addContainerGap()
                            .addGroup(gl_jPanelRunBatchTests.createParallelGroup(Alignment.TRAILING)
                                    .addComponent(buttonChooseConfigFile, GroupLayout.PREFERRED_SIZE, 25,
                                            GroupLayout.PREFERRED_SIZE)
                                    .addComponent(textFieldConfigFilePath, GroupLayout.PREFERRED_SIZE,
                                            GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(lblSelectConfigurationFile))
                            .addPreferredGap(ComponentPlacement.UNRELATED)
                            .addGroup(gl_jPanelRunBatchTests.createParallelGroup(Alignment.BASELINE)
                                    .addComponent(chckbxParallelBatch).addComponent(buttonLoadConfig))
                            .addPreferredGap(ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
                            .addComponent(panel, GroupLayout.PREFERRED_SIZE, 261, GroupLayout.PREFERRED_SIZE)
                            .addContainerGap()));

            progressBarBatchTest = new JProgressBar();

            JLabel lblProgress = new JLabel("Progress:");
            GroupLayout gl_panel = new GroupLayout(panel);
            gl_panel.setHorizontalGroup(gl_panel.createParallelGroup(Alignment.LEADING).addGroup(gl_panel
                    .createSequentialGroup().addContainerGap()
                    .addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
                            .addComponent(scrollPane4, GroupLayout.DEFAULT_SIZE, 641, Short.MAX_VALUE)
                            .addGroup(gl_panel.createSequentialGroup().addComponent(lblProgress).addGap(18)
                                    .addComponent(progressBarBatchTest, GroupLayout.PREFERRED_SIZE, 169,
                                            GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap()));
            gl_panel.setVerticalGroup(gl_panel.createParallelGroup(Alignment.LEADING)
                    .addGroup(gl_panel.createSequentialGroup().addContainerGap()
                            .addGroup(gl_panel.createParallelGroup(Alignment.LEADING).addComponent(lblProgress)
                                    .addComponent(progressBarBatchTest, GroupLayout.PREFERRED_SIZE,
                                            GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(ComponentPlacement.RELATED)
                            .addComponent(scrollPane4, GroupLayout.PREFERRED_SIZE, 202,
                                    GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
            panel.setLayout(gl_panel);
            jPanelRunBatchTests.setLayout(gl_jPanelRunBatchTests);
            GroupLayout jPanelSetDistributionLayout = new GroupLayout(jPanelSetDistribution);
            jPanelSetDistributionLayout
                    .setHorizontalGroup(
                            jPanelSetDistributionLayout.createParallelGroup(Alignment.LEADING)
                                    .addGroup(jPanelSetDistributionLayout.createSequentialGroup()
                                            .addComponent(jPanelSettings, GroupLayout.PREFERRED_SIZE, 254,
                                                    GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(ComponentPlacement.RELATED)
                                            .addComponent(jPanelContainerTabbedPane, GroupLayout.PREFERRED_SIZE,
                                                    707, GroupLayout.PREFERRED_SIZE)
                                            .addContainerGap(21, Short.MAX_VALUE)));
            jPanelSetDistributionLayout.setVerticalGroup(jPanelSetDistributionLayout
                    .createParallelGroup(Alignment.LEADING)
                    .addGroup(jPanelSetDistributionLayout.createSequentialGroup()
                            .addGroup(jPanelSetDistributionLayout.createParallelGroup(Alignment.LEADING)
                                    .addComponent(jPanelSettings, GroupLayout.PREFERRED_SIZE,
                                            GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanelContainerTabbedPane, GroupLayout.DEFAULT_SIZE,
                                            GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addContainerGap()));
            jPanelSetDistribution.setLayout(jPanelSetDistributionLayout);
        }

        textAreaBatchInfo = new JTextArea();
        textAreaBatchInfo.setEditable(false);
        DefaultCaret caret = (DefaultCaret) textAreaBatchInfo.getCaret();
        caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
        scrollPane4.setViewportView(textAreaBatchInfo);

        //---- jLabelPlayButton ----
        jLabelPlayButton.setIcon(new ImageIcon("resources/image/NotStopped.png"));

        //---- jLabelPauseButton ----
        jLabelPauseButton.setIcon(new ImageIcon("resources/image/PauseOff.png"));

        //---- labelStopButton ----
        jLabelPlayButton.setIcon(new ImageIcon("image/NotPlaying.png"));

        jLabelPlayButton.addMouseListener(new MouseListener() {

            @Override
            public void mouseReleased(MouseEvent arg0) {
            }

            @Override
            public void mousePressed(MouseEvent arg0) {
            }

            @Override
            public void mouseExited(MouseEvent arg0) {
            }

            @Override
            public void mouseEntered(MouseEvent arg0) {
            }

            @Override
            public void mouseClicked(MouseEvent arg0) {

                jLabelPlayButton.setIcon(new ImageIcon("resources/image/Playing.png"));
                jLabelPauseButton.setIcon(new ImageIcon("resources/image/PauseOff.png"));
                jLabelStopButton.setIcon(new ImageIcon("resources/image/NotStopped.png"));
                jLabelResetButton.setIcon(new ImageIcon("resources/image/NotReload.png"));
                try {

                    master.play();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

        //---- labelStopButton2 ----   
        jLabelStopButton.setIcon(new ImageIcon("resources/image/NotStopped.png"));
        jLabelStopButton.addMouseListener(new MouseListener() {

            @Override
            public void mouseReleased(MouseEvent e) {
            }

            @Override
            public void mousePressed(MouseEvent e) {
            }

            @Override
            public void mouseExited(MouseEvent e) {
            }

            @Override
            public void mouseEntered(MouseEvent e) {
            }

            @Override
            public void mouseClicked(MouseEvent e) {
                jLabelStopButton.setIcon(new ImageIcon("resources/image/Stopped.png"));
                jLabelPlayButton.setIcon(new ImageIcon("resources/image/NotPlaying.png"));
                jLabelPauseButton.setIcon(new ImageIcon("resources/image/PauseOff.png"));

                try {

                    Address FTPAddress = getFPTAddress();

                    if (FTPAddress != null) {
                        UpdateData ud = new UpdateData("", FTPAddress);
                        master.stop(ud);
                    }

                } catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
        });

        //---- labelPauseButton ----
        jLabelPauseButton.setIcon(new ImageIcon("resources/image/PauseOff.png"));
        jLabelPauseButton.addMouseListener(new MouseListener() {

            @Override
            public void mouseReleased(MouseEvent e) {
            }

            @Override
            public void mousePressed(MouseEvent e) {
            }

            @Override
            public void mouseExited(MouseEvent e) {
            }

            @Override
            public void mouseEntered(MouseEvent e) {
            }

            @Override
            public void mouseClicked(MouseEvent e) {
                jLabelPauseButton.setIcon(new ImageIcon("resources/image/PauseOn.png"));
                jLabelStopButton.setIcon(new ImageIcon("resources/image/NotStopped.png"));
                jLabelPlayButton.setIcon(new ImageIcon("resources/image/NotPlaying.png"));
                try {
                    master.pause();
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
        });

        //======== jPanelNumStep ========
        {

            GroupLayout jPanelNumStepLayout = new GroupLayout(jPanelNumStep);
            jPanelNumStepLayout.setHorizontalGroup(
                    jPanelNumStepLayout.createParallelGroup(Alignment.TRAILING).addGap(0, 25, Short.MAX_VALUE));
            jPanelNumStepLayout.setVerticalGroup(
                    jPanelNumStepLayout.createParallelGroup(Alignment.LEADING).addGap(0, 28, Short.MAX_VALUE));
            jPanelNumStep.setLayout(jPanelNumStepLayout);
            jPanelNumStep.setPreferredSize(new java.awt.Dimension(89, 23));
        }
        {
            jLabelResetButton = new JLabel();
            jLabelResetButton.setIcon(new ImageIcon("resources/image/NotReload.png"));
            jLabelResetButton.setPreferredSize(new java.awt.Dimension(20, 20));

            jLabelResetButton.setVisible(enableReset);
        }

        // for resetting simulation
        jLabelResetButton.addMouseListener(new MouseListener() {

            @Override
            public void mouseClicked(MouseEvent arg0) {

                if (connected) {
                    jLabelStopButton.setIcon(new ImageIcon("resources/image/NotStopped.png"));
                    jLabelPlayButton.setIcon(new ImageIcon("resources/image/NotPlaying.png"));
                    jLabelPauseButton.setIcon(new ImageIcon("resources/image/PauseOff.png"));
                    jLabelResetButton.setIcon(new ImageIcon("resources/image/Reload.png"));

                    //send message to workers for resetting simulation
                    try {
                        master.reset();

                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }

                    //clean up topic from AcitveMQ
                    connection.resetTopic();

                    setSystemSettingsEnabled(true);

                    notifyArea.append("Simulation resetted\n");

                }

            }

            @Override
            public void mouseEntered(MouseEvent arg0) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseExited(MouseEvent arg0) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mousePressed(MouseEvent arg0) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseReleased(MouseEvent arg0) {
                // TODO Auto-generated method stub

            }
        });
        writeStepLabel = new JLabel();
        writeStepLabel.setText("0");

        lblTotalSteps = new JLabel("Steps:");

        GroupLayout panelMainLayout = new GroupLayout(panelMain);
        panelMainLayout.setHorizontalGroup(panelMainLayout.createParallelGroup(Alignment.LEADING)
                .addGroup(panelMainLayout.createSequentialGroup()
                        .addComponent(jPanelContainerSettings, GroupLayout.PREFERRED_SIZE, 0,
                                GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(ComponentPlacement.RELATED)
                        .addGroup(panelMainLayout.createParallelGroup(Alignment.LEADING)
                                .addComponent(jPanelSetDistribution, 0, 986, Short.MAX_VALUE)
                                .addGroup(panelMainLayout.createSequentialGroup().addGap(636)
                                        .addGroup(panelMainLayout.createParallelGroup(Alignment.TRAILING)
                                                .addComponent(jLabelStep, GroupLayout.PREFERRED_SIZE,
                                                        GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addGroup(panelMainLayout.createSequentialGroup()
                                                        .addComponent(lblTotalSteps)
                                                        .addPreferredGap(ComponentPlacement.UNRELATED)
                                                        .addComponent(writeStepLabel)))
                                        .addPreferredGap(ComponentPlacement.RELATED)
                                        .addComponent(jPanelNumStep, GroupLayout.PREFERRED_SIZE, 25,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addGroup(panelMainLayout.createParallelGroup(Alignment.LEADING)
                                                .addGroup(panelMainLayout.createSequentialGroup().addGap(24)
                                                        .addComponent(jLabelPlayButton,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(ComponentPlacement.UNRELATED)
                                                        .addComponent(jLabelPauseButton,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(ComponentPlacement.UNRELATED)
                                                        .addComponent(jLabelStopButton,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.PREFERRED_SIZE,
                                                                GroupLayout.PREFERRED_SIZE))
                                                .addGroup(panelMainLayout.createSequentialGroup().addGap(116)
                                                        .addComponent(jLabelResetButton,
                                                                GroupLayout.PREFERRED_SIZE, 30,
                                                                GroupLayout.PREFERRED_SIZE)))))
                        .addGap(12))
                .addComponent(jPanelContainerConnection, 0, 1004, Short.MAX_VALUE));
        panelMainLayout.setVerticalGroup(panelMainLayout.createParallelGroup(Alignment.LEADING)
                .addGroup(panelMainLayout.createSequentialGroup()
                        .addComponent(jPanelContainerConnection, GroupLayout.PREFERRED_SIZE, 71,
                                GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(ComponentPlacement.RELATED)
                        .addGroup(panelMainLayout.createParallelGroup(Alignment.LEADING)
                                .addComponent(jPanelSetDistribution, GroupLayout.PREFERRED_SIZE, 518,
                                        GroupLayout.PREFERRED_SIZE)
                                .addGroup(panelMainLayout.createSequentialGroup().addGap(29).addComponent(
                                        jPanelContainerSettings, GroupLayout.PREFERRED_SIZE, 489,
                                        GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(ComponentPlacement.RELATED)
                        .addGroup(panelMainLayout.createParallelGroup(Alignment.LEADING)
                                .addComponent(jLabelStopButton, GroupLayout.PREFERRED_SIZE,
                                        GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabelPlayButton, GroupLayout.PREFERRED_SIZE,
                                        GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabelPauseButton, GroupLayout.PREFERRED_SIZE,
                                        GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabelResetButton, GroupLayout.PREFERRED_SIZE, 24,
                                        GroupLayout.PREFERRED_SIZE)
                                .addGroup(panelMainLayout.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(writeStepLabel, GroupLayout.PREFERRED_SIZE, 16,
                                                GroupLayout.PREFERRED_SIZE)
                                        .addComponent(lblTotalSteps))
                                .addGroup(panelMainLayout.createSequentialGroup()
                                        .addComponent(jLabelStep, GroupLayout.PREFERRED_SIZE,
                                                GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(ComponentPlacement.RELATED).addComponent(jPanelNumStep,
                                                GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap(13, Short.MAX_VALUE)));
        panelMain.setLayout(panelMainLayout);
    }

    GroupLayout contentPaneLayout = new GroupLayout(contentPane);
    contentPaneLayout.setHorizontalGroup(
            contentPaneLayout.createParallelGroup(Alignment.LEADING).addGroup(Alignment.TRAILING,
                    contentPaneLayout
                            .createSequentialGroup().addContainerGap().addComponent(panelMain,
                                    GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addContainerGap()));
    contentPaneLayout.setVerticalGroup(
            contentPaneLayout.createParallelGroup(Alignment.LEADING).addGroup(Alignment.TRAILING,
                    contentPaneLayout.createSequentialGroup().addContainerGap().addComponent(panelMain,
                            GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    contentPane.setLayout(contentPaneLayout);
    pack();
    setLocationRelativeTo(null);

    refreshServerLabel.setVisible(false);

    jButtonChoseSimJar.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            simulationFile = showFileChooser();
            if (simulationFile != null)
                jTextFieldPathSimJar.setText(simulationFile.getAbsolutePath());
        }
    });

}

From source file:gov.llnl.lustre.lwatch.PlotFrame2.java

/**
 * Build the GUI.//  www  . j ava  2 s  . c  o m
 *
 * @param container container in which GUI will be built.
 */

void buildUI(Container container) {
    container.setLayout(new BorderLayout());

    plotPanel = new JPanel();
    ppgbl = new GridBagLayout();
    plotPanel.setLayout(ppgbl);
    plotPanel.setBackground(Color.black);

    chartContainerPane = new ChartContainerPanel(this);
    plotPanel.add(chartContainerPane);

    ppc = new GridBagConstraints();
    ppc.gridx = 0;
    ppc.gridy = 0;
    ppc.insets = new Insets(2, 2, 0, 2); //(8, 4, 0, 5);
    ppc.anchor = GridBagConstraints.NORTH;
    ppc.fill = GridBagConstraints.BOTH;
    ppc.weightx = 1.0; //1.0;
    ppc.weighty = .75; //0.0;
    ppgbl.setConstraints(chartContainerPane, ppc);

    // Add panel for the overview data and pan & zoom control
    wideView = new OverView(); //(this);
    plotPanel.add(wideView);

    ppc = new GridBagConstraints();
    ppc.gridx = 0;
    ppc.gridy = 1;

    // Insets are Top, Left, Bottom, Right
    ppc.insets = new Insets(0, 76, 10, 18); //(8, 4, 0, 5);
    ppc.anchor = GridBagConstraints.NORTH;
    ppc.fill = GridBagConstraints.BOTH;
    ppc.weightx = 1.0;
    ppc.weighty = 0.25; //0.15;  //1.0;
    ppgbl.setConstraints(wideView, ppc);
    //

    container.add(plotPanel, BorderLayout.CENTER);

    scPane = new StatControlPanel();

    //controls = new ControlPanel();

    JPanel idAndHideControlPanel = new JPanel();
    FlowLayout iaccLayout = new FlowLayout(FlowLayout.LEFT);
    idAndHideControlPanel.setLayout(iaccLayout);

    if (rawData != null)
        label = new JLabel(
                "Panel dimension : " + chartContainerPane.getWidth() + " X " + chartContainerPane.getHeight());

    else
        label = new JLabel("Error: accessing raw data from \"timehist.dat\"");

    idLabel = new JLabel(fsName + " (" + type + ") Time History Plot");
    idAndHideControlPanel.add(idLabel);

    cpHideButt = new JButton("Hide Controls");
    cpHideButt.setFont(new Font("helvetica", Font.BOLD, 10));
    cpHideButt.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String buttonLabel = e.getActionCommand();
            //System.out.println(buttonLabel + " button pressed.");

            if (buttonLabel.indexOf("Hide") < 0) {
                showControls();
                cpHideButt.setText("Hide Controls");
            } else if (buttonLabel.indexOf("Show") < 0) {
                hideControls();
                cpHideButt.setText("Show Controls");
            }

            //catPanel.selectAll();
        }
    });
    idAndHideControlPanel.add(cpHideButt);

    ovpHideButt = new JButton("Hide Overview Plot");
    ovpHideButt.setFont(new Font("helvetica", Font.BOLD, 10));
    ovpHideButt.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String buttonLabel = e.getActionCommand();
            //System.out.println(buttonLabel + " button pressed.");

            if (buttonLabel.indexOf("Hide") < 0) {
                showOverviewPlot();
                ovpHideButt.setText("Hide  Overview Plot");
            } else if (buttonLabel.indexOf("Show") < 0) {
                hideOverviewPlot();
                ovpHideButt.setText("Show  Overview Plot");
            }
            //catPanel.selectAll();
        }
    });
    idAndHideControlPanel.add(ovpHideButt);

    container.add(scPane, BorderLayout.SOUTH);
    //container.add(idLabel, BorderLayout.NORTH);
    container.add(idAndHideControlPanel, BorderLayout.NORTH);

    //ra.setAlignmentX(java.awt.Component.LEFT_ALIGNMENT);
    chartContainerPane.setAlignmentX(java.awt.Component.LEFT_ALIGNMENT);
    label.setAlignmentX(java.awt.Component.LEFT_ALIGNMENT); // Unecessary, but won't hurt.

    updateControlValues();
    //this.thpFrame.pack();
    //this.thpFrame.setVisible(true);

    //  Added timer start in case HEARTBEAT came thru as prefs granularity.
    if (granularity == HEARTBEAT) {
        //setRefresh(refreshRate, 3600000);

        refreshPlotFrame();
    }

}

From source file:hpssim.grafica.HPSsim.java

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY
    // //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Evaluation license - Lgc M
    DefaultComponentFactory compFactory = DefaultComponentFactory.getInstance();
    HPSsimWindow = new JFrame();
    hpssimWindow = new JPanel();
    hpssimTab = new JTabbedPane();
    panelConfiguration = new JPanel();
    label10 = new JLabel();
    label3 = new JLabel();
    ncpu = new JTextField();
    label4 = new JLabel();
    ngpu = new JTextField();
    vSpacer1 = new JPanel(null);
    label11 = new JLabel();
    label2 = new JLabel();
    sliderSimulationTime = new JSlider();
    textFieldSimTime = new JLabel();
    label1 = new JLabel();
    sliderJob = new JSlider();
    textFieldNjob = new JLabel();
    label9 = new JLabel();
    textFieldQVGA = new JTextField();
    label43 = new JLabel();
    tex_mediaexe = new JTextField();
    checkBoxEndJob = new JCheckBox();
    label6 = new JLabel();
    comboBoxScheduler = new JComboBox<>();
    label8 = new JLabel();
    textFieldTimeSlice = new JTextField();
    label7 = new JLabel();
    comboBoxQueue = new JComboBox<>();
    vSpacer2 = new JPanel(null);
    label21 = new JLabel();
    sliderclassRate = new JSlider();
    labelclassRate = new JLabel();
    label12 = new JLabel();
    sliderRTJob = new JSlider();
    labelRT = new JLabel();
    label14 = new JLabel();
    sliderOpenCl = new JSlider();
    labelOPENCL = new JLabel();
    checkBox_enableLog = new JCheckBox();
    panelPerformance = new JPanel();
    separator1 = new JSeparator();
    tabbedPane1 = new JTabbedPane();
    panelCPU = new JPanel();
    labelCPUUsage = new JLabel();
    panelCPUQueue = new JPanel();
    tabbedPane2 = new JTabbedPane();
    panelGPU = new JPanel();
    labelGPUUsage = new JLabel();
    panelGPUQueue = new JPanel();
    panel2 = new JPanel();
    label18 = new JLabel();
    virtualTime = new JTextField();
    label5 = new JLabel();
    processiNelSistema = new JTextField();
    label17 = new JLabel();
    processiElaborazione = new JTextField();
    label16 = new JLabel();
    processiInCoda = new JTextField();
    label15 = new JLabel();
    ldavg_1 = new JTextField();
    label19 = new JLabel();
    ldavg_5 = new JTextField();
    label20 = new JLabel();
    ldavg_15 = new JTextField();
    panel3 = new JPanel();
    progressBar = new JProgressBar();
    panelGraph = new JPanel();
    graphPanel = new JPanel();
    label23 = new JLabel();
    label38 = new JLabel();
    text_ClassRate = new JTextField();
    label24 = new JLabel();
    button_CostanteCodaSuMedia = new JButton();
    label39 = new JLabel();
    button_ClassRateCodaSuMedia = new JButton();
    label25 = new JLabel();
    button_CostanteTempoMedioArrivo = new JButton();
    hSpacer1 = new JPanel(null);
    label40 = new JLabel();
    button_ClassRateTempoMedioArrivo = new JButton();
    label26 = new JLabel();
    label41 = new JLabel();
    label27 = new JLabel();
    label42 = new JLabel();
    label28 = new JLabel();
    label33 = new JLabel();
    label29 = new JLabel();
    label30 = new JLabel();
    label31 = new JLabel();
    label32 = new JLabel();
    button_CrescenteCodaSuMedia = new JButton();
    label34 = new JLabel();
    button_BurstCodaSuMedia = new JButton();
    button_CrescenteCarico = new JButton();
    label35 = new JLabel();
    button_BurstTempoMedioArrivo = new JButton();
    label36 = new JLabel();
    label37 = new JLabel();
    label22 = new JLabel();
    title1 = compFactory.createTitle("HPSsim 2.0 ");
    button1 = new JButton();
    okButton = new JButton();
    button3 = new JButton();
    dialog1 = new JDialog();
    button2 = new JButton();
    label13 = new JLabel();
    erroreLabel = new JLabel();
    Grafici = new JFrame();
    panelGraficoFinestra = new JPanel();

    //======== HPSsimWindow ========
    {/* w w  w. j av a2s  . c o m*/
        HPSsimWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        HPSsimWindow.setResizable(false);
        Container HPSsimWindowContentPane = HPSsimWindow.getContentPane();

        //======== hpssimWindow ========
        {
            hpssimWindow.setForeground(Color.blue);

            // JFormDesigner evaluation mark
            hpssimWindow.setBorder(new javax.swing.border.CompoundBorder(
                    new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
                            "JFormDesigner Evaluation", javax.swing.border.TitledBorder.CENTER,
                            javax.swing.border.TitledBorder.BOTTOM,
                            new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), java.awt.Color.red),
                    hpssimWindow.getBorder()));
            hpssimWindow.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
                public void propertyChange(java.beans.PropertyChangeEvent e) {
                    if ("border".equals(e.getPropertyName()))
                        throw new RuntimeException();
                }
            });

            hpssimWindow.setLayout(null);

            //======== hpssimTab ========
            {

                //======== panelConfiguration ========
                {
                    panelConfiguration.setLayout(new TableLayout(
                            new double[][] { { 1, 70, 70, 70, 68, 70, 70, 74 }, { 0.01, 27, 21, 26, 27, 25, 25,
                                    25, 21, 21, TableLayout.PREFERRED, 12, TableLayout.PREFERRED, 22, 23 } }));
                    ((TableLayout) panelConfiguration.getLayout()).setHGap(5);
                    ((TableLayout) panelConfiguration.getLayout()).setVGap(5);

                    //---- label10 ----
                    label10.setText("Hardware");
                    label10.setFont(new Font("Segoe UI", Font.ITALIC, 16));
                    panelConfiguration.add(label10, new TableLayoutConstraints(1, 1, 7, 1,
                            TableLayoutConstraints.CENTER, TableLayoutConstraints.FULL));

                    //---- label3 ----
                    label3.setText("CPU");
                    label3.setFont(new Font("Segoe UI", Font.PLAIN, 12));
                    label3.setLabelFor(ncpu);
                    panelConfiguration.add(label3, new TableLayoutConstraints(1, 2, 1, 2,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- ncpu ----
                    ncpu.setText("4");
                    panelConfiguration.add(ncpu, new TableLayoutConstraints(2, 2, 3, 2,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label4 ----
                    label4.setText("GPU");
                    label4.setFont(new Font("Segoe UI", Font.PLAIN, 12));
                    label4.setLabelFor(ngpu);
                    panelConfiguration.add(label4, new TableLayoutConstraints(4, 2, 4, 2,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- ngpu ----
                    ngpu.setText("0");
                    panelConfiguration.add(ngpu, new TableLayoutConstraints(5, 2, 6, 2,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));
                    panelConfiguration.add(vSpacer1, new TableLayoutConstraints(1, 3, 7, 3,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label11 ----
                    label11.setText("Simulation");
                    label11.setFont(new Font("Segoe UI", Font.ITALIC, 16));
                    panelConfiguration.add(label11, new TableLayoutConstraints(1, 4, 7, 4,
                            TableLayoutConstraints.CENTER, TableLayoutConstraints.FULL));

                    //---- label2 ----
                    label2.setText("Sim Time");
                    panelConfiguration.add(label2, new TableLayoutConstraints(1, 5, 1, 5,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- sliderSimulationTime ----
                    sliderSimulationTime.setValue(100000);
                    sliderSimulationTime.setMaximum(1200000);
                    sliderSimulationTime.addChangeListener(new ChangeListener() {
                        @Override
                        public void stateChanged(ChangeEvent e) {
                            sliderSimulationTimeStateChanged(e);
                        }
                    });
                    panelConfiguration.add(sliderSimulationTime, new TableLayoutConstraints(2, 5, 6, 5,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- textFieldSimTime ----
                    textFieldSimTime.setText("100000 ms");
                    panelConfiguration.add(textFieldSimTime, new TableLayoutConstraints(7, 5, 7, 5,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label1 ----
                    label1.setText("Numero di job");
                    panelConfiguration.add(label1, new TableLayoutConstraints(1, 6, 1, 6,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.CENTER));

                    //---- sliderJob ----
                    sliderJob.setMaximum(20000);
                    sliderJob.addChangeListener(new ChangeListener() {
                        @Override
                        public void stateChanged(ChangeEvent e) {
                            sliderJobStateChanged(e);
                        }
                    });
                    panelConfiguration.add(sliderJob, new TableLayoutConstraints(2, 6, 6, 6,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- textFieldNjob ----
                    textFieldNjob.setText("50");
                    panelConfiguration.add(textFieldNjob, new TableLayoutConstraints(7, 6, 7, 6,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label9 ----
                    label9.setText("Media arrivo");
                    panelConfiguration.add(label9, new TableLayoutConstraints(1, 7, 1, 7,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- textFieldQVGA ----
                    textFieldQVGA.setText("230");
                    panelConfiguration.add(textFieldQVGA, new TableLayoutConstraints(2, 7, 2, 7,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label43 ----
                    label43.setText("Media exe");
                    panelConfiguration.add(label43, new TableLayoutConstraints(3, 7, 3, 7,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- tex_mediaexe ----
                    tex_mediaexe.setText("1000");
                    panelConfiguration.add(tex_mediaexe, new TableLayoutConstraints(4, 7, 4, 7,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- checkBoxEndJob ----
                    checkBoxEndJob.setText("End Job");
                    panelConfiguration.add(checkBoxEndJob, new TableLayoutConstraints(6, 7, 6, 7,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label6 ----
                    label6.setText("Scheduler");
                    panelConfiguration.add(label6, new TableLayoutConstraints(1, 9, 1, 9,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- comboBoxScheduler ----
                    comboBoxScheduler.setModel(new DefaultComboBoxModel<>(
                            new String[] { "Priority Round Robin", "Completely Fair Scheduler" }));
                    comboBoxScheduler.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            comboBoxSchedulerActionPerformed(e);
                        }
                    });
                    panelConfiguration.add(comboBoxScheduler, new TableLayoutConstraints(2, 9, 5, 9,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label8 ----
                    label8.setText("Time Slice");
                    panelConfiguration.add(label8, new TableLayoutConstraints(6, 9, 6, 9,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- textFieldTimeSlice ----
                    textFieldTimeSlice.setText("210");
                    panelConfiguration.add(textFieldTimeSlice, new TableLayoutConstraints(7, 9, 7, 9,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label7 ----
                    label7.setText("Queue");
                    panelConfiguration.add(label7, new TableLayoutConstraints(1, 10, 1, 10,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- comboBoxQueue ----
                    comboBoxQueue.setModel(new DefaultComboBoxModel<>(new String[] { "FIFO",
                            "Highest Priority First", "Shortest Job First", "Round Robin", "Random Queue" }));
                    panelConfiguration.add(comboBoxQueue, new TableLayoutConstraints(2, 10, 5, 10,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));
                    panelConfiguration.add(vSpacer2, new TableLayoutConstraints(1, 11, 7, 11,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label21 ----
                    label21.setText("Class Rate");
                    panelConfiguration.add(label21, new TableLayoutConstraints(1, 12, 1, 12,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- sliderclassRate ----
                    sliderclassRate.setValue(99);
                    sliderclassRate.addChangeListener(new ChangeListener() {
                        @Override
                        public void stateChanged(ChangeEvent e) {
                            sliderclassRateStateChanged(e);
                        }
                    });
                    panelConfiguration.add(sliderclassRate, new TableLayoutConstraints(2, 12, 4, 12,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- labelclassRate ----
                    labelclassRate.setText("99%");
                    panelConfiguration.add(labelclassRate, new TableLayoutConstraints(5, 12, 5, 12,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label12 ----
                    label12.setText("RT Job Prob");
                    panelConfiguration.add(label12, new TableLayoutConstraints(1, 13, 1, 13,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- sliderRTJob ----
                    sliderRTJob.setValue(45);
                    sliderRTJob.addChangeListener(new ChangeListener() {
                        @Override
                        public void stateChanged(ChangeEvent e) {
                            sliderRTJobStateChanged(e);
                        }
                    });
                    panelConfiguration.add(sliderRTJob, new TableLayoutConstraints(2, 13, 4, 13,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- labelRT ----
                    labelRT.setText("45%");
                    panelConfiguration.add(labelRT, new TableLayoutConstraints(5, 13, 5, 13,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- label14 ----
                    label14.setText("OpenCL Job ");
                    panelConfiguration.add(label14, new TableLayoutConstraints(1, 14, 1, 14,
                            TableLayoutConstraints.RIGHT, TableLayoutConstraints.FULL));

                    //---- sliderOpenCl ----
                    sliderOpenCl.setValue(20);
                    sliderOpenCl.addChangeListener(new ChangeListener() {
                        @Override
                        public void stateChanged(ChangeEvent e) {
                            sliderOpenClStateChanged(e);
                        }
                    });
                    panelConfiguration.add(sliderOpenCl, new TableLayoutConstraints(2, 14, 4, 14,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- labelOPENCL ----
                    labelOPENCL.setText("20%");
                    panelConfiguration.add(labelOPENCL, new TableLayoutConstraints(5, 14, 5, 14,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                    //---- checkBox_enableLog ----
                    checkBox_enableLog.setText("log");
                    panelConfiguration.add(checkBox_enableLog, new TableLayoutConstraints(7, 14, 7, 14,
                            TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));
                }
                hpssimTab.addTab("Configuration", panelConfiguration);

                //======== panelPerformance ========
                {

                    //======== tabbedPane1 ========
                    {

                        //======== panelCPU ========
                        {
                            panelCPU.setLayout(new BorderLayout());

                            //---- labelCPUUsage ----
                            labelCPUUsage.setText("0\\0");
                            labelCPUUsage.setHorizontalAlignment(SwingConstants.CENTER);
                            panelCPU.add(labelCPUUsage, BorderLayout.SOUTH);
                        }
                        tabbedPane1.addTab("Usage", panelCPU);

                        //======== panelCPUQueue ========
                        {
                            panelCPUQueue.setLayout(new BorderLayout());
                        }
                        tabbedPane1.addTab("Queue", panelCPUQueue);

                    }

                    //======== tabbedPane2 ========
                    {

                        //======== panelGPU ========
                        {
                            panelGPU.setLayout(new BorderLayout());

                            //---- labelGPUUsage ----
                            labelGPUUsage.setText("0\\0");
                            labelGPUUsage.setHorizontalAlignment(SwingConstants.CENTER);
                            panelGPU.add(labelGPUUsage, BorderLayout.SOUTH);
                        }
                        tabbedPane2.addTab("Usage", panelGPU);

                        //======== panelGPUQueue ========
                        {
                            panelGPUQueue.setLayout(new BorderLayout());
                        }
                        tabbedPane2.addTab("Queue", panelGPUQueue);

                    }

                    //======== panel2 ========
                    {
                        panel2.setLayout(new TableLayout(new double[][] {
                                { TableLayout.PREFERRED, TableLayout.FILL },
                                { TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, TableLayout.PREFERRED } }));

                        //---- label18 ----
                        label18.setText("Virtual Time");
                        panel2.add(label18, new TableLayoutConstraints(0, 0, 0, 0, TableLayoutConstraints.RIGHT,
                                TableLayoutConstraints.FULL));
                        panel2.add(virtualTime, new TableLayoutConstraints(1, 0, 1, 0,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label5 ----
                        label5.setText("Processi nel sistema");
                        panel2.add(label5, new TableLayoutConstraints(0, 2, 0, 2, TableLayoutConstraints.RIGHT,
                                TableLayoutConstraints.FULL));

                        //---- processiNelSistema ----
                        processiNelSistema.setText("0");
                        panel2.add(processiNelSistema, new TableLayoutConstraints(1, 2, 1, 2,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label17 ----
                        label17.setText("Processi in elaborazione");
                        panel2.add(label17, new TableLayoutConstraints(0, 3, 0, 3, TableLayoutConstraints.RIGHT,
                                TableLayoutConstraints.FULL));

                        //---- processiElaborazione ----
                        processiElaborazione.setText("0");
                        panel2.add(processiElaborazione, new TableLayoutConstraints(1, 3, 1, 3,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label16 ----
                        label16.setText("Processi in coda");
                        panel2.add(label16, new TableLayoutConstraints(0, 4, 0, 4, TableLayoutConstraints.RIGHT,
                                TableLayoutConstraints.FULL));

                        //---- processiInCoda ----
                        processiInCoda.setText("0");
                        panel2.add(processiInCoda, new TableLayoutConstraints(1, 4, 1, 4,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label15 ----
                        label15.setText("ldavg_1");
                        panel2.add(label15, new TableLayoutConstraints(0, 5, 0, 5, TableLayoutConstraints.RIGHT,
                                TableLayoutConstraints.FULL));
                        panel2.add(ldavg_1, new TableLayoutConstraints(1, 5, 1, 5, TableLayoutConstraints.FULL,
                                TableLayoutConstraints.FULL));

                        //---- label19 ----
                        label19.setText("ldavg_5");
                        panel2.add(label19, new TableLayoutConstraints(0, 6, 0, 6, TableLayoutConstraints.RIGHT,
                                TableLayoutConstraints.FULL));
                        panel2.add(ldavg_5, new TableLayoutConstraints(1, 6, 1, 6, TableLayoutConstraints.FULL,
                                TableLayoutConstraints.FULL));

                        //---- label20 ----
                        label20.setText("ldavg_15");
                        panel2.add(label20, new TableLayoutConstraints(0, 7, 0, 7, TableLayoutConstraints.RIGHT,
                                TableLayoutConstraints.FULL));
                        panel2.add(ldavg_15, new TableLayoutConstraints(1, 7, 1, 7, TableLayoutConstraints.FULL,
                                TableLayoutConstraints.FULL));
                    }

                    //======== panel3 ========
                    {
                        panel3.setLayout(new TableLayout(new double[][] {
                                { TableLayout.PREFERRED, TableLayout.PREFERRED },
                                { TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED } }));
                    }

                    GroupLayout panelPerformanceLayout = new GroupLayout(panelPerformance);
                    panelPerformance.setLayout(panelPerformanceLayout);
                    panelPerformanceLayout.setHorizontalGroup(panelPerformanceLayout.createParallelGroup()
                            .addGroup(panelPerformanceLayout.createSequentialGroup().addContainerGap()
                                    .addGroup(panelPerformanceLayout.createParallelGroup()
                                            .addComponent(separator1)
                                            .addGroup(panelPerformanceLayout.createSequentialGroup()
                                                    .addGroup(panelPerformanceLayout.createParallelGroup()
                                                            .addGroup(panelPerformanceLayout
                                                                    .createSequentialGroup()
                                                                    .addComponent(panel2,
                                                                            GroupLayout.PREFERRED_SIZE, 256,
                                                                            GroupLayout.PREFERRED_SIZE)
                                                                    .addPreferredGap(
                                                                            LayoutStyle.ComponentPlacement.UNRELATED)
                                                                    .addGroup(panelPerformanceLayout
                                                                            .createParallelGroup()
                                                                            .addComponent(progressBar,
                                                                                    GroupLayout.DEFAULT_SIZE,
                                                                                    GroupLayout.DEFAULT_SIZE,
                                                                                    Short.MAX_VALUE)
                                                                            .addGroup(panelPerformanceLayout
                                                                                    .createSequentialGroup()
                                                                                    .addComponent(panel3,
                                                                                            GroupLayout.PREFERRED_SIZE,
                                                                                            256,
                                                                                            GroupLayout.PREFERRED_SIZE)
                                                                                    .addGap(0, 0,
                                                                                            Short.MAX_VALUE))))
                                                            .addGroup(panelPerformanceLayout
                                                                    .createSequentialGroup()
                                                                    .addComponent(tabbedPane1,
                                                                            GroupLayout.PREFERRED_SIZE, 261,
                                                                            GroupLayout.PREFERRED_SIZE)
                                                                    .addPreferredGap(
                                                                            LayoutStyle.ComponentPlacement.UNRELATED)
                                                                    .addComponent(tabbedPane2,
                                                                            GroupLayout.PREFERRED_SIZE, 261,
                                                                            GroupLayout.PREFERRED_SIZE)))
                                                    .addContainerGap(8, Short.MAX_VALUE)))));
                    panelPerformanceLayout.setVerticalGroup(panelPerformanceLayout.createParallelGroup()
                            .addGroup(panelPerformanceLayout.createSequentialGroup()
                                    .addContainerGap(15, Short.MAX_VALUE)
                                    .addGroup(panelPerformanceLayout.createParallelGroup()
                                            .addComponent(tabbedPane2, GroupLayout.DEFAULT_SIZE, 218,
                                                    GroupLayout.PREFERRED_SIZE)
                                            .addComponent(tabbedPane1, GroupLayout.PREFERRED_SIZE, 218,
                                                    GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(separator1, GroupLayout.PREFERRED_SIZE,
                                            GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 10,
                                            Short.MAX_VALUE)
                                    .addGroup(panelPerformanceLayout
                                            .createParallelGroup(GroupLayout.Alignment.TRAILING, false)
                                            .addComponent(panel2, GroupLayout.PREFERRED_SIZE, 155,
                                                    GroupLayout.PREFERRED_SIZE)
                                            .addGroup(panelPerformanceLayout.createSequentialGroup()
                                                    .addComponent(progressBar, GroupLayout.DEFAULT_SIZE,
                                                            GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                    .addGap(18, 18, 18).addComponent(panel3,
                                                            GroupLayout.PREFERRED_SIZE, 119,
                                                            GroupLayout.PREFERRED_SIZE)))
                                    .addContainerGap()));
                }
                hpssimTab.addTab("Performance", panelPerformance);

                //======== panelGraph ========
                {

                    //======== graphPanel ========
                    {
                        graphPanel.setLayout(new TableLayout(new double[][] {
                                { TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED },
                                { 27, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, 25, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                                        TableLayout.PREFERRED, TableLayout.PREFERRED } }));

                        //---- label23 ----
                        label23.setText("Carico costante");
                        label23.setFont(label23.getFont().deriveFont(Font.BOLD | Font.ITALIC));
                        graphPanel.add(label23, new TableLayoutConstraints(0, 0, 1, 0,
                                TableLayoutConstraints.CENTER, TableLayoutConstraints.FULL));

                        //---- label38 ----
                        label38.setText("Classification Rate");
                        label38.setFont(label38.getFont().deriveFont(Font.BOLD | Font.ITALIC));
                        graphPanel.add(label38, new TableLayoutConstraints(5, 0, 6, 0,
                                TableLayoutConstraints.CENTER, TableLayoutConstraints.FULL));
                        graphPanel.add(text_ClassRate, new TableLayoutConstraints(7, 0, 7, 0,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label24 ----
                        label24.setText("Coda\\Media");
                        graphPanel.add(label24, new TableLayoutConstraints(0, 1, 0, 1,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_CostanteCodaSuMedia ----
                        button_CostanteCodaSuMedia.setText("Esegui");
                        button_CostanteCodaSuMedia.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_CostanteCodaSuMediaActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_CostanteCodaSuMedia, new TableLayoutConstraints(2, 1, 2, 1,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label39 ----
                        label39.setText("Coda\\Media");
                        graphPanel.add(label39, new TableLayoutConstraints(5, 1, 5, 1,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_ClassRateCodaSuMedia ----
                        button_ClassRateCodaSuMedia.setText("Esegui");
                        button_ClassRateCodaSuMedia.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_ClassRateCodaSuMediaActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_ClassRateCodaSuMedia, new TableLayoutConstraints(7, 1, 7, 1,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label25 ----
                        label25.setText("Tempo Medio Arrivo");
                        graphPanel.add(label25, new TableLayoutConstraints(0, 2, 0, 2,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_CostanteTempoMedioArrivo ----
                        button_CostanteTempoMedioArrivo.setText("Esegui");
                        button_CostanteTempoMedioArrivo.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_CostanteTempoMedioArrivoActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_CostanteTempoMedioArrivo, new TableLayoutConstraints(2, 2, 2, 4,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));
                        graphPanel.add(hSpacer1, new TableLayoutConstraints(3, 0, 3, 15,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label40 ----
                        label40.setText("Tempo Medio Arrivo");
                        graphPanel.add(label40, new TableLayoutConstraints(5, 2, 5, 2,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_ClassRateTempoMedioArrivo ----
                        button_ClassRateTempoMedioArrivo.setText("Esegui");
                        button_ClassRateTempoMedioArrivo.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_ClassRateTempoMedioArrivoActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_ClassRateTempoMedioArrivo, new TableLayoutConstraints(7, 2, 7, 4,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label26 ----
                        label26.setText("Troughput");
                        graphPanel.add(label26, new TableLayoutConstraints(0, 3, 0, 3,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label41 ----
                        label41.setText("Troughput");
                        graphPanel.add(label41, new TableLayoutConstraints(5, 3, 5, 3,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label27 ----
                        label27.setText("Carico");
                        graphPanel.add(label27, new TableLayoutConstraints(0, 4, 0, 4,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label42 ----
                        label42.setText("Carico");
                        graphPanel.add(label42, new TableLayoutConstraints(5, 4, 5, 4,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label28 ----
                        label28.setText("Carico Crescente");
                        label28.setFont(label28.getFont().deriveFont(Font.BOLD | Font.ITALIC));
                        graphPanel.add(label28, new TableLayoutConstraints(0, 5, 1, 5,
                                TableLayoutConstraints.CENTER, TableLayoutConstraints.FULL));

                        //---- label33 ----
                        label33.setText("Carico Burst");
                        label33.setFont(label33.getFont().deriveFont(Font.BOLD | Font.ITALIC));
                        graphPanel.add(label33, new TableLayoutConstraints(5, 5, 6, 5,
                                TableLayoutConstraints.CENTER, TableLayoutConstraints.FULL));

                        //---- label29 ----
                        label29.setText("Coda\\Media");
                        graphPanel.add(label29, new TableLayoutConstraints(0, 6, 0, 6,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label30 ----
                        label30.setText("Tempo Medio Arrivo");
                        graphPanel.add(label30, new TableLayoutConstraints(0, 7, 0, 7,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label31 ----
                        label31.setText("Troughput");
                        graphPanel.add(label31, new TableLayoutConstraints(0, 8, 0, 8,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label32 ----
                        label32.setText("Carico");
                        graphPanel.add(label32, new TableLayoutConstraints(0, 9, 0, 9,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_CrescenteCodaSuMedia ----
                        button_CrescenteCodaSuMedia.setText("Esegui");
                        button_CrescenteCodaSuMedia.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_CrescenteCodaSuMediaActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_CrescenteCodaSuMedia, new TableLayoutConstraints(2, 6, 2, 6,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label34 ----
                        label34.setText("Coda\\Media");
                        graphPanel.add(label34, new TableLayoutConstraints(5, 6, 5, 6,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_BurstCodaSuMedia ----
                        button_BurstCodaSuMedia.setText("Esegui");
                        button_BurstCodaSuMedia.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_BurstCodaSuMediaActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_BurstCodaSuMedia, new TableLayoutConstraints(7, 6, 7, 6,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_CrescenteCarico ----
                        button_CrescenteCarico.setText("Esegui");
                        button_CrescenteCarico.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_CrescenteCaricoActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_CrescenteCarico, new TableLayoutConstraints(2, 7, 2, 9,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label35 ----
                        label35.setText("Tempo Medio Arrivo");
                        graphPanel.add(label35, new TableLayoutConstraints(5, 7, 5, 7,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- button_BurstTempoMedioArrivo ----
                        button_BurstTempoMedioArrivo.setText("Esegui");
                        button_BurstTempoMedioArrivo.addActionListener(new ActionListener() {
                            @Override
                            public void actionPerformed(ActionEvent e) {
                                button_BurstTempoMedioArrivoActionPerformed(e);
                            }
                        });
                        graphPanel.add(button_BurstTempoMedioArrivo, new TableLayoutConstraints(7, 7, 7, 9,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label36 ----
                        label36.setText("Troughput");
                        graphPanel.add(label36, new TableLayoutConstraints(5, 8, 5, 8,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));

                        //---- label37 ----
                        label37.setText("Carico");
                        graphPanel.add(label37, new TableLayoutConstraints(5, 9, 5, 9,
                                TableLayoutConstraints.FULL, TableLayoutConstraints.FULL));
                    }

                    //---- label22 ----
                    label22.setText("Grafici");
                    label22.setFont(label22.getFont().deriveFont(label22.getFont().getStyle() | Font.BOLD,
                            label22.getFont().getSize() + 4f));

                    GroupLayout panelGraphLayout = new GroupLayout(panelGraph);
                    panelGraph.setLayout(panelGraphLayout);
                    panelGraphLayout.setHorizontalGroup(panelGraphLayout.createParallelGroup()
                            .addGroup(panelGraphLayout.createSequentialGroup().addGroup(panelGraphLayout
                                    .createParallelGroup()
                                    .addGroup(panelGraphLayout.createSequentialGroup().addGap(243, 243, 243)
                                            .addComponent(label22).addGap(0, 246, Short.MAX_VALUE))
                                    .addGroup(GroupLayout.Alignment.TRAILING,
                                            panelGraphLayout.createSequentialGroup().addContainerGap()
                                                    .addComponent(graphPanel, GroupLayout.DEFAULT_SIZE, 530,
                                                            Short.MAX_VALUE)))
                                    .addContainerGap()));
                    panelGraphLayout.setVerticalGroup(panelGraphLayout.createParallelGroup().addGroup(
                            GroupLayout.Alignment.TRAILING,
                            panelGraphLayout.createSequentialGroup().addContainerGap().addComponent(label22)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(graphPanel, GroupLayout.DEFAULT_SIZE, 370, Short.MAX_VALUE)
                                    .addContainerGap()));
                }
                hpssimTab.addTab("Graph", panelGraph);

            }
            hpssimWindow.add(hpssimTab);
            hpssimTab.setBounds(10, 40, 555, 450);

            //---- title1 ----
            title1.setFont(title1.getFont().deriveFont(title1.getFont().getSize() + 8f));
            hpssimWindow.add(title1);
            title1.setBounds(10, 11, 132, title1.getPreferredSize().height);

            //---- button1 ----
            button1.setText("Stop");
            button1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    button1ActionPerformed(e);
                }
            });
            hpssimWindow.add(button1);
            button1.setBounds(385, 495, 74, button1.getPreferredSize().height);

            //---- okButton ----
            okButton.setText("Start");
            okButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    okButtonActionPerformed(e);
                }
            });
            hpssimWindow.add(okButton);
            okButton.setBounds(470, 495, 74, okButton.getPreferredSize().height);

            //---- button3 ----
            button3.setText("Resume");
            button3.setVisible(false);
            button3.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    pauseActionPerformed(e);
                }
            });
            hpssimWindow.add(button3);
            button3.setBounds(300, 495, 74, button3.getPreferredSize().height);

            { // compute preferred size
                Dimension preferredSize = new Dimension();
                for (int i = 0; i < hpssimWindow.getComponentCount(); i++) {
                    Rectangle bounds = hpssimWindow.getComponent(i).getBounds();
                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                }
                Insets insets = hpssimWindow.getInsets();
                preferredSize.width += insets.right;
                preferredSize.height += insets.bottom;
                hpssimWindow.setMinimumSize(preferredSize);
                hpssimWindow.setPreferredSize(preferredSize);
            }
        }

        GroupLayout HPSsimWindowContentPaneLayout = new GroupLayout(HPSsimWindowContentPane);
        HPSsimWindowContentPane.setLayout(HPSsimWindowContentPaneLayout);
        HPSsimWindowContentPaneLayout.setHorizontalGroup(HPSsimWindowContentPaneLayout.createParallelGroup()
                .addGroup(HPSsimWindowContentPaneLayout.createSequentialGroup()
                        .addComponent(hpssimWindow, GroupLayout.PREFERRED_SIZE, 565, GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 4, Short.MAX_VALUE)));
        HPSsimWindowContentPaneLayout.setVerticalGroup(HPSsimWindowContentPaneLayout.createParallelGroup()
                .addGroup(HPSsimWindowContentPaneLayout.createSequentialGroup()
                        .addComponent(hpssimWindow, GroupLayout.PREFERRED_SIZE, 528, GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 1, Short.MAX_VALUE)));
        HPSsimWindow.pack();
        HPSsimWindow.setLocationRelativeTo(HPSsimWindow.getOwner());
    }

    //======== dialog1 ========
    {
        dialog1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        Container dialog1ContentPane = dialog1.getContentPane();

        //---- button2 ----
        button2.setText("ok");
        button2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                button2ActionPerformed(e);
            }
        });

        //---- label13 ----
        label13.setText("Attenzione!");

        GroupLayout dialog1ContentPaneLayout = new GroupLayout(dialog1ContentPane);
        dialog1ContentPane.setLayout(dialog1ContentPaneLayout);
        dialog1ContentPaneLayout.setHorizontalGroup(dialog1ContentPaneLayout.createParallelGroup()
                .addGroup(dialog1ContentPaneLayout.createSequentialGroup().addContainerGap()
                        .addGroup(dialog1ContentPaneLayout.createParallelGroup()
                                .addComponent(label13, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE,
                                        324, Short.MAX_VALUE)
                                .addGroup(GroupLayout.Alignment.TRAILING,
                                        dialog1ContentPaneLayout.createSequentialGroup()
                                                .addGap(0, 281, Short.MAX_VALUE).addComponent(button2))
                                .addComponent(erroreLabel, GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE))
                        .addContainerGap()));
        dialog1ContentPaneLayout.setVerticalGroup(dialog1ContentPaneLayout.createParallelGroup().addGroup(
                GroupLayout.Alignment.TRAILING,
                dialog1ContentPaneLayout.createSequentialGroup().addContainerGap()
                        .addComponent(label13, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 8, Short.MAX_VALUE)
                        .addComponent(erroreLabel, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED).addComponent(button2)
                        .addContainerGap()));
        dialog1.pack();
        dialog1.setLocationRelativeTo(dialog1.getOwner());
    }

    //======== Grafici ========
    {
        Container GraficiContentPane = Grafici.getContentPane();

        //======== panelGraficoFinestra ========
        {

            // JFormDesigner evaluation mark
            panelGraficoFinestra.setBorder(new javax.swing.border.CompoundBorder(
                    new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
                            "JFormDesigner Evaluation", javax.swing.border.TitledBorder.CENTER,
                            javax.swing.border.TitledBorder.BOTTOM,
                            new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), java.awt.Color.red),
                    panelGraficoFinestra.getBorder()));
            panelGraficoFinestra.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
                public void propertyChange(java.beans.PropertyChangeEvent e) {
                    if ("border".equals(e.getPropertyName()))
                        throw new RuntimeException();
                }
            });

            panelGraficoFinestra.setLayout(new BorderLayout());
        }

        GroupLayout GraficiContentPaneLayout = new GroupLayout(GraficiContentPane);
        GraficiContentPane.setLayout(GraficiContentPaneLayout);
        GraficiContentPaneLayout.setHorizontalGroup(GraficiContentPaneLayout.createParallelGroup()
                .addGroup(GraficiContentPaneLayout.createSequentialGroup().addContainerGap()
                        .addComponent(panelGraficoFinestra, GroupLayout.DEFAULT_SIZE, 519, Short.MAX_VALUE)
                        .addContainerGap()));
        GraficiContentPaneLayout.setVerticalGroup(GraficiContentPaneLayout.createParallelGroup()
                .addGroup(GraficiContentPaneLayout.createSequentialGroup().addContainerGap()
                        .addComponent(panelGraficoFinestra, GroupLayout.DEFAULT_SIZE, 457, Short.MAX_VALUE)
                        .addContainerGap()));
        Grafici.pack();
        Grafici.setLocationRelativeTo(Grafici.getOwner());
    }
    // //GEN-END:initComponents
}