Example usage for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn

List of usage examples for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn.

Prototype

public TableViewerColumn(TableViewer viewer, TableColumn column) 

Source Link

Document

Creates a new viewer column for the given TableViewer on the given TableColumn .

Usage

From source file:com.ibm.xsp.extlib.designer.relational.jdbc.plugin.wizard.JdbcPluginWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    setTitle(PAGE_TITLE);//from  w ww.j a v a  2 s. c o  m
    setMessage(INITIAL_MSG, IMessageProvider.INFORMATION);

    Composite container = new Composite(parent, SWT.NONE);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));
    container.setLayout(WizardUtils.createGridLayout(1, 5));

    // Create the Driver Details section
    Group group = WizardUtils.createGroup(container, "Driver Details", 1, 3); // $NLX-JdbcPluginWizardPage.DriverDetails-1$
    group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    WizardUtils.createLabel(group, "Type:", 1).setToolTipText(TYPE_TOOLTIP); // $NLX-JdbcPluginWizardPage.Type-1$
    _typeCombo = WizardUtils.createCombo(group, 2, _driverDefs.getNames(), 0, this);
    _typeCombo.setToolTipText(TYPE_TOOLTIP);
    WizardUtils.createLabel(group, "Class:", 1).setToolTipText(CLASS_TOOLTIP); // $NLX-JdbcPluginWizardPage.Class-1$
    _classText = WizardUtils.createText(group, 2);
    _classText.setToolTipText(CLASS_TOOLTIP);
    _classText.addModifyListener(this);

    Label label = WizardUtils.createLabel(group, "JAR Files:", 1); // $NLX-JdbcPluginWizardPage.JarFiles-1$
    // Top Align this label
    GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    gd.verticalIndent = 5;
    label.setLayoutData(gd);
    label.setToolTipText(JAR_TOOLTIP);

    _tableViewer = WizardUtils.createTableViewer(group, 1, 1, null,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.MULTI);
    ColumnViewerToolTipSupport.enableFor(_tableViewer, ToolTip.NO_RECREATE);
    _tableViewer.getTable().setToolTipText(JAR_TOOLTIP);
    _tableViewer.getTable().setHeaderVisible(false);
    _tableViewer.getTable().setLinesVisible(false);
    _tableViewer.getTable().addControlListener(this);
    _tableViewer.setContentProvider(new ArrayContentProvider());

    // Create the only column
    TableViewerColumn col = new TableViewerColumn(_tableViewer, SWT.LEFT);
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return new File((String) element).getName();
        }

        @Override
        public Image getImage(Object element) {
            return JAR_IMAGE;
        }

        @Override
        public String getToolTipText(Object element) {
            return (String) element;
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 100; // msec
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000; // msec
        }
    });

    Composite buttonComposite = new Composite(group, SWT.NONE);
    buttonComposite.setLayout(WizardUtils.createGridLayout(1, 0));
    buttonComposite
            .setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_BEGINNING));
    _addBtn = WizardUtils.createButton(buttonComposite, "Add JARs", this); // $NLX-JdbcPluginWizardPage.AddJars-1$
    _delBtn = WizardUtils.createButton(buttonComposite, "Remove JARs", this); // $NLX-JdbcPluginWizardPage.RemoveJars-1$
    _clearBtn = WizardUtils.createButton(buttonComposite, "Clear", this); // $NLX-JdbcPluginWizardPage.Clear-1$

    group = WizardUtils.createGroup(container, "Output", 1, 3); // $NLX-JdbcPluginWizardPage.Output-1$
    WizardUtils.createLabel(group, "Plug-in Name:", 1).setToolTipText(PLUGIN_TOOLTIP); // $NLX-JdbcPluginWizardPage.PluginName-1$
    _pluginText = WizardUtils.createText(group, 2);
    _pluginText.setToolTipText(PLUGIN_TOOLTIP);
    _pluginText.addModifyListener(this);

    WizardUtils.createLabel(group, "Directory:", 1).setToolTipText(DIR_TOOLTIP); // $NLX-JdbcPluginWizardPage.Directory-1$
    _dirText = WizardUtils.createText(group, 1);
    _dirText.setToolTipText(DIR_TOOLTIP);
    _dirText.addModifyListener(this);
    _dirBtn = WizardUtils.createButton(group, "Browse...", this); // $NLX-JdbcPluginWizardPage.Browse-1$
    _dirBtn.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

    WizardUtils.createLabel(group, "", 1);
    _updateSiteRadio = WizardUtils.createRadio(group, "Create full Update Site", 2, null); // $NLX-JdbcPluginWizardPage.CreatefullUpdateSite-1$
    _updateSiteRadio.setSelection(true);
    WizardUtils.createLabel(group, "", 1);
    WizardUtils.createRadio(group, "Create Plug-in only", 2, null); // $NLX-JdbcPluginWizardPage.CreatePluginonly-1$

    WizardUtils.createLabel(group, "", 1);
    _deleteCheck = WizardUtils.createCheckBox(group, "Delete temporary project on completion", 2, true); // $NLX-JdbcPluginWizardPage.Deletetemporaryprojectoncompletio-1$

    setControl(container);
    setPageComplete(false);
}

