Example usage for org.eclipse.jface.window ToolTip NO_RECREATE

List of usage examples for org.eclipse.jface.window ToolTip NO_RECREATE

Introduction

In this page you can find the example usage for org.eclipse.jface.window ToolTip NO_RECREATE.

Prototype

int NO_RECREATE

To view the source code for org.eclipse.jface.window ToolTip NO_RECREATE.

Click Source Link

Document

Don't recreate the tooltip as long the mouse doesn't leave the area triggering the tooltip creation

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  w  w.  j av a2s. 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);/* w w  w .j av 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.logcat.offline.view.ddmuilib.logcat.LogCatPanel.java

License:Apache License

private void createLogcatViewTable(Composite parent) {
    // The SWT.VIRTUAL bit causes the table to be rendered faster. However it makes all rows
    // to be of the same height, thereby clipping any rows with multiple lines of text.
    // In such a case, users can view the full text by hovering over the item and looking at
    // the tooltip.
    final Table table = new Table(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.VIRTUAL);
    mViewer = new TableViewer(table);

    table.setLayoutData(new GridData(GridData.FILL_BOTH));
    table.getHorizontalBar().setVisible(true);

    /** Columns to show in the table. */
    String[] properties = { "Level", "Time", "PID",
            // "Application",
            "TID", // add tid
            "Tag", "Text", };

    /**/*from  w  w  w  . ja va 2s .  co m*/
     * The sampleText for each column is used to determine the default widths for each column. The contents do not
     * matter, only their lengths are needed.
     */
    String[] sampleText = { "    ", "    00-00 00:00:00.0000 ", "  0000",
            // "    com.android.launcher",
            "  0000", // add tid
            "    SampleTagText++++",
            "    Log Message field should be pretty long by default. As long as possible for correct display on Mac.", };

    mLogCatMessageLabelProvider = new LogCatMessageLabelProvider(getFontFromPrefStore());
    for (int i = 0; i < properties.length; i++) {
        TableColumn tc = TableHelper.createTableColumn(mViewer.getTable(), properties[i], /* Column title */
                SWT.LEFT, /* Column Style */
                sampleText[i], /* String to compute default col width */
                getColPreferenceKey(properties[i]), /* Preference Store key for this column */
                mPrefStore);
        TableViewerColumn tvc = new TableViewerColumn(mViewer, tc);
        tvc.setLabelProvider(mLogCatMessageLabelProvider);
    }

    mViewer.getTable().setLinesVisible(true); /* zebra stripe the table */
    mViewer.getTable().setHeaderVisible(true);
    mViewer.setContentProvider(new LogCatMessageContentProvider());
    WrappingToolTipSupport.enableFor(mViewer, ToolTip.NO_RECREATE);

    // Set the row height to be sufficient enough to display the current font.
    // This is not strictly necessary, except that on WinXP, the rows showed up clipped. So
    // we explicitly set it to be sure.
    mViewer.getTable().addListener(SWT.MeasureItem, new Listener() {
        @Override
        public void handleEvent(Event event) {
            event.height = event.gc.getFontMetrics().getHeight();
        }
    });

    // Update the label provider whenever the text column's width changes
    TableColumn textColumn = mViewer.getTable().getColumn(properties.length - 1);
    textColumn.addControlListener(new ControlAdapter() {
        @Override
        public void controlResized(ControlEvent event) {
            TableColumn tc = (TableColumn) event.getSource();
            int width = tc.getWidth();
            GC gc = new GC(tc.getParent());
            int avgCharWidth = gc.getFontMetrics().getAverageCharWidth();
            gc.dispose();

            if (mLogCatMessageLabelProvider != null) {
                mLogCatMessageLabelProvider.setMinimumLengthForToolTips(width / avgCharWidth);
            }
        }
    });
    mViewer.getTable().addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mIsSynFromHere = true;
            String time = getSelectedLogCatMessages().get(0).getLogCatMessage().getTime();
            if (time != null && time.length() > 10) {// 04-08 13:13:43.851
                LogCatSyncManager.getInstance().syncTime(time);
            }
        }

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

    createViewMenu();

    setupAutoScrollLockBehavior();
    // initDoubleClickListener();
}

From source file:com.mercatis.lighthouse3.ui.event.providers.EventTable.java

License:Apache License

/**
 * @param parent/*w  ww.  j a  v a2 s  . c om*/
 * @param style
 */