From source file:com.ibm.xsp.extlib.designer.tooling.palette.singlepageapp.WizardStartPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    container = new Composite(parent, SWT.NONE);

    GridLayout layout = WizardUtils.createGridLayout(2, 5);
    container.setLayout(layout);//from   w w w  . jav  a2 s. c o  m

    int[] colWeights = { 6, 47, 47 };
    tableViewer = WizardUtils.createTableViewer(container, 1, 3, colWeights);
    ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE);

    // Create the Initial column
    TableViewerColumn col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("");
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return null;
        }

        @Override
        public Image getImage(Object element) {
            if (((WizardDataSub) element).isInitialPage) {
                return STAR;
            }
            return null;
        }

        @Override
        public String getToolTipText(Object element) {
            if (((WizardDataSub) element).isInitialPage) {
                return "Initial Application Page"; // $NLX-WizardStartPage.InitialApplicationPage-1$
            }
            return null;
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 100; // msec
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000; // msec
        }

    });
    col.setEditingSupport(new InitialEditingSupport());

    // Create the Name column
    col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("Name"); // $NLX-WizardStartPage.Name-1$
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((WizardDataSub) element).name;
        }
    });

    // Create the Type column
    col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("Type"); // $NLX-WizardStartPage.Type-1$
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (((WizardDataSub) element).type >= 0) {
                return WizardData.PAGE_TYPES[((WizardDataSub) element).type];
            }
            return "";
        }
    });

    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            editPageEntry();
            refreshButtonState();
        }
    });

    // Add a key listener to listen for the SPACE key
    tableViewer.getTable().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.SPACE) {
                int sel = tableViewer.getTable().getSelectionIndex();
                if (sel >= 0) {
                    checkPage(sel);
                    tableViewer.refresh();
                }
            }
        }
    });

    Composite buttonComposite = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.numColumns = 1;
    buttonComposite.setLayout(layout);
    newBtn = WizardUtils.createButton(buttonComposite, "New", this); // $NLX-WizardStartPage.New-1$
    deleteBtn = WizardUtils.createButton(buttonComposite, "Delete", this); // $NLX-WizardStartPage.Delete-1$
    editBtn = WizardUtils.createButton(buttonComposite, "Edit", this); // $NLX-WizardStartPage.Edit-1$
    GridData buttonLayoutData = new GridData(
            GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING);
    buttonComposite.setLayoutData(buttonLayoutData);

    createCCBtn = WizardUtils.createCheckBox(container,
            "Create a Custom Control for the content of each Application Page", 2, true); // $NLX-WizardStartPage.CreateCustomControlsforeachApplic-1$
    createCCBtn.addSelectionListener(this);

    refreshButtonState();

    setControl(container);
    setPageComplete(true);
}

From source file:com.ibm.xsp.extlib.designer.tooling.palette.singlepageapp.WizardSubPageFormTable.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    container = new Composite(parent, SWT.NONE);

    GridLayout layout = WizardUtils.createGridLayout(2, 5);
    container.setLayout(layout);/*from w w w.  j  a  v a  2  s .c o  m*/

    tableViewer = WizardUtils.createCheckboxTableViewer(container, 3);

    // Create Field Name column
    TableViewerColumn col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("Field"); // $NLX-WizardSubPageFormTable.Field-1$
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((FormField) element).fieldName;
        }
    });

    // Create Label column
    col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("Label"); // $NLX-WizardSubPageFormTable.Label-1$
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((FormField) element).label;
        }
    });

    // Create type column
    col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("Control"); // $NLX-WizardSubPageFormTable.Control-1$
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return FormField.getControlName(((FormField) element).control);
        }
    });

    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            editFieldEntry();
        }
    });

    tableViewer.getTable().addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            if (event.detail == SWT.CHECK) {
                FormField fld = fieldList.get(tableViewer.getTable().indexOf((TableItem) event.item));
                fld.checked = !fld.checked;
            }
        }
    });

    Composite buttonComposite = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.numColumns = 1;
    buttonComposite.setLayout(layout);
    resetBtn = WizardUtils.createButton(buttonComposite, "Reset", this); // $NLX-WizardSubPageFormTable.Reset-1$
    checkBtn = WizardUtils.createButton(buttonComposite, "Select All", this); // $NLX-WizardSubPageFormTable.SelectAll-1$
    editBtn = WizardUtils.createButton(buttonComposite, "Edit", this); // $NLX-WizardSubPageFormTable.Edit-1$
    moveUpBtn = WizardUtils.createButton(buttonComposite, "Move Up", this); // $NLX-WizardSubPageFormTable.MoveUp-1$
    moveDownBtn = WizardUtils.createButton(buttonComposite, "Move Down", this); // $NLX-WizardSubPageFormTable.MoveDown-1$
    GridData buttonLayoutData = new GridData(
            GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING);
    buttonComposite.setLayoutData(buttonLayoutData);

    refreshButtonState();

    setControl(container);
    setPageComplete(true);
}

From source file:com.ibm.xsp.extlib.designer.tooling.palette.singlepageapp.WizardSubPageNav.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    container = new Composite(parent, SWT.NONE);

    GridLayout layout = WizardUtils.createGridLayout(2, 5);
    container.setLayout(layout);//from w w w.  j  a v  a 2s  .c  o  m

    tableViewer = WizardUtils.createTableViewer(container, 1, 2, null);

    // Create Label column
    TableViewerColumn col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("Entry"); // $NLX-WizardSubPageNav.Entry-1$
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((NavTarget) element).label;
        }
    });

    // Create Target the column
    col = new TableViewerColumn(tableViewer, SWT.LEFT);
    col.getColumn().setText("Target Page"); // $NLX-WizardSubPageNav.TargetPage-1$
    col.getColumn().setResizable(false);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (((NavTarget) element).page >= 0) {
                return wizardData.getPageNameList()[((NavTarget) element).page];
            }
            return "";
        }
    });

    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            editNavEntry();
        }
    });

    Composite buttonComposite = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.numColumns = 1;
    buttonComposite.setLayout(layout);
    newBtn = WizardUtils.createButton(buttonComposite, "New", this); // $NLX-WizardSubPageNav.New-1$
    deleteBtn = WizardUtils.createButton(buttonComposite, "Delete", this); // $NLX-WizardSubPageNav.Delete-1$
    editBtn = WizardUtils.createButton(buttonComposite, "Edit", this); // $NLX-WizardSubPageNav.Edit-1$
    moveUpBtn = WizardUtils.createButton(buttonComposite, "Move Up", this); // $NLX-WizardSubPageNav.MoveUp-1$
    moveDownBtn = WizardUtils.createButton(buttonComposite, "Move Down", this); // $NLX-WizardSubPageNav.MoveDown-1$
    GridData buttonLayoutData = new GridData(
            GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING);
    buttonComposite.setLayoutData(buttonLayoutData);

    refreshButtonState();

    setControl(container);
    setPageComplete(true);
}

From source file:com.isencia.passerelle.workbench.model.editor.ui.views.execTrace.ExecutionTracesView.java

License:Apache License