private void createTable(Composite parent, int style) {
    commonTable = new CommonTable(parent, style | SWT.VIRTUAL);
    tableViewer = new TableViewer(commonTable.getTable());
    tableViewer.getTable().getVerticalBar().addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            ScrollBar scrollBar = tableViewer.getTable().getVerticalBar();

            int minimum = scrollBar.getMinimum();
            int selection = scrollBar.getSelection();
            contentProvider.setRevealLatestElement(selection == minimum);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            try {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                eventDetailHandler.execute(selection.getFirstElement());
            } catch (ExecutionException e) {
                e.printStackTrace();
            }
        }
    });

    site.setSelectionProvider(tableViewer);

    Map<Color, List<Event>> rowBackGroundColorConfiguration = new HashMap<Color, List<Event>>();

    List<Event> eventsFatal = new LinkedList<Event>();
    eventsFatal.add(EventBuilder.template().setLevel(Event.FATAL).done());
    rowBackGroundColorConfiguration.put(new Color(parent.getDisplay(), 205, 0, 0), eventsFatal);

    List<Event> eventsError = new LinkedList<Event>();
    eventsError.add(EventBuilder.template().setLevel(Event.ERROR).done());
    rowBackGroundColorConfiguration.put(new Color(parent.getDisplay(), 255, 116, 76), eventsError);

    List<Event> eventsWarning = new LinkedList<Event>();
    eventsWarning.add(EventBuilder.template().setLevel(Event.WARNING).done());
    rowBackGroundColorConfiguration.put(new Color(parent.getDisplay(), 255, 255, 0), eventsWarning);

    contentProvider = new EventTableContentLabelProvider(lighthouseDomain, rowBackGroundColorConfiguration,
            parent.getDisplay());

    ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE);

    tableViewer.setContentProvider(contentProvider);
    tableViewer.setLabelProvider(contentProvider);

    if (EventTableContentLabelProvider.isLegacyWindows)
        commonTable.getTable().setLinesVisible(true);
    commonTable.getTable().setHeaderVisible(true);

    commonTable.getTable().addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDown(MouseEvent e) {
            if (e.button == 3) {
                lastMousePosition = new Point(e.x, e.y);
            }
        }
    });

    createColumns();
    createMenu();
    hideInitialColumns();
    commonTable.setTableMenu(tableMenu);
    tableViewer.setInput(events);
    contentProvider.setSortColumn((ColumnType) tableViewer.getTable().getSortColumn().getData(),
            tableViewer.getTable().getSortDirection());
}

From source file:com.motorola.studio.android.launch.ui.StartedInstancesDialog.java

License:Apache License

/**
 * @param parent//from  w w  w.  ja  v a 2 s.c o  m
 */
private void createTableArea(Composite parent) {
    viewer = new TableViewer(parent,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(false);

    TableViewerColumn avds = new TableViewerColumn(viewer, SWT.NONE);
    avds.getColumn().setText(LaunchNLS.UI_StartedInstancesDialog_CompatibleAvdsColumnName);
    avds.getColumn().setResizable(true);
    avds.getColumn().setWidth(480);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            enableOkButton();
        }
    });

    avds.setLabelProvider(new ColumnLabelProvider() {
        /* (non-Javadoc)
        * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
        */
        @Override
        public String getText(Object element) {
            IAndroidEmulatorInstance instance = (IAndroidEmulatorInstance) element;
            return instance.getName() + " (" + instance.getTarget() + ", "
                    + LaunchNLS.UI_StartedInstancesDialog_ApiLevel + " " + instance.getAPILevel() + ")";
        }

        @Override
        public Image getImage(Object element) {

            Image img = null;

            IAndroidEmulatorInstance instance = (IAndroidEmulatorInstance) element;
            IStatus compatible = LaunchUtils.isCompatible(project, instance.getName());

            // notify the warning state
            if (compatible.getSeverity() == IStatus.WARNING) {
                img = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK);
            }

            return img;
        }

        @Override
        public String getToolTipText(Object element) {
            String toolTip = null;

            IAndroidEmulatorInstance instance = (IAndroidEmulatorInstance) element;
            IStatus compatible = LaunchUtils.isCompatible(project, instance.getName());

            if (compatible.getSeverity() == IStatus.WARNING) {
                toolTip = LaunchNLS.UI_StartedInstancesDialog_Tooltip;

            }

            return toolTip;
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 500;
        }

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

    });

    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);

    ArrayContentProvider provider = new ArrayContentProvider();
    viewer.setContentProvider(provider);
    viewer.setInput(compatibleStartedInstances);

    Button checkBox = new Button(parent, SWT.CHECK);
    GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false);
    checkBox.setLayoutData(gridData);
    checkBox.setText(LaunchNLS.UI_StartedInstancesDialog_UpdateRunConfigurarion);
    checkBox.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (isUpdateConfigurationSelected) {
                isUpdateConfigurationSelected = false;
            } else {
                isUpdateConfigurationSelected = true;
            }
        }
    });
}