protected void createTableViewer(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new GridLayout(1, false));
    container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    // Create the composite
    Composite composite = new Composite(container, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    // Add TableColumnLayout
    TableColumnLayout layout = new TableColumnLayout();
    composite.setLayout(layout);//from  w w  w  . j  a  v a 2 s. c o m

    tableViewer = new TableViewer(composite,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    table = tableViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tblclmnFirst = tableViewerColumn.getColumn();
    layout.setColumnData(tblclmnFirst, new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true));
    tblclmnFirst.setText("Timestamp");
    tableViewerColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            TraceEntry te = (TraceEntry) element;
            return te.time;
        }
    });

    TableViewerColumn tableViewerColumn_1 = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tblclmnLast = tableViewerColumn_1.getColumn();
    // Specify width using weights
    layout.setColumnData(tblclmnLast, new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true));
    tblclmnLast.setText("Source");
    tableViewerColumn_1.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            TraceEntry te = (TraceEntry) element;
            return te.source;
        }
    });

    TableViewerColumn tableViewerColumn_2 = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn tblclmnTitle = tableViewerColumn_2.getColumn();
    // Specify width using weights
    layout.setColumnData(tblclmnTitle, new ColumnWeightData(4, ColumnWeightData.MINIMUM_WIDTH, true));
    tblclmnTitle.setText("Message");

    tableViewerColumn_2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            TraceEntry te = (TraceEntry) element;
            return te.msg;
        }

        @Override
        public Color getBackground(Object element) {
            TraceEntry te = (TraceEntry) element;
            String cellText = te.msg;
            if (pattern.matcher(cellText).matches()) {
                return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
            } else {
                return Display.getCurrent().getSystemColor(SWT.COLOR_GREEN);
            }
        }
        // @Override
        // public void update(ViewerCell cell) {
        // TraceEntry te = (TraceEntry) cell.getElement();
        // String cellText = te.msg;
        // cell.setText(cellText);
        // if (pattern.matcher(cellText).matches()) {
        // cell.setBackground(color);
        // }
        // super.update(cell);
        // }
    });
}

From source file:com.jaspersoft.studio.editor.gef.decorator.csv.ColumnsOrderDialog.java

License:Open Source License

private void createColumns(TableViewer viewer) {
    TableViewerColumn colFirstName = new TableViewerColumn(viewer, SWT.NONE);
    colFirstName.getColumn().setWidth(200);
    colFirstName.getColumn().setText(Messages.ColumnsOrderDialog_2);
    colFirstName.setLabelProvider(new ColumnLabelProvider() {
        @Override/*from   w  w  w. ja  v a 2  s. c  om*/
        public String getText(Object element) {
            return (String) element;
        }
    });
}

From source file:com.jaspersoft.studio.property.dataset.dialog.DataPreviewTable.java

License:Open Source License

private void updateTableLayout() {
    if (composite.isVisible()) {
        // Remove all table items if any
        wtable.removeAll();//from  w  w  w  . ja  v  a2s .co m
        tviewer.setInput(null);

        // Dispose old columns if any
        for (TableColumn col : wtable.getColumns()) {
            col.dispose();
        }

        TableColumnLayout tColLayout = new TableColumnLayout();
        tableContainer.setLayout(tColLayout);

        List<JRDesignField> fields = previewInfoProvider.getFieldsForPreview();
        if (fields.size() > 0) {
            for (JRDesignField f : fields) {
                TableViewerColumn tvc = new TableViewerColumn(tviewer, SWT.NONE);
                tvc.getColumn().setText(f.getName());
                tvc.setLabelProvider(new ColumnLabelProvider());
                tColLayout.setColumnData(tvc.getColumn(),
                        new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true));
                tvc.setLabelProvider(new CellLabelProvider() {
                    @Override
                    public void update(ViewerCell cell) {
                        DataPreviewBean element = (DataPreviewBean) cell.getElement();
                        Object value = element.getValue(cell.getColumnIndex());
                        if (value != null) {
                            cell.setText(value.toString());
                        } else {
                            cell.setText(""); //$NON-NLS-1$
                        }
                    }
                });
            }

        }

        tableContainer.layout();
    }
}

From source file:com.jinnova.docaid.parts.DiagListPart.java

License:Open Source License

private void createColumn(int width, String caption, ColumnLabelProvider labelProvider) {
    TableViewerColumn col = new TableViewerColumn(diagListViewer, SWT.NONE);
    col.getColumn().setWidth(width);//from ww  w .  j  a  v a 2s. c  o m
    col.getColumn().setText(caption);
    col.setLabelProvider(labelProvider);
}

From source file:com.jinnova.docaid.parts.PrescriptionPart.java

License:Open Source License