From source file:com.netxforge.netxstudio.screens.f4.MappingStatistics.java

License:Open Source License

private void buildUI() {
    setLayout(new FillLayout(SWT.HORIZONTAL));

    frmMappingStatistics = toolkit.createForm(this);
    frmMappingStatistics.setSeparatorVisible(true);
    toolkit.paintBordersFor(frmMappingStatistics);
    frmMappingStatistics.setText("Mapping Statistics: " + metricSource.getName());
    frmMappingStatistics.getBody().setLayout(new FormLayout());

    cleanStatsAction = new CleanStatsAction("Clean up...");

    frmMappingStatistics.getMenuManager().add(cleanStatsAction);

    SashForm sashForm = new SashForm(frmMappingStatistics.getBody(), SWT.NONE);
    FormData fd_sashForm = new FormData();
    fd_sashForm.bottom = new FormAttachment(100, -12);
    fd_sashForm.right = new FormAttachment(100, -12);
    fd_sashForm.top = new FormAttachment(0, 12);
    fd_sashForm.left = new FormAttachment(0, 12);
    sashForm.setLayoutData(fd_sashForm);
    toolkit.adapt(sashForm);// ww  w. j a  va  2  s .  com
    toolkit.paintBordersFor(sashForm);

    Section sctnStatistics = toolkit.createSection(sashForm, Section.EXPANDED | Section.TITLE_BAR);
    toolkit.paintBordersFor(sctnStatistics);
    sctnStatistics.setText("Statistics");

    Composite cmpSelector = toolkit.createComposite(sctnStatistics, SWT.NONE);
    toolkit.paintBordersFor(cmpSelector);
    sctnStatistics.setClient(cmpSelector);
    cmpSelector.setLayout(new FillLayout(SWT.HORIZONTAL));

    statisticsTreeViewer = new TreeViewer(cmpSelector, SWT.BORDER | SWT.MULTI);
    statisticsTreeViewer.setUseHashlookup(true);
    statisticsTreeViewer.setComparer(new CDOElementComparer());
    statisticsTree = statisticsTreeViewer.getTree();
    toolkit.paintBordersFor(statisticsTree);

    // statisticsListViewer = new ListViewer(cmpSelector, SWT.BORDER
    // | SWT.V_SCROLL);

    // TODO, convert to an action.
    Menu menu = new Menu(statisticsTreeViewer.getTree());
    statisticsTreeViewer.getTree().setMenu(menu);

    MenuItem mntmMore = new MenuItem(menu, SWT.NONE);
    mntmMore.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            // Show the period etc..
            ISelection selection = statisticsTreeViewer.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object o = ((IStructuredSelection) selection).getFirstElement();
                if (o instanceof MappingStatistic) {

                    // Create a predicate for filtering the values within a
                    // range.
                    MappingStatistic mappingStatistics = (MappingStatistic) o;

                    final int targetIntervalHint = mappingStatistics.getIntervalEstimate();

                    Resource metricResource = editingService.getData(MetricsPackage.Literals.METRIC);
                    List<NetXResource> resourcesInMetricSource = StudioUtils
                            .resourcesInMetricSource(metricResource.getContents(), metricSource);
                    if (resourcesInMetricSource.isEmpty()) {
                        System.out.println("No resources for this metricsource");
                        return;
                    }

                    DateTimeRange dtr = mappingStatistics.getPeriodEstimate();

                    System.out.println("VALUES FOR PERIOD:");

                    System.out.println("FROM=" + NonModelUtils.dateAndTime(dtr.getBegin()));
                    System.out.println("TO=" + NonModelUtils.dateAndTime(dtr.getEnd()));

                    int valueCount = 0;
                    for (NetXResource res : resourcesInMetricSource) {
                        System.out.println("values for resource: " + res.getShortName() + "on Component"
                                + res.getComponentRef().getName());

                        List<Value> values = StudioUtils.valuesForIntervalKindAndPeriod(res, targetIntervalHint,
                                null, dtr);
                        if (values.size() > 0) {
                            valueCount += values.size();
                            System.out.println("number of values " + Iterables.size(values));
                            for (Value v : values) {
                                System.out.println(
                                        NonModelUtils.fromXMLDate(v.getTimeStamp()) + ":" + v.getValue());
                            }
                        }
                    }
                    System.out.println("total values for this import = " + valueCount);

                }
            }
        }
    });
    mntmMore.setText("Values...");

    MenuItem mntmDelete = new MenuItem(menu, SWT.NONE);
    mntmDelete.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            // Show the period etc..
            ISelection selection = statisticsTreeViewer.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object o = ((IStructuredSelection) selection).getFirstElement();
                if (o instanceof MappingStatistic) {
                    MappingStatistic mappingStatistics = (MappingStatistic) o;
                    final int targetIntervalHint = mappingStatistics.getIntervalEstimate();
                    Resource metricResource = editingService.getData(MetricsPackage.Literals.METRIC);
                    List<NetXResource> resourcesInMetricSource = StudioUtils
                            .resourcesInMetricSource(metricResource.getContents(), metricSource);
                    DateTimeRange dtr = mappingStatistics.getPeriodEstimate();

                    for (NetXResource res : resourcesInMetricSource) {
                        List<Value> values = StudioUtils.valuesForIntervalKindAndPeriod(res, targetIntervalHint,
                                null, dtr);
                        if (values.size() > 0) {
                            WarningDeleteCommand dc = new WarningDeleteCommand(
                                    editingService.getEditingDomain(), values);
                            editingService.getEditingDomain().getCommandStack().execute(dc);
                        }
                    }
                }
            }
        }
    });
    mntmDelete.setText("Purge import...");

    Section sctnSummary = toolkit.createSection(sashForm, Section.EXPANDED | Section.TITLE_BAR);
    toolkit.paintBordersFor(sctnSummary);
    sctnSummary.setText("Summary");

    Composite composite = toolkit.createComposite(sctnSummary, SWT.NONE);
    toolkit.paintBordersFor(composite);
    sctnSummary.setClient(composite);
    composite.setLayout(new GridLayout(2, false));

    Label lblStatus = toolkit.createLabel(composite, "Status:", SWT.NONE);
    lblStatus.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, false, false, 1, 1));

    txtMessage = toolkit.createText(composite, "New Text", SWT.READ_ONLY | SWT.WRAP | SWT.MULTI | SWT.V_SCROLL);
    txtMessage.setText("");
    GridData gd_txtMessage = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1);
    gd_txtMessage.heightHint = 93;
    txtMessage.setLayoutData(gd_txtMessage);

    // RUN PERIOD

    Label lblStartDatetime = toolkit.createLabel(composite, "Start Date/Time:", SWT.NONE);
    lblStartDatetime.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

    txtStartDateTime = toolkit.createText(composite, "New Text", SWT.READ_ONLY);
    txtStartDateTime.setText("");
    txtStartDateTime.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Label lblEndDatetime = toolkit.createLabel(composite, "End Date/Time:", SWT.NONE);
    lblEndDatetime.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

    txtEndDateTime = toolkit.createText(composite, "New Text", SWT.READ_ONLY);
    txtEndDateTime.setText("");
    txtEndDateTime.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    // METRIC PERIOD ESTIMATE.
    Label lblStartMetricDatetime = toolkit.createLabel(composite, "Metrics start:", SWT.NONE);
    lblStartMetricDatetime.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

    txtMetricStartDateTime = toolkit.createText(composite, "New Text", SWT.READ_ONLY);
    txtMetricStartDateTime.setText("");
    txtMetricStartDateTime.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Label lblEndMetricDatetime = toolkit.createLabel(composite, "Metrics end:", SWT.NONE);
    lblEndMetricDatetime.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

    txtMetricEndDateTime = toolkit.createText(composite, "New Text", SWT.READ_ONLY);
    txtMetricEndDateTime.setText("");
    txtMetricEndDateTime.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    // RECORDS
    Label lblTotalRecordsProcessed = toolkit.createLabel(composite, "Total rows processed: ", SWT.NONE);
    lblTotalRecordsProcessed.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

    txtTotalRecords = toolkit.createText(composite, "New Text", SWT.READ_ONLY);
    txtTotalRecords.setText("");
    txtTotalRecords.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Label lblTotalExpectedValues = toolkit.createLabel(composite, "Total values:", SWT.NONE);

    lblTotalExpectedValues.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    txtTotalValues = toolkit.createText(composite, "New Text", SWT.READ_ONLY);
    txtTotalValues.setText("");
    txtTotalValues.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtTotalValues.setToolTipText("Total values is the # of metrics * the number of rows");

    Label lblTotalFailedValues = toolkit.createLabel(composite, "Total Failed Values", SWT.NONE);
    lblTotalFailedValues.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    txtTotalFailedValues = toolkit.createText(composite, "New Text", SWT.READ_ONLY);
    txtTotalFailedValues.setText("");
    txtTotalFailedValues.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    // Composite filler = toolkit.createComposite(composite, SWT.NONE);
    // GridData gd_filler = new GridData(SWT.LEFT, SWT.CENTER, false, false,
    // 2, 1);
    // gd_filler.heightHint = 30;
    // filler.setLayoutData(gd_filler);
    // toolkit.paintBordersFor(filler);

    tblViewerRecords = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);

    recordsTable = tblViewerRecords.getTable();
    recordsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 2, 1));
    recordsTable.setLinesVisible(true);
    recordsTable.setHeaderVisible(true);
    toolkit.paintBordersFor(recordsTable);

    MappingRecordErrorToolTipSupport.enableFor(tblViewerRecords, ToolTip.NO_RECREATE);

    TableViewerColumn tableViewerColumn = new TableViewerColumn(tblViewerRecords, SWT.NONE);
    TableColumn tblclmnNewColumn = tableViewerColumn.getColumn();
    tblclmnNewColumn.setWidth(40);
    tblclmnNewColumn.setText("Count");

    TableViewerColumn tableViewerColumn_1 = new TableViewerColumn(tblViewerRecords, SWT.NONE);
    TableColumn tblclmnColumn = tableViewerColumn_1.getColumn();
    tblclmnColumn.setWidth(40);
    tblclmnColumn.setText("Column");

    TableViewerColumn tableViewerColumn_2 = new TableViewerColumn(tblViewerRecords, SWT.NONE);
    TableColumn tblclmnMessage = tableViewerColumn_2.getColumn();
    tblclmnMessage.setWidth(400);
    tblclmnMessage.setText("Message");

    sashForm.setWeights(new int[] { 3, 7 });
}

From source file:com.nextep.designer.sqlclient.ui.connectors.SQLResultConnector.java

License:Open Source License

@Override
public Control create(Composite parent) {
    Composite resultPane = new Composite(parent, SWT.NONE);
    sqlView = new Table(resultPane, SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL | SWT.MULTI);
    // final NextepTableEditor editor = NextepTableEditor.handle(sqlView);
    CoolBar statsBar = new CoolBar(resultPane, SWT.NONE);
    statsBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    // Status item for result count
    final CoolItem rowsItem = new CoolItem(statsBar, SWT.NONE);
    rowsItem.setSize(rowsItem.computeSize(150, 20));
    rowsCount = new CLabel(statsBar, SWT.NONE);
    rowsItem.setControl(rowsCount);/*from   w  w  w  . j  a v a2 s .  com*/
    // Status item for query time and fetch time
    final CoolItem timeItem = new CoolItem(statsBar, SWT.NONE);
    timeLabel = new CLabel(statsBar, SWT.NONE);
    timeItem.setControl(timeLabel);
    timeItem.setSize(timeItem.computeSize(400, 20));

    sqlView.setHeaderVisible(true);
    sqlView.setLinesVisible(true);
    sqlView.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 1, 1));
    resultPane.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 1, 1));
    GridLayout grid = new GridLayout();
    grid.marginBottom = grid.marginHeight = grid.marginLeft = grid.marginRight = grid.marginTop = grid.marginWidth = 0;
    resultPane.setLayout(grid);

    // Configuring viewer
    sqlViewer = new TableViewer(sqlView);
    sqlViewer.setContentProvider(new SQLResultContentProvider());
    ColumnViewerToolTipSupport.enableFor(sqlViewer, ToolTip.NO_RECREATE);
    SQLResultLabelProvider lblProvider = new SQLResultLabelProvider(this, 0);
    final TableViewerColumn viewerCol = new TableViewerColumn(sqlViewer, SWT.NONE);
    viewerCol.setLabelProvider(lblProvider);
    // final ITableLabelProvider labelProvider = new SQLResultLabelProvider();
    // sqlViewer.setLabelProvider(labelProvider);
    modifier = new SQLRowResultCellModifier(false, sqlViewer, new IStatusAccessor() {

        @Override
        public void setStatus(String status, boolean error) {
            setStatusLabel(status, error);
        }
    });
    // Initializing comparator
    comparator = new SQLResultViewerComparator(sqlViewer);
    sqlViewer.setComparator(comparator);
    return resultPane;
}