@PostConstruct
public void createComposite(Composite parent) {
    parent.setLayout(new GridLayout(4, false));

    Color colorBlue = parent.getDisplay().getSystemColor(SWT.COLOR_BLUE);

    Label l = new Label(parent, SWT.None);
    l.setText(Messages.PrescriptionPart_name_colon);
    name = new Label(parent, SWT.None);
    name.setForeground(colorBlue);/*from  ww  w . j av  a  2  s. c o  m*/
    name.setLayoutData(new GridData(GridData.FILL_HORIZONTAL /*| GridData.GRAB_HORIZONTAL*/));

    l = new Label(parent, SWT.None);
    l.setText(Messages.PrescriptionPart_id_colon);
    idLabel = new Label(parent, SWT.None);
    GridData gdata = new GridData();
    final int secondColWidth = 60;
    gdata.widthHint = secondColWidth;
    idLabel.setLayoutData(gdata);
    idLabel.setForeground(colorBlue);

    l = new Label(parent, SWT.None);
    l.setText(Messages.PrescriptionPart_diagDate_colon);
    diagDate = new Label(parent, SWT.None);
    diagDate.setForeground(colorBlue);
    //diagDate.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    gdata = new GridData(GridData.FILL_HORIZONTAL);
    //gdata.horizontalSpan = 3;
    diagDate.setLayoutData(gdata);

    l = new Label(parent, SWT.None);
    l.setText(Messages.PrescriptionPart_weight_colon);
    weight = new Label(parent, SWT.None);
    weight.setForeground(colorBlue);
    //weight.setText("  50kg  ");
    gdata = new GridData(/*GridData.FILL_HORIZONTAL*/);
    gdata.widthHint = secondColWidth;
    weight.setLayoutData(gdata);

    if (!showPatientDetails) {
        /*new Label(parent, SWT.None);
        new Label(parent, SWT.None);
        l = new Label(parent, SWT.None);
        l.setText("Toa thuc:");
        presCost = new Label(parent, SWT.None);
        presCost.setForeground(colorBlue);
        gdata = new GridData();
        gdata.widthHint = secondColWidth;
        presCost.setLayoutData(gdata);*/
    } else {
        l = new Label(parent, SWT.None);
        l.setText(Messages.PrescriptionPart_histNote_colon);
        healthNote = new Label(parent, SWT.None);
        //healthNote.setForeground(colorBlue);
        //healthNote.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        gdata = new GridData(GridData.FILL_HORIZONTAL);
        gdata.horizontalSpan = 3;
        healthNote.setLayoutData(gdata);
        healthNote.setForeground(colorBlue);

        l = new Label(parent, SWT.None);
        l.setText(Messages.PrescriptionPart_symptoms_colon);
        symptoms = new Label(parent, SWT.None);
        //symptoms.setForeground(colorBlue);
        symptoms.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        gdata = new GridData(GridData.FILL_HORIZONTAL);
        //gdata.horizontalSpan = 3;
        symptoms.setLayoutData(gdata);
        symptoms.setForeground(colorBlue);

        l = new Label(parent, SWT.None);
        l.setText(Messages.PrescriptionPart_services_colon);
        serviceCost = new Label(parent, SWT.None);
        serviceCost.setForeground(colorBlue);
        gdata = new GridData();
        gdata.widthHint = secondColWidth;
        serviceCost.setLayoutData(gdata);

        l = new Label(parent, SWT.None);
        l.setText(Messages.PrescriptionPart_diagBrief_colon);
        diagBrief = new Label(parent, SWT.None);
        //diagBrief.setForeground(colorBlue);
        diagBrief.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        gdata = new GridData(GridData.FILL_HORIZONTAL);
        //gdata.horizontalSpan = 3;
        diagBrief.setLayoutData(gdata);
        diagBrief.setForeground(colorBlue);

        l = new Label(parent, SWT.None);
        l.setText(Messages.PrescriptionPart_prescription_colon);
        presCost = new Label(parent, SWT.None);
        presCost.setForeground(colorBlue);
        gdata = new GridData();
        gdata.widthHint = secondColWidth;
        presCost.setLayoutData(gdata);

        l = new Label(parent, SWT.None);
        l.setText(Messages.PrescriptionPart_treatments_colon);
        treatment = new Label(parent, SWT.None);
        //treatment.setForeground(colorBlue);
        treatment.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        gdata = new GridData(GridData.FILL_HORIZONTAL);
        //gdata.horizontalSpan = 3;
        treatment.setLayoutData(gdata);
        treatment.setForeground(colorBlue);

        l = new Label(parent, SWT.None);
        l.setText(Messages.PrescriptionPart_total_colon);
        totalCost = new Label(parent, SWT.None);
        totalCost.setForeground(colorBlue);
        gdata = new GridData();
        gdata.widthHint = secondColWidth;
        totalCost.setLayoutData(gdata);
    }

    tableViewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
    tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    gdata = new GridData(GridData.FILL_BOTH);
    gdata.horizontalSpan = 4;
    tableViewer.getTable().setLayoutData(gdata);

    createColumn(30, Messages.PrescriptionPart_queueNumber_abbr, new PrescriptionLabelProvider() {
        @Override
        public String getText(PrescriptionItem p) {
            return String.valueOf(prescription.indexOf(p) + 1);
        }
    });
    createColumn(150, Messages.PrescriptionPart_medName, new PrescriptionLabelProvider() {
        @Override
        public String getText(PrescriptionItem p) {
            return p.medName.getValue();
        }
    });
    createColumn(70, Messages.PrescriptionPart_medDosage, new PrescriptionLabelProvider() {
        @Override
        public String getText(PrescriptionItem p) {
            if (isUndefined(p.amountPerTaking.getValue()) || isUndefined(p.takingCountPerDay.getValue())
                    || p.medUnit == null) {
                return ""; //$NON-NLS-1$
            }
            return p.amountPerTaking.getValue() + " " + p.medUnit + " x " + //$NON-NLS-1$ //$NON-NLS-2$
            p.takingCountPerDay.getValue();
        }
    });
    createColumn(50, Messages.PrescriptionPart_days, new PrescriptionLabelProvider() {
        @Override
        public String getText(PrescriptionItem p) {
            if (isUndefined(p.dayCount.getValue())) {
                return ""; //$NON-NLS-1$
            }
            return p.dayCount.getValue() + Messages.PrescriptionPart_days_spaceprefix;
        }
    });
    createColumn(50, Messages.PrescriptionPart_amount, new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            /*if (element instanceof PrescriptionItemExtra) {
               PrescriptionItem pi = (PrescriptionItem) ((PrescriptionItemExtra) element).item;
               return pi.amountTotalUnit + " " + pi.medUnit;
            }
            PrescriptionItem p = (PrescriptionItem) element;
            if (p.amountTotalPackage != null && p.amountTotalPackage != 0) {
               return p.amountTotalPackage + " " + p.medPackage;
            } else if (p.amountTotalUnit != null && p.amountTotalUnit != 0) {
               return p.amountTotalUnit + " " + p.medUnit;
            }
             return "";*/
            if (element instanceof PrescriptionItemExtra) {
                PrescriptionItemExtra extra = (PrescriptionItemExtra) element;
                PrescriptionItem pi = extra.item;
                if (extra.amountPackage) {
                    if (pi.amountTotalPackage == null || pi.amountTotalPackage == 0) {
                        return ""; //$NON-NLS-1$
                    }
                    return pi.amountTotalPackage + " " + pi.medPackage; //$NON-NLS-1$
                } else {
                    if (pi.amountTotalUnit == null || pi.amountTotalUnit == 0) {
                        return ""; //$NON-NLS-1$
                    }
                    return pi.amountTotalUnit + " " + pi.medUnit; //$NON-NLS-1$
                }
            }
            return ""; //$NON-NLS-1$
        }
    });

    TableViewerColumn col = new TableViewerColumn(tableViewer, SWT.RIGHT);
    col.getColumn().setWidth(90);
    col.getColumn().setText(Messages.PrescriptionPart_cost);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            /*if (element instanceof PrescriptionItemExtra) {
               PrescriptionItem pi = (PrescriptionItem) ((PrescriptionItemExtra) element).item;
               if (pi.amountTotalUnit == null || pi.medUnitPrice == null) {
            return "";
               }
               return pi.amountTotalUnit * pi.medUnitPrice + "";
            }
            PrescriptionItem p = (PrescriptionItem) element;
            if (p.amountTotalPackage != null && p.amountTotalPackage != 0) {
               if (p.amountTotalPackage == null || p.medPackagePrice == null) {
            return "";
               }
               return p.amountTotalPackage * p.medPackagePrice + "";
            } else if (p.amountTotalUnit != null && p.amountTotalUnit != 0) {
               if (p.amountTotalUnit == null || p.medUnitPrice == null) {
            return "";
               }
               return p.amountTotalUnit * p.medUnitPrice + "";
            }
             return "";*/
            if (element instanceof PrescriptionItemExtra) {
                PrescriptionItemExtra extra = (PrescriptionItemExtra) element;
                PrescriptionItem pi = extra.item;
                if (extra.amountPackage) {
                    if (pi.amountTotalPackage == null || pi.medPackagePrice == null) {
                        return ""; //$NON-NLS-1$
                    }
                    return pi.amountTotalPackage * pi.medPackagePrice + ""; //$NON-NLS-1$
                } else {
                    if (pi.amountTotalUnit == null || pi.medUnitPrice == null) {
                        return ""; //$NON-NLS-1$
                    }
                    return pi.amountTotalUnit * pi.medUnitPrice + ""; //$NON-NLS-1$
                }
            }

            if (element instanceof Prescription) {
                return ((Prescription) element).computeTotalCost() + ""; //$NON-NLS-1$
            }
            return ""; //$NON-NLS-1$
        }
    });
    createColumn(150, Messages.PrescriptionPart_note, new PrescriptionLabelProvider() {
        @Override
        public String getText(PrescriptionItem p) {
            return p.getNoteReading();
        }
    });

    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.horizontalSpan = 4;
    tableViewer.getTable().setLayoutData(layoutData);
    final Table table = tableViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection.size() > 0) {
                Object o = selection.getFirstElement();
                PrescriptionItem pi = null;
                if (o instanceof PrescriptionItem) {
                    pi = (PrescriptionItem) o;
                } else if (o instanceof PrescriptionItemExtra) {
                    pi = ((PrescriptionItemExtra) o).item;
                }
                if (pi != null) {
                    pi.prescription.setEditingItem(pi);
                    selService.setSelection(pi);
                }
            }
        }
    });

    if (showPatientDetails /*|| SettingName.isSet(SettingName.diag_skipMedStage.name())*/) {
        doneButton = new Button(parent, SWT.None);
        gdata = new GridData(GridData.FILL_HORIZONTAL);
        gdata.horizontalSpan = 4;
        gdata.heightHint = 40;
        doneButton.setLayoutData(gdata);
        doneButton.setText(Messages.PrescriptionPart_complete);
        doneButton.addSelectionListener(new SelectionListener() {

            @Override
            public void widgetSelected(SelectionEvent e) {

                NamedAction action = getAction();
                if (action != null) {
                    action.run();
                }
            }

            @Override
            public void widgetDefaultSelected(SelectionEvent e) {
            }
        });
    }

    //diagListViewer.setInput(diagList);
    //WaitingList.registerViewer(diagListViewer);
    selService.addSelectionListener(new ISelectionListener() {

        //private DiagRecord newDiag;

        @Override
        public void selectionChanged(MPart part, Object selection) {
            DiagRecord newDiag = null;
            QueueTicket newTicket = null;
            if (selection instanceof QueueTicket) {
                newTicket = (QueueTicket) selection;
                newDiag = newTicket.patient.todayDiag;
            } else if (selection instanceof DiagRecord) {
                newDiag = (DiagRecord) selection;
            } else if (selection instanceof Patient) {
                //newDiag = ((Patient) selection).getOrCreateDirectTicket().diag;
                newDiag = ((Patient) selection).todayDiag;
            }

            if (newDiag == null || newDiag.prescription == prescription) {
                return;
            }

            queueTicket = newTicket;
            prescription = newDiag.prescription;
            populate();
        }
    });

    Patient.addPatientSelectionEmptyListener(new Runnable() {

        @Override
        public void run() {
            queueTicket = null;
            prescription = null;
            populate();
            //tableViewer.setInput(null);
        }
    });

    WaitingList.diagQueue.addQueuePeekingListener(new QueuePeekingListener() {

        @Override
        public void queuePeeked(QueueTicket ticket) {
            queueTicket = ticket;
            if (ticket == null) {
                prescription = null;
            } else {
                prescription = ticket.patient.todayDiag.prescription;
            }
            populate();
        }
    });
    populate();
}

From source file:com.jinnova.docaid.parts.PrescriptionPart.java

License:Open Source License

private void createColumn(int width, String caption, ColumnLabelProvider labelProvider) {
    TableViewerColumn col = new TableViewerColumn(tableViewer, SWT.NONE);
    col.getColumn().setWidth(width);//w  w  w.j  a v  a2 s .  c  om
    col.getColumn().setText(caption);
    col.setLabelProvider(labelProvider);
}