From source file:com.nokia.carbide.cpp.internal.pi.wizards.ui.PluginSelectionGroup.java

License:Open Source License

public void createContent() {
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;//from   ww  w.j  a  v  a 2  s.  com
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;

    this.setLayout(gridLayout);

    this.setLayoutData(new GridData(GridData.FILL_BOTH));

    tableTitleLabel = new Label(this, SWT.NONE);
    final Composite tablePanel = new Composite(this, SWT.NONE);
    final GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    tablePanel.setLayout(gridLayout);
    tablePanel.setLayoutData(layoutData);
    if (profilerActivator) {
        tableTitleLabel.setText(Messages.getString("TraceSelectionGroup.profilerActivatorTitle")); //$NON-NLS-1$
    } else {
        tableTitleLabel.setText(Messages.getString("TraceSelectionGroup.groupTitle")); //$NON-NLS-1$
    }
    viewerTraceSelection = CheckboxTableViewer.newCheckList(tablePanel, SWT.BORDER | SWT.FULL_SELECTION);
    viewerTraceSelection.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof List<?>) {
                return ((List<?>) inputElement).toArray();
            }
            return new Object[0];
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

    });
    viewerTraceSelection.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (profilerDataPlugins == null) {
                return 0;
            }
            ITrace trace1 = (ITrace) e1;
            ITrace trace2 = (ITrace) e2;
            int returnCode = 0;
            if (trace1.isMandatory() == true && trace2.isMandatory() == true) {
                returnCode = trace1.getTraceTitle().compareTo(trace2.getTraceTitle());
            } else if (trace1.isMandatory() == true && trace2.isMandatory() == false) {
                returnCode = -1;
            } else if (trace1.isMandatory() == false && trace2.isMandatory() == true) {
                returnCode = 1;
            } else {
                returnCode = trace1.getTraceTitle().compareTo(trace2.getTraceTitle());
            }
            return returnCode;
        }

    });

    Table table = viewerTraceSelection.getTable();
    table.setLinesVisible(true);
    addActions();

    ColumnViewerToolTipSupport.enableFor(viewerTraceSelection, ToolTip.NO_RECREATE);

    TableViewerColumn column = new TableViewerColumn(viewerTraceSelection, SWT.NONE);
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(final Object element) {
            if (element instanceof ITrace) {
                return ((ITrace) element).getTraceTitle();
            }
            return element.toString();
        }

        @Override
        public String getToolTipText(Object element) {
            StringBuilder sb = new StringBuilder(((ITrace) element).getTraceDescription());
            if (((ITrace) element).getTraceId() == 1) {
                sb.append(Messages.getString("TraceSelectionGroup.mandatory")); //$NON-NLS-1$
            }
            return sb.toString();
        }

        @Override
        public Color getForeground(Object element) {
            if (((ITrace) element).getTraceId() == 1) {
                return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GRAY);
            }
            return null;
        }

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

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

    if (profilerActivator) {
        column.getColumn().setText(Messages.getString("TraceSelectionGroup.profilerActivatorTableColumn")); //$NON-NLS-1$
    } else {
        column.getColumn().setText(Messages.getString("TraceSelectionGroup.piView")); //$NON-NLS-1$
    }

    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tablePanel.setLayout(tableColumnLayout);
    tableColumnLayout.setColumnData(column.getColumn(), new ColumnWeightData(1));// column weight 1 to fill the whole
    // table width

    viewerTraceSelection.setAllChecked(true);
    viewerTraceSelection.addCheckStateListener(new ICheckStateListener() {

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged
         * (org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked() == false && viewerTraceSelection.getGrayed(event.getElement())) {
                // mandatory view; don't allow to deselect it
                viewerTraceSelection.setChecked(event.getElement(), true);
            } else {
                ITrace plugin = (ITrace) event.getElement();
                profilerDataPlugins.setChecked(plugin, event.getChecked());
            }
        }
    });
}

From source file:com.nokia.s60tools.crashanalyser.ui.viewers.CrashAnalyserTableViewer.java

License:Open Source License

protected CrashAnalyserTableViewer(Table table) {
    super(table);
    ColumnViewerToolTipSupport.enableFor(this, ToolTip.NO_RECREATE);

    labelProvider = new CellLabelProvider() {

        public String getToolTipText(Object element) {
            if ("".equals(element.toString()))
                return null;
            else//from w ww.ja v a2s . c om
                return element.toString();
        }

        public Point getToolTipShift(Object object) {
            return new Point(10, 10);
        }

        public int getToolTipDisplayDelayTime(Object object) {
            return 200;
        }

        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        public void update(ViewerCell cell) {
            cell.setText(cell.getElement().toString());
        }
    };

}

From source file:com.nokia.tools.variant.compare.ui.CustomCheckedTreeViewer.java

License:Open Source License

private void initViewer() {
    tooltipBG = new Color(getTree().getDisplay(), new RGB(245, 245, 200));
    tooltipFG = new Color(getTree().getDisplay(), new RGB(0, 0, 0));
    highlightBG = new Color(getTree().getDisplay(), new RGB(255, 255, 200));

    getTree().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            tooltipBG.dispose();/* ww  w  . ja  v  a  2  s  .c o  m*/
            tooltipFG.dispose();
            highlightBG.dispose();

        }
    });

    setUseHashlookup(true);
    addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            doCheckStateChanged(event.getElement());
        }
    });
    addTreeListener(new ITreeViewerListener() {
        public void treeCollapsed(TreeExpansionEvent event) {
        }

        public void treeExpanded(TreeExpansionEvent event) {
            Widget item = findItem(event.getElement());

            if (item instanceof TreeItem) {
                initializeItem((TreeItem) item);
            }
        }
    });
    new ToolTip(getControl(), ToolTip.NO_RECREATE, false) {

        @Override
        protected Composite createToolTipContentArea(Event event, Composite parent) {
            Composite area = new Composite(parent, SWT.NONE);
            area.setLayout(new GridLayout());

            area.setBackground(tooltipBG);
            area.setForeground(tooltipFG);
            Label label = new Label(area, SWT.NONE);
            label.setText("Unknown");
            label.setBackground(tooltipBG);
            label.setForeground(tooltipFG);

            String text = getTooltipText(new Point(event.x, event.y));
            if (text != null) {
                label.setText(text);
            }

            //             
            // computeShift(event,parent);

            return area;
        }

        String getTooltipText(Point p) {

            TreeItem item = getTree().getItem(p);
            if (item == null) {
                return null;
            }

            String tooltip = null;
            IBaseLabelProvider blp = getLabelProvider();

            if (blp instanceof ITableTooltipProvider) {
                int offset = 0;
                int width = 0;
                int columnIndex = -1;
                for (int idx : getTree().getColumnOrder()) {
                    TreeColumn column = getTree().getColumn(idx);
                    int offset2 = offset + column.getWidth();
                    if (p.x >= offset && p.x < offset2) {
                        columnIndex = idx;
                        width = column.getWidth();
                        break;
                    }
                    offset = offset2;
                }

                Rectangle bounds = item.getBounds();
                bounds.x += offset;
                bounds.width = width;

                tooltip = ((ITableTooltipProvider) blp).getColumnTooltip(item.getData(), columnIndex);
            }

            return tooltip;
        }

        @Override
        protected Object getToolTipArea(Event event) {
            Point p = new Point(event.x, event.y);

            TreeItem item = getTree().getItem(p);
            if (item == null) {
                return null;
            }

            String tooltip = null;
            IBaseLabelProvider blp = getLabelProvider();

            if (blp instanceof ITableTooltipProvider) {
                int offset = 0;
                int width = 0;
                int columnIndex = -1;
                for (int idx : getTree().getColumnOrder()) {
                    TreeColumn column = getTree().getColumn(idx);
                    int offset2 = offset + column.getWidth();
                    if (event.x >= offset && event.x < offset2) {
                        columnIndex = idx;
                        width = column.getWidth();
                        break;
                    }
                    offset = offset2;
                }

                Rectangle bounds = item.getBounds();
                bounds.x += offset;
                bounds.width = width;

                tooltip = ((ITableTooltipProvider) blp).getColumnTooltip(item.getData(), columnIndex);
                if (tooltip != null && tooltip.trim().length() > 0) {
                    return bounds;
                }
            }
            return null;
        }
    };

    getTree().addListener(SWT.EraseItem, new Listener() {
        public void handleEvent(Event event) {
            // Gradient selection color
            if ((event.detail & SWT.SELECTED) != 0) {
                return;
            }

            // event.detail &= ~SWT.HOT;
            // if ((event.detail & SWT.SELECTED) == 0)
            // return; /* item not selected */
            // int clientWidth = getTree().getClientArea().width;
            // GC gc = event.gc;
            // Color oldForeground = gc.getForeground();
            // Color oldBackground = gc.getBackground();
            // //gc.setForeground(gc.getDevice().getSystemColor(SWT.
            // COLOR_BLACK
            // // ));
            // //gc.setBackground(gc.getDevice().getSystemColor(SWT.
            // COLOR_WHITE
            // // ));
            // gc.fillGradientRectangle(0 + clientWidth - 1, event.y,
            // -clientWidth, event.height, false);
            // gc.setForeground(oldForeground);
            // gc.setBackground(oldBackground);
            // event.detail &= ~SWT.SELECTED;
        }
    });

    getTree().addListener(SWT.MeasureItem, new Listener() {
        public void handleEvent(Event event) {
            TreeItem item = (TreeItem) event.item;
            Object data = item.getData();
            IBaseLabelProvider blp = getLabelProvider();
            if (!(blp instanceof ITableAnnotationProvider)) {
                return;
            }
            ITableAnnotationProvider prov = (ITableAnnotationProvider) blp;
            String annotation = prov.getAnnotationText(data, event.index);
            if (annotation == null) {
                return;
            }
            int colWidth = getTree().getColumn(event.index).getWidth();

            GC gc = event.gc;
            Font font = prov.getAnnotationFont(data, event.index);
            gc.setFont(font == null ? item.getFont(event.index) : font);
            Point extent = gc.textExtent(annotation + "  ");
            event.width += extent.x;
            event.width = Math.max(colWidth - 1, event.width);

        }
    });
    getTree().addListener(SWT.PaintItem, new Listener() {
        public void handleEvent(Event event) {
            TreeItem item = (TreeItem) event.item;

            // Rectangle bounds = item.getBounds();
            // if (!event.gc.getClipping().intersects(bounds)) {
            // return;
            // }

            Object data = item.getData();
            IBaseLabelProvider blp = getLabelProvider();
            if (!(blp instanceof ITableAnnotationProvider)) {
                return;
            }
            if (blp instanceof ICheckEnabledLabelProvider) {
                ICheckEnabledLabelProvider checkProvider = (ICheckEnabledLabelProvider) blp;
                if (!checkProvider.isCheckEnabled(data)) {
                    redrawTreeItemCheckBox(event, disabledCheckBox);
                }
            }
            ITableAnnotationProvider prov = (ITableAnnotationProvider) blp;
            GC gc = event.gc;

            int offset = 0;
            int width = 0;
            TreeColumn column = null;
            for (int idx : getTree().getColumnOrder()) {
                column = getTree().getColumn(idx);
                width = column.getWidth();

                if (idx == event.index) {
                    break;
                }

            }

            String annotation = prov.getAnnotationText(data, event.index);
            if (annotation == null) {
                return;
            }

            String text = item.getText(event.index);
            Point ext2 = gc.textExtent(text);
            int space = gc.getFontMetrics().getAverageCharWidth();

            Font font = prov.getAnnotationFont(data, event.index);
            Color foreground = prov.getAnnotationForeground(data, event.index);
            gc.setFont(font == null ? item.getFont(event.index) : font);
            if ((event.detail & SWT.SELECTED) == 0 && foreground != null) {
                gc.setForeground(foreground);
            } else {
                // gc.setForeground(gc.getDevice().getSystemColor(SWT.
                // COLOR_WHITE));
            }

            // gc.setBackground(tooltipBG);
            Point extent = gc.textExtent(annotation + " ");
            if (ext2.x + space + extent.x > column.getWidth()) {
                gc.drawText(" " + annotation, event.x + ext2.x + space, event.y + (event.height - extent.y) / 2,
                        true);
            } else {
                gc.drawText(" " + annotation, event.x + width - extent.x,
                        event.y + (event.height - extent.y) / 2, true);
            }

            offset += width;

        }
    });
}