protected void addCheckboxes() { for (T item : itemList) { if (isItemVisible(item)) { boolean selected = preSelectedElements.contains(item); if (LOG.isDebugEnabled()) { LOG.debug(item.toString() + " is visible, select state is: " + selected); } Button checkbox = new Button(innerComposite, SWT.CHECK); checkbox.setText(getLabel(item)); checkbox.setData(item); checkbox.addSelectionListener(organizationListener); if (selected) { checkbox.setSelection(true); selectedElement = item; selectedElementSet.add(item); } if (itemList.size() == 1) { checkbox.setSelection(true); selectedElement = item; selectedElementSet.add(item); } checkboxMap.put(item, checkbox); } } scrolledComposite.setVisible(true); Point size = innerComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT); size.y += itemList.size() * 2; innerComposite.setSize(size); group.layout(); }
@Override public void createPartControl(Composite parent) { { GridLayout parentLayout = new GridLayout(); parentLayout.makeColumnsEqualWidth = true; parent.setLayout(parentLayout); parent.setSize(557, 321); { composite1 = new Composite(parent, SWT.NONE); GridLayout composite1Layout = new GridLayout(); composite1Layout.makeColumnsEqualWidth = true; GridData composite1LData = new GridData(); composite1LData.grabExcessHorizontalSpace = true; composite1LData.horizontalAlignment = GridData.FILL; composite1LData.verticalAlignment = GridData.FILL; composite1.setLayoutData(composite1LData); composite1.setLayout(composite1Layout); { statusLbl = new Label(composite1, SWT.NONE); GridData statusLblLData = new GridData(); statusLblLData.grabExcessHorizontalSpace = true; statusLblLData.horizontalAlignment = GridData.FILL; statusLbl.setLayoutData(statusLblLData); statusLbl.setText("sdfsdfsdf"); } } { group1 = new Group(parent, SWT.NONE); GridLayout group1Layout = new GridLayout(); group1Layout.makeColumnsEqualWidth = true; group1.setLayout(group1Layout); GridData group1LData = new GridData(); group1LData.verticalAlignment = GridData.FILL; group1LData.horizontalAlignment = GridData.FILL; group1LData.grabExcessHorizontalSpace = true; group1LData.grabExcessVerticalSpace = true; group1.setLayoutData(group1LData); group1.setText("Notes"); { notesTxt = new Text(group1, SWT.MULTI | SWT.WRAP | SWT.BORDER); GridData text1LData = new GridData(); text1LData.grabExcessHorizontalSpace = true; text1LData.horizontalAlignment = GridData.FILL; text1LData.verticalAlignment = GridData.FILL; text1LData.grabExcessVerticalSpace = true; notesTxt.setLayoutData(text1LData); } } { archiveBtn = new Button(parent, SWT.PUSH | SWT.CENTER); GridData button1LData = new GridData(); button1LData.horizontalAlignment = GridData.FILL; button1LData.grabExcessHorizontalSpace = true; archiveBtn.setLayoutData(button1LData); archiveBtn.setText("Archive"); } } new KController(this); }
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); createFileNameFields(composite); createPropsFields(composite); setData(); composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); return composite; }
protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); panel = new SbbClassesPanel(composite, 0); panel.createSbbLocalObject(createLocalInterface); panel.createActivityContextInterface(createActivityContextInterface); // ammendonca: See http://code.google.com/p/restcomm/issues/detail?id=2548 // panel.disableSbbLocalObject(true); composite.setSize(640, 480); return composite; }
@Override protected Control createContents(Composite parent) { ((Shell) parent).setText(this.getClass().getSimpleName()); parent.setSize(800, 400); parent.setLayout(new GridLayout()); Composite mainPanel = new Composite(parent, SWT.NONE); mainPanel.setLayoutData(new GridData(GridData.FILL_BOTH)); mainPanel.setLayout(new GridLayout()); this.buildTreePanel(mainPanel); this.buildControlPanel(mainPanel); return mainPanel; }
@Override protected Control createDialogArea(Composite parent) { updateTitle(); final Composite composite = (Composite) super.createDialogArea(parent); composite.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WHITE)); final ScrolledComposite scrolledComposite = new ScrolledComposite(composite, SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setBackground(composite.getBackground()); scrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); scrolledComposite.setExpandVertical(true); scrolledComposite.setExpandHorizontal(true); final Composite content = new Composite(scrolledComposite, SWT.NONE); content.setBackground(composite.getBackground()); GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(content); GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(content); try { if (view == null) { ECPSWTViewRenderer.INSTANCE.render(content, selection); } else { ECPSWTViewRenderer.INSTANCE.render(content, selection, view); } } catch (final ECPRendererException ex) { Activator.log(ex); } scrolledComposite.setContent(content); final Point point = content.computeSize(SWT.DEFAULT, SWT.DEFAULT); content.setSize(point); scrolledComposite.setMinSize(point); objectChangeAdapter = new AdapterImpl() { /** * {@inheritDoc} * * @see * org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification) */ @Override public void notifyChanged(Notification msg) { super.notifyChanged(msg); updateTitle(); } }; selection.eAdapters().add(objectChangeAdapter); return composite; }
private void fillBuddies(Composite composite) { List buddies = getBuddies(); showNoBuddiesPanel(buddies.size() == 0); for (Iterator iterator = buddies.iterator(); iterator.hasNext(); ) { VuzeBuddySWT vuzeBuddy = (VuzeBuddySWT) iterator.next(); createBuddyControls(composite, vuzeBuddy); } composite.layout(); Point size = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT, true); composite.setSize(size); }
protected void setSize(Composite composite) { if (composite != null) { // Note: The font is set here in anticipation that the class inheriting // this base class may add widgets to the dialog. setSize // is assumed to be called just before we go live. applyDialogFont(composite); Point minSize = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT); composite.setSize(minSize); // set scrollbar composite's min size so page is expandable but // has scrollbars when needed if (composite.getParent() instanceof ScrolledComposite) { ScrolledComposite sc1 = (ScrolledComposite) composite.getParent(); sc1.setMinSize(minSize); sc1.setExpandHorizontal(true); sc1.setExpandVertical(true); } } }
/** * Resizes the Section's client and updates the Property Viewer's {@link ScrolledComposite} to * account for GridLayouts in the client. */ private void resizePropertyView() { // Disable re-drawing for the ScrolledComposite. scrollComposite.setRedraw(false); int verticalPadding = scrollComposite.getHorizontalBar().getSize().y; int horizontalPadding = scrollComposite.getVerticalBar().getSize().x; Rectangle clientArea = scrollComposite.getClientArea(); Point clientAreaSize = new Point(clientArea.width - horizontalPadding, clientArea.height - verticalPadding); // Recompute the size of the first Composite in the ScrolledComposite // based on the width of the ScrolledComposite's client area. Point size = scrollCompositeClient.computeSize(clientAreaSize.x, clientAreaSize.y); // Update the size of the ScrolledComposite's client. scrollCompositeClient.setSize(size); // Set the minimum size at which the ScrolledComposite will start // drawing scroll bars. This should be the size of its client area minus // the spaces the scroll bars would consume. scrollComposite.setMinSize(clientAreaSize.x + 1, clientAreaSize.y + 1); // We need to call layout() so the ScrolledComposite will update. scrollComposite.layout(); // Set the height hint for the Section's parent Composite. This keeps // the TableViewer from going beyond the bottom edge of the Properties // Viewer. We want to keep the add and delete buttons visible, and the // TableViewer already has its own scroll bars! Composite sectionParent = section.getParent(); GridData gridData = (GridData) sectionParent.getLayoutData(); GridLayout gridLayout = (GridLayout) sectionParent.getParent().getLayout(); gridData.heightHint = sectionParent.getParent().getSize().y - gridLayout.marginTop; // The parent of the Section has a FillLayout. Its parent has a // GridLayout, but sometimes it does not update. Tell it to layout so // the Section's parent will update its size. section.getParent().getParent().layout(); // Enable re-drawing for the ScrolledComposite. scrollComposite.setRedraw(true); return; }
/** Performs layouting. */ private void layout() { // Disable redrawing toolbar.setRedraw(false); // Adjust size of items and composite Rectangle bounds = toolbar.getBounds(); int remaining = toolbar.getBounds().width; for (final ToolItem item : toolitems) { remaining -= item.getBounds().width; } remaining -= OFFSET; infoComposite.setSize(remaining, bounds.height); infoItem.setWidth(remaining); int locationY = (infoComposite.getBounds().height - labelSelected.getBounds().height) / 2; // Layout label int locationX = remaining - labelApplied.getSize().x; labelApplied.setLocation(locationX, locationY); if (locationX < 0) labelApplied.setVisible(false); else labelApplied.setVisible(true); // Layout label locationX -= labelSelected.getSize().x + OFFSET; labelSelected.setLocation(locationX, locationY); if (locationX < 0) labelSelected.setVisible(false); else labelSelected.setVisible(true); // Layout label locationX -= labelTransformations.getSize().x + OFFSET; labelTransformations.setLocation(locationX, locationY); if (locationX < 0) labelTransformations.setVisible(false); else labelTransformations.setVisible(true); // Layout label locationX -= labelAttribute.getSize().x + OFFSET; labelAttribute.setLocation(locationX, locationY); if (locationX < 0) labelAttribute.setVisible(false); else labelAttribute.setVisible(true); // Redraw toolbar.setRedraw(true); }
public void createControl(Composite parent) { LogUtil.logInfo("creating control"); // $NON-NLS-1$ Composite pageComposite = new Composite(parent, SWT.NULL); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; gridLayout.makeColumnsEqualWidth = true; pageComposite.setLayout(gridLayout); GridData gridData = new GridData(); gridData.grabExcessVerticalSpace = true; gridData.grabExcessHorizontalSpace = true; pageComposite.setLayoutData(gridData); createParametersGroup(pageComposite); defaultRadioButton.setSelection(true); registerListeners(); pageComposite.setSize(new Point(300, 200)); pageComposite.setLayout(new GridLayout()); setControl(pageComposite); setPageComplete(false); }
@Override public void createControl(Composite parent) { creatingControl = true; // Create page final Composite mainPanel = new Composite(parent, SWT.NONE); mainPanel.setLayout(new GridLayout(1, false)); mainPanel.setLayoutData( new GridData()); // GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL)); mainPanel.setSize(mainPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT)); setControl(mainPanel); // Create Bottom Composite Composite upperPanel = WidgetFactory.createPanel(mainPanel, SWT.NONE, GridData.FILL_HORIZONTAL, 2, 2); upperPanel.setLayout(new GridLayout(2, false)); setMessage(INITIAL_MESSAGE); Label selectedFileLabel = new Label(upperPanel, SWT.NONE); selectedFileLabel.setText(getString("selectedFile")); // $NON-NLS-1$ selectedFileText = new Text(upperPanel, SWT.BORDER); // , SWT.BORDER | SWT.SINGLE); selectedFileText.setBackground( Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW)); selectedFileText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE)); selectedFileText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); selectedFileText.setEditable(false); createFilePreviewOptionsGroup(mainPanel); createColumnOptionsRadioGroup(mainPanel); createFileContentsGroup(mainPanel); creatingControl = false; setPageComplete(false); }
/** Run the test */ @Override protected void runTest() throws CoreException, WorkbenchException { tagIfNecessary(tagString, Dimension.ELAPSED_PROCESS); widgetFactory.init(); final Composite widget = widgetFactory.getControl(); Rectangle initialBounds = widget.getBounds(); final Point maxSize = widgetFactory.getMaxSize(); waitForBackgroundJobs(); processEvents(); for (int j = 0; j < 50; j++) { startMeasuring(); for (int i = 0; i < 2; i++) { for (int xIteration = 0; xIteration < xIterations; xIteration += 5) { for (int yIteration = 0; yIteration < yIterations; yIteration++) { // Avoid giving the same x value twice in a row in order // to make it hard to cache int xSize = maxSize.x * ((xIteration + yIteration) % xIterations) / xIterations; int ySize = maxSize.y * yIteration / yIterations; widget.setSize(xSize, ySize); processEvents(); } } } stopMeasuring(); } commitMeasurements(); assertPerformance(); widget.setBounds(initialBounds); widgetFactory.done(); }
/** * Restores the layout properties stored in {@link #aboutToBeShown()} and changed in {@link * #resizePropertyView()}. */ @Override public void aboutToBeHidden() { super.aboutToBeHidden(); // If possible, we need to restore the settings clobbered in // resizeProperties(); if (!scrollComposite.isDisposed()) { // Restore the GridData of the Section's parent. GridData gridData = (GridData) section.getParent().getLayoutData(); gridData.heightHint = SWT.DEFAULT; // Restore the default size of the ScrolledComposite's client. Point size = scrollCompositeClient.computeSize(SWT.DEFAULT, SWT.DEFAULT); scrollCompositeClient.setSize(size); // Restore the min size of the ScrolledComposite. scrollComposite.setMinSize(scrollMinWidth, scrollMinHeight); // Re-layout the ScrolledComposite. scrollComposite.layout(); } return; }
private void initGUI() { try { this.setOrientation(SWT.VERTICAL); this.setBackground(MainGui.cHART_DARKER); Color innerBgColor = MainGui.cHART_LIGHT; this.addDisposeListener( new DisposeListener() { public void widgetDisposed(DisposeEvent evt) { rootShellClosed(evt); } }); this.addListener( SWT.Hide, new Listener() { @Override public void handleEvent(Event event) { ChartsComposite.this.shutDownDisplay(); } }); { try { // Set cross-platform Java L&F (also called "Metal") UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); } catch (UnsupportedLookAndFeelException e) { LOGGER.error(e); } catch (ClassNotFoundException e) { LOGGER.error(e); } catch (InstantiationException e) { LOGGER.error(e); } catch (IllegalAccessException e) { LOGGER.error(e); } mainChartComposite = new Composite(this, SWT.EMBEDDED | SWT.NO_BACKGROUND); final Frame chartFrame = SWT_AWT.new_Frame(mainChartComposite); final Panel rootHeavyPanel = new Panel(); rootHeavyPanel.setLayout(new BorderLayout()); chartFrame.add(rootHeavyPanel); mainChartWraper = new ChartMain(ChartsComposite.DEFAULT_START_DATE, JFreeChartTimePeriod.DAY); mainChartPanel = new ChartPanel( mainChartWraper.initChart(stripedCloseFunction), true, true, true, false, true) { private static final long serialVersionUID = 1L; @Override public void restoreAutoBounds() { // Do nothing (disable mouse left drag zoom) } }; mainChartPanel.setMouseZoomable(false, false); mainChartPanel.setMinimumDrawWidth(0); mainChartPanel.setMinimumDrawHeight(0); mainChartPanel.setMaximumDrawWidth(Display.getCurrent().getClientArea().width); mainChartPanel.setMaximumDrawHeight(Display.getCurrent().getClientArea().height); mainChartPanel.getPopupMenu().addSeparator(); JMenuItem deleteVLines = new JMenuItem("Remove vertical lines"); deleteVLines.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { chartDisplayStrategy.removeVLines(); } }); mainChartPanel.getPopupMenu().add(deleteVLines); JMenuItem deleteHLines = new JMenuItem("Remove horizontal lines"); deleteHLines.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { chartDisplayStrategy.removeHLines(); } }); mainChartPanel.getPopupMenu().add(deleteHLines); mainChartPanel.getPopupMenu().addSeparator(); JMenuItem lookAndFeelInfoItem = new JMenuItem("Look and feel Info"); lookAndFeelInfoItem.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { LOGGER.info(UIManager.getLookAndFeel()); } }); mainChartPanel.getPopupMenu().add(lookAndFeelInfoItem); mainChartPanel.addMouseListener( new ClickListener() { @Override public void singleClick(final MouseEvent event) { Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { Boolean isSlidingArea = getMainChartWraper() .isSlidingArea( mainChartComposite.getSize().y, event.getPoint().y); if (isSlidingArea) return; int button = event.getButton(); if (button == MouseEvent.BUTTON1) { Point2D clickPoint = mainChartPanel.translateScreenToJava2D(event.getPoint()); Rectangle2D plotArea = mainChartPanel.getScreenDataArea(); if (plotArea.getMaxY() > clickPoint.getY() && clickPoint.getY() > plotArea.getY() && plotArea.getMaxX() > clickPoint.getX() && clickPoint.getX() > plotArea.getX()) { chartDisplayStrategy.addVLineAt(clickPoint, plotArea); } } } }); } @Override public void doubleClick(final MouseEvent event) { Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { Boolean isSlidingArea = getMainChartWraper() .isSlidingArea( mainChartComposite.getSize().y, event.getPoint().y); if (isSlidingArea) return; int button = event.getButton(); if (button == MouseEvent.BUTTON1) { Point2D clickPoint = getPointCoordinates(event.getPoint()); Rectangle2D plotArea = mainChartPanel.getScreenDataArea(); if (plotArea.getMaxY() > clickPoint.getY() && clickPoint.getY() > plotArea.getY() && plotArea.getMaxX() > clickPoint.getX() && clickPoint.getX() > plotArea.getX()) { chartDisplayStrategy.removeVLineAt(clickPoint, plotArea); chartDisplayStrategy.removeHLineAt(clickPoint, plotArea); } } } }); } }); // Slider chartPanelFocusGain = false; mainChartPanel.addMouseListener( new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { chartPanelFocusGain = true; } @Override public void mouseExited(MouseEvent e) { chartPanelFocusGain = false; } @Override public void mousePressed(final MouseEvent e) { panelClickPosition = e.getPoint(); Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { Boolean isSlidingArea = getMainChartWraper() .isSlidingArea(mainChartComposite.getSize().y, e.getPoint().y); if (isSlidingArea) { isInPanelChartSlider = true; } else { isInPanelChartSlider = false; } } }); } @Override public void mouseReleased(final MouseEvent e) { Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { if (isInPanelChartSlider != null && isInPanelChartSlider && panelClickPosition != null) { int indicChartSlideIncrement = (int) ((((double) panelClickPosition.y - e.getPoint().y) / (double) mainChartComposite.getSize().y) * 100); chartDisplayStrategy.slideChart(indicChartSlideIncrement); } isInPanelChartSlider = false; } }); } }); // focus bizz (useful?) mainChartPanel.addMouseMotionListener( new MouseMotionListener() { @Override public void mouseMoved(final MouseEvent e) { // Sliding if (!closeRequested) { Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { if (!closeRequested) { try { Cursor cursor = ChartsComposite.this.getCursor(); if (cursor == null || (!cursor.equals(CursorFactory.getCursor(SWT.CURSOR_WAIT)) && !cursor.equals( CursorFactory.getCursor(SWT.CURSOR_APPSTARTING)))) { Boolean isSlidingArea = getMainChartWraper() .isSlidingArea( mainChartComposite.getSize().y, e.getPoint().y); if (isSlidingArea) { ChartsComposite.this.setCursor( CursorFactory.getCursor(SWT.CURSOR_SIZENS)); } else { ChartsComposite.this.setCursor( CursorFactory.getCursor(SWT.CURSOR_ARROW)); } } } catch (Throwable e) { try { ChartsComposite.this.setCursor( CursorFactory.getCursor(SWT.CURSOR_ARROW)); } catch (Throwable e1) { LOGGER.warn(e1, e1); } LOGGER.warn(e, e); } } } }); } // Gain focus mgt if (!closeRequested) { Display.getDefault() .asyncExec( new Runnable() { public void run() { try { if (!closeRequested) { if (!mainChartComposite.isDisposed() && !mainChartComposite.isFocusControl()) { int cpt = 0; while (chartPanelFocusGain && cpt < 200) { Thread.sleep(10); cpt++; } if (chartPanelFocusGain && !mainChartComposite.isDisposed()) { mainChartComposite.forceFocus(); } } } } catch (Throwable e) { LOGGER.warn(e, e); } } }); } } @Override public void mouseDragged(MouseEvent e) { // Nothing } }); mainChartComposite.addKeyListener( new org.eclipse.swt.events.KeyListener() { @Override public void keyReleased(org.eclipse.swt.events.KeyEvent e) { if (((e.stateMask & SWT.CTRL) == SWT.CTRL) && ((e.stateMask & SWT.ALT) == SWT.ALT) && (e.keyCode == 'p')) { try { chartDisplayStrategy.exportBarChartPng(); } catch (InvalidParameterException exception) { chartDisplayStrategy.showPopupDialog(exception.getMessage(), "Ok", null, null); } } if (e.keyCode == SWT.ARROW_UP) { chartDisplayStrategy.slideChart(+1); } if (e.keyCode == SWT.ARROW_DOWN) { chartDisplayStrategy.slideChart(-1); } } @Override public void keyPressed(org.eclipse.swt.events.KeyEvent e) { // } }); mainChartComposite.addMouseTrackListener( new MouseTrackListener() { @Override public void mouseHover(org.eclipse.swt.events.MouseEvent e) {} @Override public void mouseExit(org.eclipse.swt.events.MouseEvent e) {} @Override public void mouseEnter(org.eclipse.swt.events.MouseEvent e) { mainChartPanel.requestFocusInWindow(); } }); rootHeavyPanel.add(mainChartPanel); chartFrame.pack(); chartFrame.setVisible(true); } { chartBoutonsGroup = new Group(this, SWT.NONE); chartBoutonsGroup.setBackground(innerBgColor); GridLayout portfolioBoutonsGroupLayout = new GridLayout(); portfolioBoutonsGroupLayout.numColumns = 1; portfolioBoutonsGroupLayout.verticalSpacing = 0; portfolioBoutonsGroupLayout.marginHeight = 0; chartBoutonsGroup.setLayout(portfolioBoutonsGroupLayout); GridData portfolioInfosGroupData = new GridData(GridData.FILL_HORIZONTAL); chartBoutonsGroup.setLayoutData(portfolioInfosGroupData); chartBoutonsGroup.setText("Portfolios charting : "); chartBoutonsGroup.setFont(MainGui.DEFAULTFONT); chartBoutonsGroup.setBackground(innerBgColor); { popusGroup = new Group(chartBoutonsGroup, SWT.NONE); GridData popusGroupData = new GridData(SWT.FILL, SWT.FILL, true, false); popusGroup.setLayoutData(popusGroupData); popusGroup.setBackground(innerBgColor); RowLayout popusGroupL = new RowLayout(SWT.HORIZONTAL); popusGroupL.justify = true; popusGroupL.fill = true; popusGroupL.wrap = false; popusGroupL.marginHeight = 0; popusGroup.setLayout(popusGroupL); } // Sliding { slidingGroup = new Group(chartBoutonsGroup, SWT.NONE); GridData slidingGroupData = new GridData(SWT.FILL, SWT.FILL, true, false); slidingGroup.setLayoutData(slidingGroupData); slidingGroup.setBackground(innerBgColor); GridLayout slidingGroupL = new GridLayout(); slidingGroupL.numColumns = 5; slidingGroupL.marginHeight = 0; slidingGroupL.verticalSpacing = 0; slidingGroup.setLayout(slidingGroupL); /// start { startDateLabel = new Label(slidingGroup, SWT.NONE); GridData startOneYearBackData = new GridData(SWT.BEGINNING, SWT.FILL, false, false); startOneYearBackData.horizontalSpan = 2; startDateLabel.setLayoutData(startOneYearBackData); startDateLabel.setText( DateFormat.getDateInstance(DateFormat.MEDIUM).format(slidingStartDate) + ""); startDateLabel.setBackground(innerBgColor); startDateLabel.setFont(MainGui.DEFAULTFONT); } /// sliding sliders Composite slidingSliderGroup = new Composite(slidingGroup, SWT.NONE); slidingSliderGroup.setSize(1000, SWT.DEFAULT); GridData slidersGridData = new GridData(SWT.FILL, SWT.FILL, true, true); slidersGridData.verticalSpan = 2; slidingSliderGroup.setLayoutData(slidersGridData); slidingSliderGroup.setBackground(innerBgColor); slidingSliderGroup.setForeground(innerBgColor); FillLayout slidingSliderGroupL = new FillLayout(SWT.VERTICAL); slidingSliderGroup.setLayout(slidingSliderGroupL); { sliderStartDate = new Slider(slidingSliderGroup, SWT.HORIZONTAL); sliderStartDate.setThumb(1); sliderStartDate.setMaximum(100); sliderStartDate.addListener( SWT.MouseExit, new Listener() { public void handleEvent(Event arg0) { sliderChangesApply(); } }); } { sliderEndDate = new Slider(slidingSliderGroup, SWT.HORIZONTAL); sliderEndDate.setThumb(1); sliderEndDate.setMinimum(0); sliderEndDate.setSelection(100); sliderEndDate.addListener( SWT.MouseExit, new Listener() { public void handleEvent(Event arg0) { sliderChangesApply(); } }); } // end { endDateLabel = new Label(slidingGroup, SWT.NONE); GridData endOneYearBackData = new GridData(SWT.END, SWT.FILL, false, false); endOneYearBackData.horizontalSpan = 2; endDateLabel.setLayoutData(endOneYearBackData); endDateLabel.setText( DateFormat.getDateInstance(DateFormat.MEDIUM).format(slidingEndDate)); endDateLabel.setBackground(innerBgColor); endDateLabel.setFont(MainGui.DEFAULTFONT); } // but start { Button startOneYearBack = new Button(slidingGroup, SWT.ARROW | SWT.LEFT); GridData startOneYearBackData = new GridData(SWT.END, SWT.FILL, false, true); startOneYearBack.setLayoutData(startOneYearBackData); startOneYearBack.setToolTipText("Move start date one year backward."); startOneYearBack.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { handle(); } private void handle() { Calendar calendar = Calendar.getInstance(); calendar.setTime(slidingStartDate); calendar.add(Calendar.YEAR, -1); firstStartDate = calendar.getTime(); sliderStartDate.setSelection(0); startSliderUpdateConditional( sliderStartDate, startDateLabel, sliderEndDate, endDateLabel); } @Override public void widgetDefaultSelected(SelectionEvent e) { handle(); } }); startOneYearBack.addListener( SWT.MouseExit, new Listener() { @Override public void handleEvent(Event event) { sliderChangesApply(); } }); } { Button startOneYearForward = new Button(slidingGroup, SWT.ARROW | SWT.RIGHT); GridData startOneYearBackData = new GridData(SWT.BEGINNING, SWT.FILL, false, true); startOneYearForward.setLayoutData(startOneYearBackData); startOneYearForward.setToolTipText("Move start date one year forward."); startOneYearForward.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { handle(); } private void handle() { Calendar calendar = Calendar.getInstance(); calendar.setTime(slidingStartDate); calendar.add(Calendar.YEAR, +1); if (calendar.getTime().before(slidingEndDate)) { firstStartDate = calendar.getTime(); sliderStartDate.setSelection(0); startSliderUpdateConditional( sliderStartDate, startDateLabel, sliderEndDate, endDateLabel); } else { chartDisplayStrategy.showPopupDialog( "To move the start date further forward, you will need to move the end date first.", "Ok", null, null); } } @Override public void widgetDefaultSelected(SelectionEvent e) { handle(); } }); startOneYearForward.addListener( SWT.MouseExit, new Listener() { @Override public void handleEvent(Event event) { sliderChangesApply(); } }); } /// but end { Button endOneYearBack = new Button(slidingGroup, SWT.ARROW | SWT.LEFT); GridData endOneYearBackData = new GridData(SWT.END, SWT.FILL, false, true); endOneYearBack.setLayoutData(endOneYearBackData); endOneYearBack.setToolTipText("Move end date one year backward."); endOneYearBack.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { handle(); } private void handle() { Calendar calendar = Calendar.getInstance(); calendar.setTime(slidingEndDate); calendar.add(Calendar.YEAR, -1); if (calendar.getTime().after(slidingStartDate)) { lastEndDate = calendar.getTime(); sliderEndDate.setSelection(100); endSliderUpdateConditional( sliderEndDate, endDateLabel, sliderStartDate, startDateLabel); } else { chartDisplayStrategy.showPopupDialog( "To move the end date further backward, you will need to move the start date first.", "Ok", null, null); } } @Override public void widgetDefaultSelected(SelectionEvent e) { handle(); } }); endOneYearBack.addListener( SWT.MouseExit, new Listener() { @Override public void handleEvent(Event event) { sliderChangesApply(); } }); } { Button endOneYearForward = new Button(slidingGroup, SWT.ARROW | SWT.RIGHT); GridData endOneYearBackData = new GridData(SWT.BEGINNING, SWT.FILL, false, true); endOneYearForward.setLayoutData(endOneYearBackData); endOneYearForward.setToolTipText("Move end date one year forward."); endOneYearForward.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { handle(); } private void handle() { Calendar calendar = Calendar.getInstance(); calendar.setTime(slidingEndDate); calendar.add(Calendar.YEAR, +1); Date newDate = EventSignalConfig.getNewDate(); if (calendar.getTime().after(newDate)) { calendar.setTime(newDate); } lastEndDate = calendar.getTime(); sliderEndDate.setSelection(100); endSliderUpdateConditional( sliderEndDate, endDateLabel, sliderStartDate, startDateLabel); } @Override public void widgetDefaultSelected(SelectionEvent e) { handle(); } }); endOneYearForward.addListener( SWT.MouseExit, new Listener() { @Override public void handleEvent(Event event) { sliderChangesApply(); } }); } sliderStartDate.addListener( SWT.Selection, new Listener() { public void handleEvent(Event event) { startSliderUpdateConditional( sliderStartDate, startDateLabel, sliderEndDate, endDateLabel); } }); sliderEndDate.addListener( SWT.Selection, new Listener() { public void handleEvent(Event event) { endSliderUpdateConditional( sliderEndDate, endDateLabel, sliderStartDate, startDateLabel); } }); slidingGroup.layout(); } } this.layout(); this.pack(); } catch (Exception e) { LOGGER.error("", e); } }
/** * 建立Page外觀View * * @param composite */ private void buildPage(Composite composite) { selectComposite = new Composite(composite, SWT.NONE); // addLibBtn = new Button(composite, SWT.PUSH); // addLibBtn.setText("Add Tag Library"); // addLibBtn.setLocation(getBoundsPoint(detAllBtn).x + 20, 10); // addLibBtn.pack(); // addLibBtn.addSelectionListener(new SelectionAdapter() { // @Override // public void widgetSelected(SelectionEvent e) { // ISelectionService selectionService = // Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService(); // ISelection selection = selectionService.getSelection(); // IProject project = null; // if(selection instanceof IStructuredSelection) { // Object element = ((IStructuredSelection)selection).getFirstElement(); // if (element instanceof IResource) { // project= ((IResource)element).getProject(); // } else if (element instanceof PackageFragmentRootContainer) { // IJavaProject jProject = ((PackageFragmentRootContainer)element).getJavaProject(); // project = jProject.getProject(); // } else if (element instanceof IJavaElement) { // IJavaProject jProject= ((IJavaElement)element).getJavaProject(); // project = jProject.getProject(); // } // } else if (selection instanceof ITextSelection) { // System.out.println("Fail"); // return; // } // File lib = new File(project.getLocation().toFile().getPath() + "/lib"); // if(!lib.exists()) // lib.mkdir(); // File jar = new File(project.getLocation().toFile().getPath() + "/lib/Tag.jar"); // JarFileMaker jarFileMaker = new JarFileMaker(); // File test = new File("bin"); // jarFileMaker.createJarFile(jar, test, "ntut.csie.robusta.agile.exception"); // } // }); // 上半部,選擇要偵測的Smell群組 smellTypeGroup = new Group(selectComposite, SWT.NONE); smellTypeGroup.setText(resource.getString("settingPage.smell.type")); smellTypeGroup.setLocation(10, 5); // 是否要選擇性偵測的Button checkbox_DetectAllSmells = new Button(smellTypeGroup, SWT.CHECK); checkbox_DetectAllSmells.setText(resource.getString("check.all.smell")); checkbox_DetectAllSmells.setLocation(10, 20); checkbox_DetectAllSmells.pack(); checkbox_DetectAllSmells.setSelection(isDetectingAllSmells); checkbox_DetectAllSmells.addSelectionListener( new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { isDetectingAllSmells = !isDetectingAllSmells; setUserSetting(); } }); // 選擇EH Smell List smellList = new Table( smellTypeGroup, SWT.CHECK | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.HIDE_SELECTION); smellList.setLocation( checkbox_DetectAllSmells.getBounds().x, checkbox_DetectAllSmells.getBounds().y + checkbox_DetectAllSmells.getBounds().height); smellList.setFont(new Font(composite.getDisplay(), "Arial", 11, SWT.NONE)); smellList.setLinesVisible(true); smellList.setHeaderVisible(true); smellList.setItemCount(7); final TableColumn smellColumn = new TableColumn(smellList, SWT.NONE); String smellColumnDisplayText = resource.getString("settingPage.smell.type"); smellColumn.setText(smellColumnDisplayText); smellColumn.setWidth(smellColumnDisplayText.length() * 9); // 自動調整bad smell Type Column的大小 smellColumn.pack(); final TableColumn descColumn = new TableColumn(smellList, SWT.NONE); descColumn.setText(resource.getString("settingPage.smell.description")); for (int i = 0; i < RLMarkerAttribute.CS_TOTAL_TYPE.length; i++) { TableItem item = smellList.getItem(i); item.setText(0, RLMarkerAttribute.CS_TOTAL_TYPE[i].replace('_', ' ')); item.setFont(0, new Font(composite.getDisplay(), "Arial", 11, SWT.BOLD)); item.setText(1, descText[i]); } // 自動調整bad smell Description Column的大小 descColumn.pack(); // 自動調整設定主頁面上半部視窗的大小 smellList.pack(); smellTypeGroup.pack(); // Template Group templateCodeGroup = new Group(selectComposite, SWT.NONE); templateCodeGroup.setText(resource.getString("settingPage.codeExample")); templateCodeGroup.setLocation(10, getLowerRightCoordinate(smellTypeGroup).y + 5); // 是否要醒目標記程式碼 checkbox_HighlightSmellCode = new Button(templateCodeGroup, SWT.CHECK); checkbox_HighlightSmellCode.setText(resource.getString("settingPage.codeExample.highlight")); checkbox_HighlightSmellCode.setLocation(10, 20); checkbox_HighlightSmellCode.pack(); checkbox_HighlightSmellCode.addSelectionListener( new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { isShowWarning = checkbox_HighlightSmellCode.getSelection(); int index = smellList.getSelectionIndex(); if (index != -1) { changeTemplateText(index); } } }); // Template Text templateCode = new StyledText(templateCodeGroup, SWT.BORDER | SWT.V_SCROLL); templateCode.setBounds( 10, this.getLowerRightCoordinate(checkbox_HighlightSmellCode).y, 500, 170); templateCode.setText(""); Font font = new Font(composite.getDisplay(), "Courier New", 14, SWT.NORMAL); templateCode.setFont(font); templateCodeGroup.pack(); // 自動調整設定主頁面Container的大小 selectComposite.pack(); selectComposite.setSize( getLowerRightCoordinate(smellTypeGroup).x + 15, selectComposite.getBounds().height); }
public void createControl(Composite parent) { fViewerContainer = new Composite(parent, SWT.NULL); fViewerContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); fViewerContainer.setSize(100, 100); fViewerContainer.setLayout(new FillLayout()); fTreeViewer = new TreeViewer(fViewerContainer, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); fTreeViewer.setContentProvider( new ITreeContentProvider() { public void dispose() {} public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { viewer.refresh(); } public Object[] getChildren(Object parentElement) { return new Object[0]; } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return false; } public Object[] getElements(Object inputElement) { if (fQuery == null) return new Object[0]; else { return ((MemorySearchResult) fQuery.getSearchResult()).getMatches(); } } }); fTreeViewer.setInput(new Object()); fTreeViewer.addSelectionChangedListener( new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { if (event.getSelection() instanceof StructuredSelection) { IMemoryRenderingContainer containers[] = ((IMemorySearchQuery) fQuery).getMemoryView().getMemoryRenderingContainers(); MemoryMatch match = (MemoryMatch) ((StructuredSelection) event.getSelection()).getFirstElement(); if (match != null) { for (int i = 0; i < containers.length; i++) { IMemoryRendering rendering = containers[i].getActiveRendering(); if (rendering instanceof IRepositionableMemoryRendering) { try { ((IRepositionableMemoryRendering) rendering) .goToAddress(match.getStartAddress()); } catch (DebugException e) { MemorySearchPlugin.logError( Messages.getString( "MemorySearchResultsPage.RepositioningMemoryViewFailed"), e); //$NON-NLS-1$ } } if (rendering != null) { // Temporary, until platform accepts/adds new interface for setting the // selection try { Method m = rendering .getClass() .getMethod( "setSelection", new Class[] {BigInteger.class, BigInteger.class}); // $NON-NLS-1$ if (m != null) m.invoke(rendering, match.getStartAddress(), match.getEndAddress()); } catch (Exception e) { // do nothing } } } } } } }); fTreeViewer.setLabelProvider( new ILabelProvider() { public String getText(Object element) { if (element instanceof MemoryMatch) return "0x" + ((MemoryMatch) element).getStartAddress().toString(16); // $NON-NLS-1$ return element.toString(); } public Image getImage(Object element) { return null; } public void addListener(ILabelProviderListener listener) {} public void dispose() {} public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) {} }); fQueryListener = createQueryListener(); NewSearchUI.addQueryListener(fQueryListener); }
/** Creates the display area for this form */ private void createDisplayArea() { // create the top level layout for the form GridLayout layout = new GridLayout(); layout.marginHeight = MARGIN_HEIGHT; layout.marginWidth = MARGIN_WIDTH; layout.verticalSpacing = VERTICAL_SPACING; layout.horizontalSpacing = HORIZONTAL_SPACING; GridData data = new GridData(GridData.FILL_BOTH); setLayout(layout); setLayoutData(data); // set the background color to white Color white = getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND); setBackground(white); // add an alerts and actions section AlertsActionsSection alerts = new AlertsActionsSection(this, SWT.NONE, context); alerts.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // add a two column contianer for the form sections. The first // column will display the DeviceHierarchy section and the second // column will display the primary and secondary pattern sections. Composite formContainer = new Composite(this, SWT.NONE); GridLayout formLayout = new GridLayout(2, false); formLayout.marginWidth = 0; formLayout.marginHeight = 0; formLayout.horizontalSpacing = HORIZONTAL_SPACING; GridData formData = new GridData(GridData.FILL_BOTH); formContainer.setLayout(formLayout); formContainer.setLayoutData(formData); formContainer.setBackground(white); // add the hierarchy section to the formContainer deviceHierarchySection = new DeviceHierarchySection(formContainer, SWT.NONE, context); GridData hierarchyData = new GridData(GridData.FILL_VERTICAL); deviceHierarchySection.setLayoutData(hierarchyData); // add a scroll area for the patterns sections ScrolledComposite controlsScroller = new ScrolledComposite(formContainer, SWT.H_SCROLL | SWT.V_SCROLL); controlsScroller.setLayout(new FillLayout()); controlsScroller.setLayoutData(new GridData(GridData.FILL_BOTH)); controlsScroller.setExpandHorizontal(true); controlsScroller.setExpandVertical(true); controlsScroller.setAlwaysShowScrollBars(false); controlsScroller.setBackground(white); // add the container for the patterns sections Composite patternContainer = new Composite(controlsScroller, SWT.NONE); GridLayout patternLayout = new GridLayout(); patternLayout.marginHeight = 0; patternLayout.marginWidth = 0; patternLayout.verticalSpacing = VERTICAL_SPACING; GridData patternData = new GridData(GridData.FILL_BOTH); patternContainer.setLayout(patternLayout); patternContainer.setLayoutData(patternData); patternContainer.setBackground(white); // Add the primary patterns section PrimaryPatternsSection primaryPatterns = new PrimaryPatternsSection(patternContainer, SWT.NONE, context); primaryPatterns.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // Add the secondary patterns section SecondaryPatternsSection secondaryPatterns = new SecondaryPatternsSection(patternContainer, SWT.NONE, context); secondaryPatterns.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); createRestoreMechanism(patternContainer); TACPatternsSection TACPatterns = new TACPatternsSection(patternContainer, SWT.NONE, context); TACPatterns.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); patternContainer.setSize(patternContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT)); patternContainer.layout(); controlsScroller.setMinSize(patternContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT)); controlsScroller.setContent(patternContainer); layout(); }
protected Control createContents(Composite parent) { getShell().setText("Action/Contribution Example"); parent.setSize(290, 150); aci.fill(parent); return parent; }
public void createControl(Composite parent) { IBlackboard blackboard = getStyleBlackboard(); LegendStyle style = null; if (blackboard != null) { style = (LegendStyle) blackboard.get(LegendStyleContent.ID); } if (style == null) { style = LegendStyleContent.createDefault(); if (blackboard != null) { blackboard.put(LegendStyleContent.ID, style); ((StyleBlackboard) blackboard).setSelected(new String[] {LegendStyleContent.ID}); } } ScrolledComposite scrollComposite = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL); Composite composite = new Composite(scrollComposite, SWT.BORDER); GridLayout layout = new GridLayout(2, true); composite.setLayout(layout); GridData layoutData = null; Label verticalMarginLabel = new Label(composite, SWT.NONE); verticalMarginLabel.setText(Messages.LegendGraphicStyleConfigurator_vertical_margin); verticalMarginLabel.setLayoutData(layoutData); verticalMargin = new Text(composite, SWT.BORDER); verticalMargin.setLayoutData(layoutData); Label horizontalMarginLabel = new Label(composite, SWT.NONE); horizontalMarginLabel.setLayoutData(layoutData); horizontalMarginLabel.setText(Messages.LegendGraphicStyleConfigurator_horizontal_margin); horizontalMargin = new Text(composite, SWT.BORDER); horizontalMargin.setLayoutData(layoutData); Label verticalSpacingLabel = new Label(composite, SWT.NONE); verticalSpacingLabel.setLayoutData(layoutData); verticalSpacingLabel.setText(Messages.LegendGraphicStyleConfigurator_vertical_spacing); verticalSpacing = new Text(composite, SWT.BORDER); verticalSpacing.setLayoutData(layoutData); Label horizontalSpacingLabel = new Label(composite, SWT.NONE); horizontalSpacingLabel.setLayoutData(layoutData); horizontalSpacingLabel.setText(Messages.LegendGraphicStyleConfigurator_horizontal_spacing); horizontalSpacing = new Text(composite, SWT.BORDER); horizontalSpacing.setLayoutData(layoutData); Label indentSizeLabel = new Label(composite, SWT.NONE); indentSizeLabel.setLayoutData(layoutData); indentSizeLabel.setText(Messages.LegendGraphicStyleConfigurator_indent_size); indentSize = new Text(composite, SWT.BORDER); indentSize.setLayoutData(layoutData); Label fontColourLabel = new Label(composite, SWT.NONE); fontColourLabel.setLayoutData(layoutData); fontColourLabel.setText(Messages.LegendGraphicStyleConfigurator_font_colour); fontColour = new ColorEditor(composite); Label backgroundColourLabel = new Label(composite, SWT.NONE); backgroundColourLabel.setLayoutData(layoutData); backgroundColourLabel.setText(Messages.LegendGraphicStyleConfigurator_background_colour); backgroundColour = new ColorEditor(composite); composite.layout(); Point size = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT); composite.setSize(size); scrollComposite.setContent(composite); verticalMargin.setText(Integer.toString(style.verticalMargin)); horizontalMargin.setText(Integer.toString(style.horizontalMargin)); verticalSpacing.setText(Integer.toString(style.verticalSpacing)); horizontalSpacing.setText(Integer.toString(style.horizontalSpacing)); indentSize.setText(Integer.toString(style.indentSize)); fontColour.setColorValue( new RGB( style.foregroundColour.getRed(), style.foregroundColour.getGreen(), style.foregroundColour.getBlue())); backgroundColour.setColorValue( new RGB( style.backgroundColour.getRed(), style.backgroundColour.getGreen(), style.backgroundColour.getBlue())); verticalMargin.addModifyListener(this); horizontalMargin.addModifyListener(this); verticalSpacing.addModifyListener(this); horizontalSpacing.addModifyListener(this); indentSize.addModifyListener(this); backgroundColour.addSelectionListener(this); fontColour.addSelectionListener(this); }
/** Opens the Dialog Shell. Auto-generated code - any changes you make will disappear. */ public void open() { try { preInitGUI(); Shell parent = getParent(); dialogShell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); dialogShell.setText(getText()); composite2 = new Composite(dialogShell, SWT.NULL); isLocalBtn = new Button(composite2, SWT.CHECK | SWT.LEFT); isAbstractBtn = new Button(composite2, SWT.CHECK | SWT.LEFT); repositoryIdTxt = new Text(composite2, SWT.BORDER); versionTxt = new Text(composite2, SWT.BORDER); identifierTxt = new Text(composite2, SWT.BORDER); versionLb = new Label(composite2, SWT.NULL); repositoryIdLb = new Label(composite2, SWT.NULL); idLb = new Label(composite2, SWT.NULL); composite3 = new Composite(dialogShell, SWT.NULL); cancel = new Button(composite3, SWT.PUSH | SWT.CENTER); enter = new Button(composite3, SWT.PUSH | SWT.CENTER); dialogShell.setText("Add Module"); dialogShell.setSize(new org.eclipse.swt.graphics.Point(476, 145)); GridData composite2LData = new GridData(); composite2LData.verticalAlignment = GridData.CENTER; composite2LData.horizontalAlignment = GridData.BEGINNING; composite2LData.widthHint = 464; composite2LData.heightHint = 102; composite2LData.horizontalIndent = 0; composite2LData.horizontalSpan = 1; composite2LData.verticalSpan = 1; composite2LData.grabExcessHorizontalSpace = false; composite2LData.grabExcessVerticalSpace = false; composite2.setLayoutData(composite2LData); composite2.setSize(new org.eclipse.swt.graphics.Point(464, 102)); FormData isLocalBtnLData = new FormData(); isLocalBtnLData.height = 20; isLocalBtnLData.width = 70; isLocalBtnLData.left = new FormAttachment(519, 1000, 0); isLocalBtnLData.right = new FormAttachment(750, 1000, 0); isLocalBtnLData.top = new FormAttachment(700, 1000, 0); isLocalBtnLData.bottom = new FormAttachment(897, 1000, 0); isLocalBtn.setLayoutData(isLocalBtnLData); isLocalBtn.setText("is local"); isLocalBtn.setSize(new org.eclipse.swt.graphics.Point(70, 20)); final Font isLocalBtnfont = new Font(Display.getDefault(), "Tahoma", 8, 1); isLocalBtn.setFont(isLocalBtnfont); FormData isAbstractBtnLData = new FormData(); isAbstractBtnLData.height = 20; isAbstractBtnLData.width = 100; isAbstractBtnLData.left = new FormAttachment(239, 1000, 0); isAbstractBtnLData.right = new FormAttachment(475, 1000, 0); isAbstractBtnLData.top = new FormAttachment(700, 1000, 0); isAbstractBtnLData.bottom = new FormAttachment(897, 1000, 0); isAbstractBtn.setLayoutData(isAbstractBtnLData); isAbstractBtn.setText("is abstract"); isAbstractBtn.setSize(new org.eclipse.swt.graphics.Point(100, 20)); isAbstractBtn.setFont(isLocalBtnfont); FormData repositoryIdTxtLData = new FormData(); repositoryIdTxtLData.height = 13; repositoryIdTxtLData.width = 352; repositoryIdTxtLData.left = new FormAttachment(239, 1000, 0); repositoryIdTxtLData.right = new FormAttachment(996, 1000, 0); repositoryIdTxtLData.top = new FormAttachment(269, 1000, 0); repositoryIdTxtLData.bottom = new FormAttachment(465, 1000, 0); repositoryIdTxt.setLayoutData(repositoryIdTxtLData); repositoryIdTxt.setDoubleClickEnabled(false); final Font repositoryIdTxtfont = new Font(Display.getDefault(), "Tahoma", 7, 0); repositoryIdTxt.setFont(repositoryIdTxtfont); repositoryIdTxt.setEditable(false); repositoryIdTxt.setSize(new org.eclipse.swt.graphics.Point(352, 13)); repositoryIdTxt.setEnabled(false); FormData versionTxtLData = new FormData(); versionTxtLData.height = 13; versionTxtLData.width = 352; versionTxtLData.left = new FormAttachment(239, 1000, 0); versionTxtLData.right = new FormAttachment(996, 1000, 0); versionTxtLData.top = new FormAttachment(485, 1000, 0); versionTxtLData.bottom = new FormAttachment(691, 1000, 0); versionTxt.setLayoutData(versionTxtLData); versionTxt.setFont(repositoryIdTxtfont); versionTxt.setSize(new org.eclipse.swt.graphics.Point(352, 13)); versionTxt.addKeyListener( new KeyAdapter() { public void keyReleased(KeyEvent evt) { versionTxtKeyReleased(evt); } }); FormData identifierTxtLData = new FormData(); identifierTxtLData.height = 13; identifierTxtLData.width = 352; identifierTxtLData.left = new FormAttachment(239, 1000, 0); identifierTxtLData.right = new FormAttachment(996, 1000, 0); identifierTxtLData.top = new FormAttachment(48, 1000, 0); identifierTxtLData.bottom = new FormAttachment(250, 1000, 0); identifierTxt.setLayoutData(identifierTxtLData); identifierTxt.setFont(repositoryIdTxtfont); identifierTxt.setSize(new org.eclipse.swt.graphics.Point(352, 13)); identifierTxt.setFocus(); identifierTxt.addKeyListener( new KeyAdapter() { public void keyReleased(KeyEvent evt) { identifierTxtKeyReleased(evt); } }); FormData versionLbLData = new FormData(); versionLbLData.height = 20; versionLbLData.width = 90; versionLbLData.left = new FormAttachment(11, 1000, 0); versionLbLData.right = new FormAttachment(245, 1000, 0); versionLbLData.top = new FormAttachment(485, 1000, 0); versionLbLData.bottom = new FormAttachment(681, 1000, 0); versionLb.setLayoutData(versionLbLData); versionLb.setText("Version:"); versionLb.setSize(new org.eclipse.swt.graphics.Point(90, 20)); versionLb.setFont(isLocalBtnfont); FormData repositoryIdLbLData = new FormData(); repositoryIdLbLData.height = 20; repositoryIdLbLData.width = 90; repositoryIdLbLData.left = new FormAttachment(11, 1000, 0); repositoryIdLbLData.right = new FormAttachment(245, 1000, 0); repositoryIdLbLData.top = new FormAttachment(269, 1000, 0); repositoryIdLbLData.bottom = new FormAttachment(465, 1000, 0); repositoryIdLb.setLayoutData(repositoryIdLbLData); repositoryIdLb.setText("Repository ID:"); repositoryIdLb.setSize(new org.eclipse.swt.graphics.Point(90, 20)); repositoryIdLb.setFont(isLocalBtnfont); FormData idLbLData = new FormData(); idLbLData.height = 20; idLbLData.width = 90; idLbLData.left = new FormAttachment(11, 1000, 0); idLbLData.right = new FormAttachment(245, 1000, 0); idLbLData.top = new FormAttachment(53, 1000, 0); idLbLData.bottom = new FormAttachment(250, 1000, 0); idLb.setLayoutData(idLbLData); idLb.setText("Identifier:"); idLb.setSize(new org.eclipse.swt.graphics.Point(90, 20)); idLb.setFont(isLocalBtnfont); FormLayout composite2Layout = new FormLayout(); composite2.setLayout(composite2Layout); composite2Layout.marginWidth = 0; composite2Layout.marginHeight = 0; composite2Layout.spacing = 0; composite2.layout(); GridData composite3LData = new GridData(); composite3LData.verticalAlignment = GridData.CENTER; composite3LData.horizontalAlignment = GridData.BEGINNING; composite3LData.widthHint = 466; composite3LData.heightHint = 46; composite3LData.horizontalIndent = 0; composite3LData.horizontalSpan = 1; composite3LData.verticalSpan = 1; composite3LData.grabExcessHorizontalSpace = false; composite3LData.grabExcessVerticalSpace = false; composite3.setLayoutData(composite3LData); composite3.setSize(new org.eclipse.swt.graphics.Point(466, 46)); FormData cancelLData = new FormData(); cancelLData.height = 21; cancelLData.width = 80; cancelLData.left = new FormAttachment(816, 1000, 0); cancelLData.right = new FormAttachment(988, 1000, 0); cancelLData.top = new FormAttachment(6, 1000, 0); cancelLData.bottom = new FormAttachment(580, 1000, 0); cancel.setLayoutData(cancelLData); cancel.setText("CANCEL"); cancel.setSize(new org.eclipse.swt.graphics.Point(80, 21)); cancel.setFont(isLocalBtnfont); cancel.addMouseListener( new MouseAdapter() { public void mouseDown(MouseEvent evt) { cancelMouseDown(evt); } }); FormData enterLData = new FormData(); enterLData.height = 21; enterLData.width = 80; enterLData.left = new FormAttachment(623, 1000, 0); enterLData.right = new FormAttachment(795, 1000, 0); enterLData.top = new FormAttachment(6, 1000, 0); enterLData.bottom = new FormAttachment(580, 1000, 0); enter.setLayoutData(enterLData); enter.setText("ENTER"); enter.setSize(new org.eclipse.swt.graphics.Point(80, 21)); enter.setFont(isLocalBtnfont); enter.addMouseListener( new MouseAdapter() { public void mouseDown(MouseEvent evt) { enterMouseDown(evt); } }); FormLayout composite3Layout = new FormLayout(); composite3.setLayout(composite3Layout); composite3Layout.marginWidth = 0; composite3Layout.marginHeight = 0; composite3Layout.spacing = 0; composite3.layout(); GridLayout dialogShellLayout = new GridLayout(1, true); dialogShell.setLayout(dialogShellLayout); dialogShellLayout.marginWidth = 5; dialogShellLayout.marginHeight = 5; dialogShellLayout.numColumns = 1; dialogShellLayout.makeColumnsEqualWidth = true; dialogShellLayout.horizontalSpacing = 5; dialogShellLayout.verticalSpacing = 5; dialogShell.layout(); dialogShell.addDisposeListener( new DisposeListener() { public void widgetDisposed(DisposeEvent e) { isLocalBtnfont.dispose(); repositoryIdTxtfont.dispose(); } }); Rectangle bounds = dialogShell.computeTrim(0, 0, 476, 145); dialogShell.setSize(bounds.width, bounds.height); postInitGUI(); dialogShell.open(); Display display = dialogShell.getDisplay(); while (!dialogShell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } catch (Exception e) { e.printStackTrace(); } }
protected void recomputeSize() { Point point = top.computeSize(SWT.DEFAULT, SWT.DEFAULT); top.setSize(point); scrollTop.setMinSize(point); }
@Override public void createControl(Composite parent) { GridLayout layout = new GridLayout(); layout.numColumns = 3; container = new Composite(parent, SWT.NONE); container.setLayout(layout); container.setSize(300, 300); information = new Label(container, SWT.NONE); GridData ilayout = new GridData(); ilayout.horizontalSpan = 3; information.setLayoutData(ilayout); information.setText("Specify the system actuator that compose the application:"); // ---------------------- Table --------------------------- table = new Table(container, SWT.BORDER); table.setLinesVisible(true); table.setHeaderVisible(true); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.horizontalSpan = 3; table.setLayoutData(data); table.setSize(290, 100); final TableColumn column = new TableColumn(table, SWT.NONE); column.setText("Signal"); column.setWidth(130); final TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText("Actuator"); column2.setWidth(100); final TableColumn column3 = new TableColumn(table, SWT.NONE); column3.setText("Protocol"); column3.setWidth(70); final TableColumn column4 = new TableColumn(table, SWT.NONE); column4.setText("Priority"); column4.setWidth(70); final TableColumn column5 = new TableColumn(table, SWT.NONE); column5.setText("Periodic"); column5.setWidth(70); final TableColumn column6 = new TableColumn(table, SWT.NONE); column6.setText("Period (ms)"); column6.setWidth(70); Button btEditActuator = new Button(container, SWT.NONE); table.addSelectionListener( new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { btEditActuator.setEnabled(true); } @Override public void widgetDefaultSelected(SelectionEvent e) { // TODO Auto-generated method stub } }); table.addMouseListener( new MouseListener() { @Override public void mouseUp(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseDown(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseDoubleClick(MouseEvent e) { editActuatorProperties(parent.getDisplay()); } }); btEditActuator.setText("Edit Actuator"); btEditActuator.setEnabled(false); btEditActuator.addListener( SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { switch (e.type) { case SWT.Selection: if (table.getSelectionIndex() > -1) editActuatorProperties(parent.getDisplay()); } } }); actuators = new ArrayList<>(); setControl(container); setPageComplete(false); }
@SuppressWarnings("nls") public void createControl(Composite parent) { this.parent = parent; parent.setLayout(new GridLayout()); ScrolledComposite scrollComposite = new ScrolledComposite(parent, SWT.V_SCROLL); scrollComposite.setMinHeight(100); scrollComposite.setLayoutData( new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); Composite c = new Composite(scrollComposite, SWT.None); c.setLayout(new GridLayout()); c.setLayoutData( new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); // choose mapset Group chooseMapsetGroup = new Group(c, SWT.BORDER); GridLayout layout1 = new GridLayout(3, false); chooseMapsetGroup.setLayout(layout1); chooseMapsetGroup.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); chooseMapsetGroup.setText("Ruling / Affected mapset"); Label mapsetLabel = new Label(chooseMapsetGroup, SWT.NONE); mapsetLabel.setText("wind file for active region: "); windPathText = new Text(chooseMapsetGroup, SWT.BORDER); GridData gd = new GridData(); gd.widthHint = 100; windPathText.setLayoutData(gd); windPathText.setEditable(false); final Button mapsetButton = new Button(chooseMapsetGroup, SWT.BORDER | SWT.PUSH); GridData gd2 = new GridData(); gd2.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END; mapsetButton.setLayoutData(gd2); mapsetButton.setText("Browse"); mapsetButton.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { CatalogJGrassMapsetTreeViewerDialog cDialog = new CatalogJGrassMapsetTreeViewerDialog(); cDialog.open(mapsetButton.getShell()); List<JGrassMapsetGeoResource> selectedLayers = cDialog.getSelectedLayers(); if (selectedLayers == null || selectedLayers.size() == 0) { return; } jGrassMapsetGeoResource = selectedLayers.get(0); String windPath = jGrassMapsetGeoResource.getActiveRegionWindowPath(); windPathText.setText(windPath); JGrassRegion jgR = jGrassMapsetGeoResource.getActiveRegionWindow(); CoordinateReferenceSystem crs = jGrassMapsetGeoResource.getLocationCrs(); commitToBlackboards(jgR, crs, windPath); } }); // the group for the region Group regionGroup = new Group(c, SWT.BORDER); GridLayout layout2 = new GridLayout(2, true); regionGroup.setLayout(layout2); regionGroup.setText("Region settings"); regionGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); northLabel = new Label(regionGroup, SWT.NONE); northLabel.setText("north"); northLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); northText = new Text(regionGroup, SWT.BORDER); northText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); southLabel = new Label(regionGroup, SWT.NONE); southLabel.setText("south"); southLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); southText = new Text(regionGroup, SWT.BORDER); southText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); westLabel = new Label(regionGroup, SWT.NONE); westLabel.setText("west"); westLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); westText = new Text(regionGroup, SWT.BORDER); westText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); eastLabel = new Label(regionGroup, SWT.NONE); eastLabel.setText("east"); eastLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); eastText = new Text(regionGroup, SWT.BORDER); eastText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); rowsLabel = new Label(regionGroup, SWT.NONE); rowsLabel.setText("rows"); rowsLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); rowsText = new Text(regionGroup, SWT.BORDER); rowsText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); colsLabel = new Label(regionGroup, SWT.NONE); colsLabel.setText("cols"); colsLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); colsText = new Text(regionGroup, SWT.BORDER); colsText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); xresLabel = new Label(regionGroup, SWT.NONE); xresLabel.setText("xres"); xresLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); xresText = new Text(regionGroup, SWT.BORDER); xresText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); yresLabel = new Label(regionGroup, SWT.NONE); yresLabel.setText("yres"); yresLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); yresText = new Text(regionGroup, SWT.BORDER); yresText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); // the group for the style Group styleGroup = new Group(c, SWT.BORDER); GridLayout layout3 = new GridLayout(2, true); styleGroup.setLayout(layout3); styleGroup.setText("Style properties"); styleGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); gridButton = new Button(styleGroup, SWT.BORDER | SWT.CHECK); gridButton.setText("visualize active region grid"); GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); gridData.horizontalSpan = 2; gridButton.setLayoutData(gridData); Label backgroundColourLabel = new Label(styleGroup, SWT.NONE); backgroundColourLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); backgroundColourLabel.setText("background color"); backgroundColour = new ColorEditor(styleGroup); backgroundColour .getButton() .setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label backgroundAlphaLabel = new Label(styleGroup, SWT.NONE); backgroundAlphaLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); backgroundAlphaLabel.setText("background alpha (0-1)"); backgroundAlphaText = new Text(styleGroup, SWT.BORDER); backgroundAlphaText.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label foregroundColourLabel = new Label(styleGroup, SWT.NONE); foregroundColourLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); foregroundColourLabel.setText("foreground color"); foregroundColor = new ColorEditor(styleGroup); foregroundColor .getButton() .setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label forgroundAlphaLabel = new Label(styleGroup, SWT.NONE); forgroundAlphaLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); forgroundAlphaLabel.setText("foreground alpha (0-1)"); forgroundAlphaText = new Text(styleGroup, SWT.BORDER); forgroundAlphaText.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); // the group for the set region to map final Group settoGroup = new Group(c, SWT.BORDER); GridLayout layout4 = new GridLayout(1, true); settoGroup.setLayout(layout4); settoGroup.setText("Set region to..."); settoGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); rasterMapSetButton = new Button(settoGroup, SWT.NONE); rasterMapSetButton.setText("set region to raster map"); rasterMapSetButton.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); rasterMapSetButton.addSelectionListener( new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { JGRasterChooserDialog tree = new JGRasterChooserDialog(null); tree.open(settoGroup.getShell(), SWT.SINGLE); update(tree.getSelectedResources()); } }); featuresMapSetButton = new Button(settoGroup, SWT.NONE); featuresMapSetButton.setText("set region to vector map"); featuresMapSetButton.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); featuresMapSetButton.addSelectionListener( new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { FeatureChooserDialog tree = new FeatureChooserDialog(); tree.open(settoGroup.getShell(), SWT.SINGLE); update(tree.getSelectedResources()); } }); resetToActiveButton = new Button(settoGroup, SWT.NONE); resetToActiveButton.setText("reset back to actual region"); resetToActiveButton.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); resetToActiveButton.addSelectionListener( new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { String windPath = windPathText.getText(); try { JGrassRegion jgR = new JGrassRegion(windPath); setWidgetsToWindow(jgR); } catch (IOException e1) { e1.printStackTrace(); } } }); northText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(bound_type); } }); southText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(bound_type); } }); rowsText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(row_type); } }); colsText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(row_type); } }); westText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(bound_type); } }); xresText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(res_type); } }); eastText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(bound_type); } }); yresText.addModifyListener( new org.eclipse.swt.events.ModifyListener() { public void modifyText(org.eclipse.swt.events.ModifyEvent e) { if (isWorking) return; textModified(res_type); } }); foregroundColor.addSelectionListener(this); backgroundColour.addSelectionListener(this); /* * layout */ c.layout(); Point size = c.computeSize(SWT.DEFAULT, SWT.DEFAULT); c.setSize(size); scrollComposite.setContent(c); }
@Override public Composite createUI(Composite parent) { this.display = WorkPart.display(); Shell shell = new Shell(this.display); shell.setSize(50, 100); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; shell.setLayout(gridLayout); ProgressBar pb = new ProgressBar(shell, SWT.HORIZONTAL | SWT.INDETERMINATE); pb.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Label searching = new Label(shell, SWT.NONE); searching.setText("Searching..."); shell.open(); this.isSearching = true; new Thread() { public void run() { testTm_cz = RetrieveData.testTm_czConnection(); testTm_lz = RetrieveData.testTm_lzConnection(); testDeapp = RetrieveData.testDeappConnection(); root = new TreeNode("Dataset explorer", null, false); studyTree = new StudyTree(root); topNodeController = new TopNodeController(root, dataType, studyTree); root = topNodeController.buildTree(); topNode = dataType.getStudy().getTopNode(); isSearching = false; } }.start(); this.display = WorkPart.display(); while (this.isSearching) { if (!display.readAndDispatch()) { display.sleep(); } } shell.close(); Composite composite = new Composite(parent, SWT.NONE); GridLayout gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; composite.setLayout(gd); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); ScrolledComposite scroller = new ScrolledComposite(composite, SWT.H_SCROLL | SWT.V_SCROLL); scroller.setLayoutData(new GridData(GridData.FILL_BOTH)); gd = new GridLayout(); gd.numColumns = 1; gd.horizontalSpacing = 0; gd.verticalSpacing = 0; scroller.setLayout(gd); scroller.setLayoutData(new GridData(GridData.FILL_BOTH)); Composite scrolledComposite = new Composite(scroller, SWT.NONE); scroller.setContent(scrolledComposite); GridLayout layout = new GridLayout(); layout.numColumns = 1; layout.verticalSpacing = 10; scrolledComposite.setLayout(layout); scrolledComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); this.topNode = this.dataType.getStudy().getTopNode(); if (topNode != null && topNode.compareTo("") != 0) { viewer = new TreeViewer(scrolledComposite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new StudyContentProvider()); viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); viewer.setInput(this.studyTree); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.heightHint = 300; gridData.widthHint = 250; this.viewer.getControl().setLayoutData(gridData); viewer.setLabelProvider( new ColumnLabelProvider() { @Override public String getText(Object element) { return element.toString(); } @Override public Color getBackground(Object element) { if (((TreeNode) element).isStudyRoot()) { return new Color(Display.getCurrent(), 237, 91, 67); } if (((TreeNode) element).isLabel()) { return new Color(Display.getCurrent(), 212, 212, 212); } return null; } }); securityButton = new Button(scrolledComposite, SWT.CHECK); securityButton.setText("Security required"); securityButton.addListener( SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { security = securityButton.getSelection(); } }); /*indexesButton=new Button(scrolledComposite, SWT.CHECK); indexesButton.setText("Turn off the indexes during loaded (only for large datasets)"); indexesButton.addListener(SWT.Selection, new Listener(){ @Override public void handleEvent(Event event) { indexes=indexesButton.getSelection(); } })*/ ; } else { Label label = new Label(scrolledComposite, SWT.NONE); label.setText("Please first choose a study node in the description data type"); } Button button = new Button(scrolledComposite, SWT.PUSH); button.setText("Load"); if (topNode != null && topNode.compareTo("") != 0) { if (this.testTm_cz && this.testTm_lz && this.testDeapp) { button.addListener(SWT.Selection, new LoadGeneExpressionDataListener(this, this.dataType)); Label dbLabel = new Label(scrolledComposite, SWT.NONE); dbLabel.setText("You are connected to database '" + PreferencesHandler.getDb() + "'"); } else { button.setEnabled(false); Label warn = new Label(scrolledComposite, SWT.NONE); warn.setText("Warning: connection to database is not possible"); } } else { button.setEnabled(false); } scrolledComposite.setSize(scrolledComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); return composite; }
public void createControl(Composite parent) { ScrolledComposite scrollComposite = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL); Composite c = new Composite(scrollComposite, SWT.None); c.setLayout(new GridLayout()); c.setLayoutData( new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); GridData layoutData = null; Group chooseMapGroup = new Group(c, SWT.BORDER); GridLayout layout1 = new GridLayout(3, false); chooseMapGroup.setLayout(layout1); chooseMapGroup.setLayoutData( new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); Label mapLabel = new Label(chooseMapGroup, SWT.NONE); mapLabel.setLayoutData(layoutData); mapLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.map4legend")); // $NON-NLS-1$ mapNameLabel = new Label(chooseMapGroup, SWT.BORDER); GridData gd = new GridData(); gd.widthHint = 100; mapNameLabel.setLayoutData(gd); final Button mapButton = new Button(chooseMapGroup, SWT.BORDER | SWT.PUSH); GridData gd2 = new GridData(); gd2.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END; mapButton.setLayoutData(gd2); mapButton.setText(Messages.getString("LegendGraphicStyleConfigurator.browse")); // $NON-NLS-1$ mapButton.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { JGRasterChooserDialog cDialog = new JGRasterChooserDialog(null); cDialog.open(mapButton.getShell(), SWT.SINGLE); List<JGrassMapGeoResource> selectedResource = cDialog.getSelectedResources(); JGrassMapGeoResource jGrassMapGeoResource = selectedResource.get(0); File mapFile = jGrassMapGeoResource.getMapFile(); String name = mapFile.getName(); mapNameLabel.setText(name); if (style == null) checkStyle(); style.mapPath = mapFile.getAbsolutePath(); } }); Group propertiesGroup = new Group(c, SWT.BORDER); GridLayout layout2 = new GridLayout(2, true); propertiesGroup.setLayout(layout2); Label titleLabel = new Label(propertiesGroup, SWT.NONE); titleLabel.setLayoutData(layoutData); titleLabel.setText(Messages.getString("LegendGraphicStyleConfigurator.title")); // $NON-NLS-1$ titleText = new Text(propertiesGroup, SWT.BORDER); titleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label xposLabel = new Label(propertiesGroup, SWT.NONE); xposLabel.setLayoutData(layoutData); xposLabel.setText(Messages.getString("LegendGraphicStyleConfigurator.xpos")); // $NON-NLS-1$ xposText = new Text(propertiesGroup, SWT.BORDER); xposText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label yposLabel = new Label(propertiesGroup, SWT.NONE); yposLabel.setLayoutData(layoutData); yposLabel.setText(Messages.getString("LegendGraphicStyleConfigurator.ypos")); // $NON-NLS-1$ yposText = new Text(propertiesGroup, SWT.BORDER); yposText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label legWidthLabel = new Label(propertiesGroup, SWT.NONE); legWidthLabel.setLayoutData(layoutData); legWidthLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.legendwidth")); // $NON-NLS-1$ legWidthText = new Text(propertiesGroup, SWT.BORDER); legWidthText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label legHeightLabel = new Label(propertiesGroup, SWT.NONE); legHeightLabel.setLayoutData(layoutData); legHeightLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.legendheight")); // $NON-NLS-1$ legHeightText = new Text(propertiesGroup, SWT.BORDER); legHeightText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label boxWidthLabel = new Label(propertiesGroup, SWT.NONE); boxWidthLabel.setLayoutData(layoutData); boxWidthLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.boxwidth")); // $NON-NLS-1$ boxWidthText = new Text(propertiesGroup, SWT.BORDER); boxWidthText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); isroundedButton = new Button(propertiesGroup, SWT.BORDER | SWT.CHECK); isroundedButton.setText( Messages.getString("LegendGraphicStyleConfigurator.roundedrect")); // $NON-NLS-1$ GridData gdata = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); gdata.horizontalSpan = 2; isroundedButton.setLayoutData(gdata); Label fontColourLabel = new Label(propertiesGroup, SWT.NONE); fontColourLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); fontColourLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.fontcolor")); // $NON-NLS-1$ fontColour = new ColorEditor(propertiesGroup); Label backgroundColourLabel = new Label(propertiesGroup, SWT.NONE); backgroundColourLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); backgroundColourLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.backgroundcolor")); // $NON-NLS-1$ backgroundColour = new ColorEditor(propertiesGroup); Label backgroundAlphaLabel = new Label(propertiesGroup, SWT.NONE); backgroundAlphaLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); backgroundAlphaLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.backgroundalpha")); // $NON-NLS-1$ backgroundAlphaText = new Text(propertiesGroup, SWT.BORDER); backgroundAlphaText.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); Label foregroundColourLabel = new Label(propertiesGroup, SWT.NONE); foregroundColourLabel.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); foregroundColourLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.foregroundcolor")); // $NON-NLS-1$ foregroundColor = new ColorEditor(propertiesGroup); Label forgroundAlphaLabel = new Label(propertiesGroup, SWT.NONE); forgroundAlphaLabel.setLayoutData(layoutData); forgroundAlphaLabel.setText( Messages.getString("LegendGraphicStyleConfigurator.foregroundalpha")); // $NON-NLS-1$ forgroundAlphaText = new Text(propertiesGroup, SWT.BORDER); forgroundAlphaText.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); c.layout(); Point size = c.computeSize(SWT.DEFAULT, SWT.DEFAULT); c.setSize(size); scrollComposite.setContent(c); titleText.addModifyListener(this); xposText.addModifyListener(this); yposText.addModifyListener(this); legWidthText.addModifyListener(this); legHeightText.addModifyListener(this); boxWidthText.addModifyListener(this); backgroundAlphaText.addModifyListener(this); forgroundAlphaText.addModifyListener(this); isroundedButton.addSelectionListener(this); foregroundColor.addSelectionListener(this); backgroundColour.addSelectionListener(this); fontColour.addSelectionListener(this); }
public TitleBar(final Window parent, final int size, int flags) { this.flags = flags; composite = new Composite(parent.getContentPanel(), SWT.NONE); composite.setSize(parent.getSize().x, size); buttonListener = new Listener() { public void handleEvent(Event event) { if (event.type == SWT.MouseUp) { // If the click is still on the button. if (event.x >= 0 && event.x < size && event.y >= 0 && event.y < size) { if (event.widget == closeButton) { parent.close(); } else if (event.widget == restoreButton) { dontSetX = true; parent.setMaximized(!parent.isMaximized()); } else if (event.widget == minimizeButton) { parent.setMinimized(true); } } } else if (event.type == SWT.MouseEnter) { Label button = (Label) event.widget; button.setBackground(hoverColor); } else if (event.type == SWT.MouseExit) { Label button = (Label) event.widget; button.setBackground(normalColor); } } }; addButtons(); titleLabel = new Label(composite, SWT.NONE); FontData fd = titleLabel.getFont().getFontData()[0]; fd.setHeight(14); titleLabel.setFont(new Font(Display.getDefault(), fd)); titleGC = new GC(titleLabel); setTitle(parent.getTitle()); iconLabel = new Label(composite, SWT.NONE); setIcon(parent.getIcon()); dontSetX = true; wasRestored = true; wasMaximized = parent.isMaximized(); ControlListener resizeListener = new ControlListener() { public void controlResized(ControlEvent e) { composite.setSize(parent.getClientArea().width, size); setTitleLocation(); layoutButtons(); if (parent.isMaximized()) { if (restoreButton != null) { restoreButton.setImage(restoreImage); } } else { if (wasMaximized && !dontSetX) { parent.setLocation(mouseX - parent.getSize().x / 2, parent.getLocation().y); } if (restoreButton != null) { restoreButton.setImage(maximizeImage); } } dontSetX = false; wasRestored = false; wasMaximized = false; if (parent.isFullscreen()) { if (minimizeButton != null) { minimizeButton.setEnabled(false); // .setVisible(false); } if (restoreButton != null) { restoreButton.setEnabled(false); // .setVisible(false); } } else { if (minimizeButton != null) { minimizeButton.setEnabled(true); // .setVisible(true); } if (restoreButton != null) { restoreButton.setEnabled(true); // .setVisible(true); } } } public void controlMoved(ControlEvent e) {} }; parent.addControlListener(resizeListener); final Tracker tracker = new Tracker(parent.getShell(), SWT.NONE); tracker.addControlListener( new ControlListener() { public void controlResized(ControlEvent e) {} public void controlMoved(ControlEvent e) { if (parent.isMaximized()) { parent.setMaximized(false); } Point loc = new Point( tracker.getRectangles()[0].x + 99999, tracker.getRectangles()[0].y + 99999); int dx = loc.x - startX; int dy = loc.y - startY; parent.setLocation(parent.getLocation().x + dx, parent.getLocation().y + dy); startX = loc.x; startY = loc.y; } }); Listener moveListener = new Listener() { public void handleEvent(Event event) { if (!parent.isFullscreen()) { if (event.type == SWT.MouseDown) { dragging = true; Control control = (Control) event.widget; mouseX = event.x + parent.getBorderSize() + control.getLocation().x; mouseY = event.y + parent.getBorderSize() + control.getLocation().y; wasMaximized = parent.isMaximized(); startX = 0; startY = 0; tracker.setRectangles(new Rectangle[] {new Rectangle(-99999, -99999, 0, 0)}); tracker.open(); tracker.close(); dragging = false; if (parent.getLocation().y + mouseY <= 0) { wasRestored = true; parent.setMaximized(true); } } else if (event.type == SWT.MouseDoubleClick) { dontSetX = true; wasRestored = true; parent.setMaximized(!parent.isMaximized()); } } } }; titleLabel.addListener(SWT.MouseDown, moveListener); titleLabel.addListener(SWT.MouseDoubleClick, moveListener); composite.addListener(SWT.MouseDown, moveListener); composite.addListener(SWT.MouseDoubleClick, moveListener); parent.addWindowListener( new WindowListener() { public boolean titleChanged(String newTitle) { setTitle(newTitle); return true; } public boolean iconChanged(Image newIcon) { setIcon(newIcon); return true; } }); composite.setBackgroundMode(SWT.INHERIT_DEFAULT); }
@SuppressWarnings("unchecked") public void prepareForOpen() { Point contentsSize = contents.getSize(); Point titleSize = new Point(0, 0); boolean showTitle = ((style & (SWT.CLOSE | SWT.TITLE)) != 0); if (showTitle) { if (titleLabel == null) { titleLabel = new Label(shell, SWT.NONE); titleLabel.setBackground(shell.getBackground()); titleLabel.setForeground(shell.getForeground()); FontData[] fds = shell.getFont().getFontData(); for (int i = 0; i < fds.length; i++) { fds[i].setStyle(fds[i].getStyle() | SWT.BOLD); } final Font font = new Font(shell.getDisplay(), fds); titleLabel.addListener( SWT.Dispose, new Listener() { @Override public void handleEvent(Event event) { font.dispose(); } }); titleLabel.setFont(font); selectionControls.add(titleLabel); } String titleText = shell.getText(); titleLabel.setText(titleText == null ? "" : titleText); titleLabel.pack(); titleSize = titleLabel.getSize(); final Image titleImage = shell.getImage(); if (titleImageLabel == null && shell.getImage() != null) { titleImageLabel = new Canvas(shell, SWT.NONE); titleImageLabel.setBackground(shell.getBackground()); titleImageLabel.setBounds(titleImage.getBounds()); titleImageLabel.addListener( SWT.Paint, new Listener() { @Override public void handleEvent(Event event) { event.gc.drawImage(titleImage, 0, 0); } }); Point tilSize = titleImageLabel.getSize(); titleSize.x += tilSize.x + titleWidgetSpacing; if (tilSize.y > titleSize.y) titleSize.y = tilSize.y; selectionControls.add(titleImageLabel); } if (systemControlsBar == null && (style & SWT.CLOSE) != 0) { // Color closeFG = shell.getForeground(), closeBG = shell.getBackground(); // Color closeFG = shell.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY), closeBG = // shell.getBackground(); Color closeFG = shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND), closeBG = shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); final Image closeImage = createCloseImage(shell.getDisplay(), closeBG, closeFG); shell.addListener( SWT.Dispose, new Listener() { @Override public void handleEvent(Event event) { closeImage.dispose(); } }); systemControlsBar = new ToolBar(shell, SWT.FLAT); systemControlsBar.setBackground(closeBG); systemControlsBar.setForeground(closeFG); ToolItem closeItem = new ToolItem(systemControlsBar, SWT.PUSH); closeItem.setImage(closeImage); closeItem.addListener( SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { shell.close(); } }); systemControlsBar.pack(); Point closeSize = systemControlsBar.getSize(); titleSize.x += closeSize.x + titleWidgetSpacing; if (closeSize.y > titleSize.y) titleSize.y = closeSize.y; } titleSize.y += titleSpacing; if (titleSize.x > contentsSize.x) { contentsSize.x = titleSize.x; contents.setSize(contentsSize.x, contentsSize.y); } contentsSize.y += titleSize.y; } Rectangle screen = shell.getDisplay().getClientArea(); int anchor = preferredAnchor; if (anchor != SWT.NONE && autoAnchor && locX != Integer.MIN_VALUE) { if ((anchor & SWT.LEFT) != 0) { if (locX + contentsSize.x + marginLeft + marginRight - 16 >= screen.x + screen.width) anchor = anchor - SWT.LEFT + SWT.RIGHT; } else // RIGHT { if (locX - contentsSize.x - marginLeft - marginRight + 16 < screen.x) anchor = anchor - SWT.RIGHT + SWT.LEFT; } if ((anchor & SWT.TOP) != 0) { if (locY + contentsSize.y + 20 + marginTop + marginBottom >= screen.y + screen.height) anchor = anchor - SWT.TOP + SWT.BOTTOM; } else // BOTTOM { if (locY - contentsSize.y - 20 - marginTop - marginBottom < screen.y) anchor = anchor - SWT.BOTTOM + SWT.TOP; } } final Point shellSize = (anchor == SWT.NONE) ? new Point( contentsSize.x + marginLeft + marginRight, contentsSize.y + marginTop + marginBottom) : new Point( contentsSize.x + marginLeft + marginRight, contentsSize.y + marginTop + marginBottom + 20); if (shellSize.x < 54 + marginLeft + marginRight) shellSize.x = 54 + marginLeft + marginRight; if (anchor == SWT.NONE) { if (shellSize.y < 10 + marginTop + marginBottom) shellSize.y = 10 + marginTop + marginBottom; } else { if (shellSize.y < 30 + marginTop + marginBottom) shellSize.y = 30 + marginTop + marginBottom; } shell.setSize(shellSize); int titleLocY = marginTop + (((anchor & SWT.TOP) != 0) ? 20 : 0); contents.setLocation(marginLeft, titleSize.y + titleLocY); if (showTitle) { int realTitleHeight = titleSize.y - titleSpacing; if (titleImageLabel != null) { titleImageLabel.setLocation( marginLeft, titleLocY + (realTitleHeight - titleImageLabel.getSize().y) / 2); titleLabel.setLocation( marginLeft + titleImageLabel.getSize().x + titleWidgetSpacing, titleLocY + (realTitleHeight - titleLabel.getSize().y) / 2); } else titleLabel.setLocation( marginLeft, titleLocY + (realTitleHeight - titleLabel.getSize().y) / 2); if (systemControlsBar != null) systemControlsBar.setLocation( shellSize.x - marginRight - systemControlsBar.getSize().x, titleLocY + (realTitleHeight - systemControlsBar.getSize().y) / 2); } final Region region = new Region(); region.add(createOutline(shellSize, anchor, true)); shell.setRegion(region); shell.addListener( SWT.Dispose, new Listener() { @Override public void handleEvent(Event event) { region.dispose(); } }); final int[] outline = createOutline(shellSize, anchor, false); shell.addListener( SWT.Paint, new Listener() { @Override public void handleEvent(Event event) { event.gc.drawPolygon(outline); } }); if (locX != Integer.MIN_VALUE) { Point shellLoc = new Point(locX, locY); if ((anchor & SWT.BOTTOM) != 0) shellLoc.y = shellLoc.y - shellSize.y + 1; if ((anchor & SWT.LEFT) != 0) shellLoc.x -= 15; else if ((anchor & SWT.RIGHT) != 0) shellLoc.x = shellLoc.x - shellSize.x + 16; if (autoAnchor) { if (shellLoc.x < screen.x) shellLoc.x = screen.x; else if (shellLoc.x > screen.x + screen.width - shellSize.x) shellLoc.x = screen.x + screen.width - shellSize.x; if (anchor == SWT.NONE) { if (shellLoc.y < screen.y) shellLoc.y = screen.y; else if (shellLoc.y > screen.y + screen.height - shellSize.y) shellLoc.y = screen.y + screen.height - shellSize.y; } } shell.setLocation(shellLoc); } }
/** * Create contents of the view part. * * @throws GkException */ @PostConstruct public void createControls(Composite parent, MPart part) throws GkException { parent.setLayout(new FormLayout()); Composite composite = new Composite(parent, SWT.NONE); FormData fd_composite = new FormData(); fd_composite.top = new FormAttachment(0); fd_composite.left = new FormAttachment(0); composite.setLayoutData(fd_composite); GridLayout gl_composite = new GridLayout(3, false); gl_composite.verticalSpacing = 3; gl_composite.marginHeight = 3; gl_composite.marginWidth = 3; composite.setLayout(gl_composite); Group grpManualJog = new Group(composite, SWT.NONE); grpManualJog.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD)); grpManualJog.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); grpManualJog.setText("Manual jog"); GridLayout gl_grpManualJog = new GridLayout(1, false); gl_grpManualJog.verticalSpacing = 2; gl_grpManualJog.marginWidth = 4; gl_grpManualJog.marginHeight = 2; gl_grpManualJog.horizontalSpacing = 4; grpManualJog.setLayout(gl_grpManualJog); if (getDataModel().isStepModeChoiceEnabled()) { btnIncrementalJog = new Button(grpManualJog, SWT.CHECK); btnIncrementalJog.setEnabled(false); btnIncrementalJog.setText("Incremental jog"); } Composite composite_5 = new Composite(grpManualJog, SWT.NONE); composite_5.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); composite_5.setLayout(new GridLayout(3, false)); if (getDataModel().isIncrementalJog()) { lblJogStep = new Label(composite_5, SWT.NONE); lblJogStep.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); lblJogStep.setText("Step :"); jogStepSpinner = new Spinner(composite_5, SWT.BORDER); jogStepSpinner.setMaximum(100000); jogStepSpinner.setMinimum(1); jogStepSpinner.setDigits(GokoPreference.getInstance().getDigitCount()); GridData gd_jogSpinner = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_jogSpinner.widthHint = 40; jogStepSpinner.setLayoutData(gd_jogSpinner); lblUnit = new Label(composite_5, SWT.NONE); lblUnit.setText("mm"); } Label lblJogSpeed = new Label(composite_5, SWT.NONE); lblJogSpeed.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); lblJogSpeed.setBounds(0, 0, 55, 15); lblJogSpeed.setText("Speed :"); jogSpeedSpinner = new Spinner(composite_5, SWT.BORDER); jogSpeedSpinner.setMaximum(10000); GridData gd_jogSpeedSpinner = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_jogSpeedSpinner.widthHint = 40; jogSpeedSpinner.setLayoutData(gd_jogSpeedSpinner); new Label(composite_5, SWT.NONE); Composite composite_4 = new Composite(grpManualJog, SWT.NONE); GridLayout gl_composite_4 = new GridLayout(2, false); gl_composite_4.marginWidth = 0; gl_composite_4.marginHeight = 0; gl_composite_4.horizontalSpacing = 0; gl_composite_4.verticalSpacing = 0; composite_4.setLayout(gl_composite_4); Composite composite_2 = new Composite(composite_4, SWT.NONE); composite_2.setSize(45, 125); GridLayout gl_composite_2 = new GridLayout(1, false); gl_composite_2.marginWidth = 2; gl_composite_2.verticalSpacing = 2; gl_composite_2.horizontalSpacing = 2; gl_composite_2.marginHeight = 2; composite_2.setLayout(gl_composite_2); btnJogZPos = new Button(composite_2, SWT.NONE); btnJogZPos.setText("+Z"); GridData gd_btnJogZPos = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_btnJogZPos.heightHint = 55; gd_btnJogZPos.widthHint = 35; btnJogZPos.setLayoutData(gd_btnJogZPos); btnJogZNeg = new Button(composite_2, SWT.NONE); btnJogZNeg.setText("-Z"); GridData gd_btnJogZNeg = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_btnJogZNeg.widthHint = 35; gd_btnJogZNeg.heightHint = 55; btnJogZNeg.setLayoutData(gd_btnJogZNeg); Composite composite_1 = new Composite(composite_4, SWT.NONE); GridLayout gl_composite_1 = new GridLayout(3, false); gl_composite_1.verticalSpacing = 2; gl_composite_1.marginWidth = 2; gl_composite_1.horizontalSpacing = 0; gl_composite_1.marginHeight = 0; composite_1.setLayout(gl_composite_1); new Label(composite_1, SWT.NONE); btnJogYPos = new Button(composite_1, SWT.NONE); btnJogYPos.setText("+Y"); GridData gd_btnJogYPos = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_btnJogYPos.heightHint = 35; gd_btnJogYPos.widthHint = 35; btnJogYPos.setLayoutData(gd_btnJogYPos); new Label(composite_1, SWT.NONE); btnJogXNeg = new Button(composite_1, SWT.NONE); btnJogXNeg.setText("-X"); GridData gd_btnJogXNeg = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_btnJogXNeg.widthHint = 35; gd_btnJogXNeg.heightHint = 35; btnJogXNeg.setLayoutData(gd_btnJogXNeg); new Label(composite_1, SWT.NONE); btnJogXPos = new Button(composite_1, SWT.NONE); btnJogXPos.setText("+X"); GridData gd_btnJogXPos = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_btnJogXPos.heightHint = 35; gd_btnJogXPos.widthHint = 35; btnJogXPos.setLayoutData(gd_btnJogXPos); new Label(composite_1, SWT.NONE); btnJogYNeg = new Button(composite_1, SWT.NONE); btnJogYNeg.setText("-Y"); GridData gd_btnJogYNeg = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_btnJogYNeg.widthHint = 35; gd_btnJogYNeg.heightHint = 35; btnJogYNeg.setLayoutData(gd_btnJogYNeg); new Label(composite_1, SWT.NONE); new Label(composite_4, SWT.NONE); composite_7 = new Composite(composite_4, SWT.NONE); composite_7.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); GridLayout gl_composite_7 = new GridLayout(2, true); gl_composite_7.verticalSpacing = 2; gl_composite_7.marginWidth = 2; gl_composite_7.marginHeight = 2; gl_composite_7.horizontalSpacing = 2; composite_7.setLayout(gl_composite_7); btnJogANeg = new Button(composite_7, SWT.NONE); GridData gd_btnANeg = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnANeg.heightHint = 35; btnJogANeg.setLayoutData(gd_btnANeg); btnJogANeg.setText("A-"); btnJogAPos = new Button(composite_7, SWT.NONE); GridData gd_btnAPos = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnAPos.heightHint = 35; btnJogAPos.setLayoutData(gd_btnAPos); btnJogAPos.setText("A+"); Composite composite_9 = new Composite(composite, SWT.NONE); GridLayout gl_composite_9 = new GridLayout(1, false); gl_composite_9.horizontalSpacing = 4; gl_composite_9.verticalSpacing = 4; gl_composite_9.marginWidth = 0; gl_composite_9.marginHeight = 0; composite_9.setLayout(gl_composite_9); composite_9.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); Group grpCommands = new Group(composite_9, SWT.NONE); grpCommands.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD)); grpCommands.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); GridLayout gl_grpCommands = new GridLayout(1, false); gl_grpCommands.verticalSpacing = 2; gl_grpCommands.marginWidth = 2; gl_grpCommands.marginHeight = 2; gl_grpCommands.horizontalSpacing = 2; grpCommands.setLayout(gl_grpCommands); grpCommands.setText("Homing"); btnHome = new Button(grpCommands, SWT.NONE); btnHome.setText("Home"); GridData gd_btnNewButton_1 = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnNewButton_1.widthHint = 140; gd_btnNewButton_1.heightHint = 35; btnHome.setLayoutData(gd_btnNewButton_1); Label label = new Label(grpCommands, SWT.SEPARATOR | SWT.HORIZONTAL); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); btnResetZero = new Button(grpCommands, SWT.NONE); btnResetZero.setText("Zero all axis"); GridData gd_btnNewButton_2 = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnNewButton_2.heightHint = 35; btnResetZero.setLayoutData(gd_btnNewButton_2); Composite composite_6 = new Composite(grpCommands, SWT.NONE); composite_6.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); GridLayout gl_composite_6 = new GridLayout(4, true); gl_composite_6.horizontalSpacing = 1; gl_composite_6.marginHeight = 0; gl_composite_6.verticalSpacing = 2; gl_composite_6.marginWidth = 0; composite_6.setLayout(gl_composite_6); btnResetX = new Button(composite_6, SWT.NONE); btnResetX.setText("X"); btnResetX.setFont(SWTResourceManager.getFont("Segoe UI", 8, SWT.NORMAL)); GridData gd_btnResetX = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnResetX.heightHint = 30; btnResetX.setLayoutData(gd_btnResetX); btnResetY = new Button(composite_6, SWT.NONE); btnResetY.setText("Y"); btnResetY.setFont(SWTResourceManager.getFont("Segoe UI", 8, SWT.NORMAL)); GridData gd_btnNewButton = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnNewButton.heightHint = 30; btnResetY.setLayoutData(gd_btnNewButton); btnResetZ = new Button(composite_6, SWT.NONE); btnResetZ.setText("Z"); btnResetZ.setFont(SWTResourceManager.getFont("Segoe UI", 8, SWT.NORMAL)); GridData gd_btnNewButton_21 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnNewButton_21.heightHint = 30; btnResetZ.setLayoutData(gd_btnNewButton_21); btnResetA = new Button(composite_6, SWT.NONE); GridData gd_btnResetA = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnResetA.heightHint = 30; btnResetA.setLayoutData(gd_btnResetA); btnResetA.setText("A"); grpCoordinatesSystem = new Group(composite_9, SWT.NONE); grpCoordinatesSystem.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD)); GridLayout gl_grpCoordinatesSystem = new GridLayout(1, false); gl_grpCoordinatesSystem.verticalSpacing = 2; gl_grpCoordinatesSystem.marginWidth = 2; gl_grpCoordinatesSystem.marginHeight = 2; gl_grpCoordinatesSystem.horizontalSpacing = 2; grpCoordinatesSystem.setLayout(gl_grpCoordinatesSystem); grpCoordinatesSystem.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); grpCoordinatesSystem.setText("Coordinates system"); Composite composite_11 = new Composite(grpCoordinatesSystem, SWT.NONE); composite_11.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); GridLayout gl_composite_11 = new GridLayout(3, true); gl_composite_11.verticalSpacing = 2; gl_composite_11.horizontalSpacing = 2; gl_composite_11.marginWidth = 0; gl_composite_11.marginHeight = 0; composite_11.setLayout(gl_composite_11); btnCSG54 = new Button(composite_11, SWT.NONE); btnCSG54.setText("G54"); btnCSG54.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { try { getController().setCoordinateSystem(EnumCoordinateSystem.G54); } catch (GkException e1) { displayMessage(e1); } } }); GridData gd_btnCSG54 = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnCSG54.heightHint = 30; btnCSG54.setLayoutData(gd_btnCSG54); btnCSG55 = new Button(composite_11, SWT.NONE); btnCSG55.setText("G55"); btnCSG55.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { try { getController().setCoordinateSystem(EnumCoordinateSystem.G55); } catch (GkException e1) { displayMessage(e1); } } }); GridData gd_btnCSG55 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnCSG55.heightHint = 30; btnCSG55.setLayoutData(gd_btnCSG55); btnCSG56 = new Button(composite_11, SWT.NONE); btnCSG56.setText("G56"); btnCSG56.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { try { getController().setCoordinateSystem(EnumCoordinateSystem.G56); } catch (GkException e1) { displayMessage(e1); } } }); GridData gd_btnCSG56 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnCSG56.heightHint = 30; btnCSG56.setLayoutData(gd_btnCSG56); btnCSG57 = new Button(composite_11, SWT.NONE); btnCSG57.setText("G57"); btnCSG57.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { try { getController().setCoordinateSystem(EnumCoordinateSystem.G57); } catch (GkException e1) { displayMessage(e1); } } }); GridData gd_btnCSG57 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnCSG57.heightHint = 30; btnCSG57.setLayoutData(gd_btnCSG57); btnCSG58 = new Button(composite_11, SWT.NONE); btnCSG58.setText("G58"); btnCSG58.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { try { getController().setCoordinateSystem(EnumCoordinateSystem.G58); } catch (GkException e1) { displayMessage(e1); } } }); GridData gd_btnCSG58 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnCSG58.heightHint = 30; btnCSG58.setLayoutData(gd_btnCSG58); btnCSG59 = new Button(composite_11, SWT.NONE); btnCSG59.setText("G59"); btnCSG59.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { try { getController().setCoordinateSystem(EnumCoordinateSystem.G59); } catch (GkException e1) { displayMessage(e1); } } }); GridData gd_btnCSG59 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnCSG59.heightHint = 30; btnCSG59.setLayoutData(gd_btnCSG59); Composite composite_12 = new Composite(grpCoordinatesSystem, SWT.NONE); composite_12.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true, 1, 1)); GridLayout gl_composite_12 = new GridLayout(1, false); gl_composite_12.verticalSpacing = 2; gl_composite_12.marginHeight = 2; gl_composite_12.marginWidth = 0; gl_composite_12.horizontalSpacing = 0; composite_12.setLayout(gl_composite_12); btnResetCsZero = new Button(composite_12, SWT.NONE); btnResetCsZero.setText("Set current zero"); btnResetCsZero.addMouseListener( new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { try { getController().zeroCoordinateSystem(); } catch (GkException e1) { displayMessage(e1); } } }); GridData gd_btnResetCsZero = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1); gd_btnResetCsZero.heightHint = 35; gd_btnNewButton_1.heightHint = 35; btnResetCsZero.setLayoutData(gd_btnResetCsZero); btnResetCsZero.setBounds(0, 0, 75, 25); composite_10 = new Composite(composite, SWT.NONE); GridData gd_composite_10 = new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1); gd_composite_10.widthHint = 140; composite_10.setLayoutData(gd_composite_10); GridLayout gl_composite_10 = new GridLayout(1, false); gl_composite_10.verticalSpacing = 4; gl_composite_10.marginWidth = 2; gl_composite_10.marginHeight = 2; gl_composite_10.horizontalSpacing = 4; composite_10.setLayout(gl_composite_10); Group grpControls = new Group(composite_10, SWT.NONE); grpControls.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); grpControls.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD)); grpControls.setLayout(new GridLayout(1, false)); grpControls.setText("Controls"); Composite composite_8 = new Composite(grpControls, SWT.NONE); composite_8.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); GridLayout gl_composite_8 = new GridLayout(2, true); gl_composite_8.verticalSpacing = 2; gl_composite_8.horizontalSpacing = 2; gl_composite_8.marginWidth = 0; gl_composite_8.marginHeight = 0; composite_8.setLayout(gl_composite_8); btnStart = new Button(composite_8, SWT.NONE); GridData gd_btnStart = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnStart.heightHint = 35; btnStart.setLayoutData(gd_btnStart); btnStart.setText("Resume"); btnPause = new Button(composite_8, SWT.NONE); GridData gd_btnPause = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnPause.heightHint = 35; btnPause.setLayoutData(gd_btnPause); btnPause.setText("Pause"); btnStop = new Button(grpControls, SWT.NONE); btnStop.setImage( ResourceManager.getPluginImage("org.goko.tools.commandpanel", "icons/stop.png")); btnStop.setForeground(SWTResourceManager.getColor(SWT.COLOR_RED)); GridData gd_btnStop = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnStop.heightHint = 35; btnStop.setLayoutData(gd_btnStop); btnStop.setText("Stop"); btnKillAlarm = new Button(grpControls, SWT.NONE); btnKillAlarm.setImage( ResourceManager.getPluginImage("org.goko.tools.commandpanel", "icons/bell--minus.png")); GridData gd_btnKillAlarm = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnKillAlarm.heightHint = 35; btnKillAlarm.setLayoutData(gd_btnKillAlarm); btnKillAlarm.setText("Kill alarm"); Group grpSpindle = new Group(composite_10, SWT.NONE); grpSpindle.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD)); grpSpindle.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); grpSpindle.setLayout(new FillLayout(SWT.HORIZONTAL)); grpSpindle.setText("Spindle"); Composite composite_3 = new Composite(grpSpindle, SWT.NONE); GridLayout gl_composite_3 = new GridLayout(2, true); gl_composite_3.marginWidth = 2; gl_composite_3.horizontalSpacing = 2; gl_composite_3.marginHeight = 2; composite_3.setLayout(gl_composite_3); btnSpindleOn = new Button(composite_3, SWT.NONE); btnSpindleOn.setText("On"); GridData gd_btnSpindleOn = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_btnSpindleOn.heightHint = 35; btnSpindleOn.setLayoutData(gd_btnSpindleOn); btnSpindleOff = new Button(composite_3, SWT.NONE); btnSpindleOff.setText("Off"); GridData gd_btnSpindleOff = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gd_btnSpindleOff.heightHint = 35; btnSpindleOff.setLayoutData(gd_btnSpindleOff); getController().initilizeValues(); if (getDataModel().getJogSpeed() != null) { jogSpeedSpinner.setSelection( (int) (getDataModel().getJogSpeed().doubleValue() * Math.pow(10, jogSpeedSpinner.getDigits()))); } initCustomBindings(part); enableAdaptiveSpinner(); }
@Override public void createPartControl(Composite parent) { Activator.getDefault() .getPreferenceStore() .addPropertyChangeListener( new IPropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent event) { if (event.getProperty() == "selectedfont") { FontData[] fonts = (FontData[]) event.getNewValue(); Font font = new Font(Display.getDefault(), fonts[0]); setFont(newPatientVisitComposite, font); } } }); final Composite composite = new Composite(parent, SWT.NONE); GridLayout compositeGL = new GridLayout(1, true); composite.setLayout(compositeGL); GridData compositeGD = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_BOTH); composite.setLayoutData(compositeGD); composite.setSize(composite.computeSize(parent.getSize().x, SWT.DEFAULT)); scrolledComposite = new ScrolledComposite(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_BOTH); scrolledComposite.setLayoutData(data); scrolledComposite.setSize(scrolledComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); newPatientVisitComposite = new Composite(scrolledComposite, SWT.NULL); GridLayout newPatientVisitCompositeGL = new GridLayout(1, false); newPatientVisitComposite.setLayout(newPatientVisitCompositeGL); GridData newPatientVisitCompositeGD = new GridData(GridData.FILL_BOTH); newPatientVisitComposite.setLayoutData(newPatientVisitCompositeGD); Group newPatientGroup = new Group(newPatientVisitComposite, SWT.NULL); newPatientGroup.setText("New / Search patient"); GridLayout newPatientGroupGL = new GridLayout(4, true); newPatientGroup.setLayout(newPatientGroupGL); GridData newPatientGroupGD = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL); newPatientGroupGD.verticalIndent = 0; newPatientGroup.setLayoutData(newPatientGroupGD); // new patient / search components Button radioButtonNewPatient = new Button(newPatientGroup, SWT.RADIO); radioButtonNewPatient.setText("New Patient"); GridData radioBtnNewPatientGD = new GridData(); radioBtnNewPatientGD.horizontalSpan = 2; radioButtonNewPatient.setLayoutData(radioBtnNewPatientGD); Button radioButtonSearch = new Button(newPatientGroup, SWT.RADIO); radioButtonSearch.setText("Search"); GridData radioBtnSearchGD = new GridData(); radioBtnSearchGD.horizontalSpan = 2; radioButtonSearch.setLayoutData(radioBtnSearchGD); Label lblName = new Label(newPatientGroup, SWT.NONE); lblName.setText("Name"); GridData lblNameGD = new GridData(); lblNameGD.horizontalSpan = 3; lblNameGD.verticalIndent = 5; lblName.setLayoutData(lblNameGD); Label lblId = new Label(newPatientGroup, SWT.NONE); lblId.setText("ID"); GridData lblIdGD = new GridData(); lblIdGD.horizontalSpan = 1; lblIdGD.verticalIndent = 5; lblId.setLayoutData(lblIdGD); textName = new Text(newPatientGroup, SWT.BORDER); GridData txtNameGD = new GridData(GridData.FILL_HORIZONTAL); txtNameGD.horizontalSpan = 3; txtNameGD.grabExcessHorizontalSpace = true; textName.setLayoutData(txtNameGD); textID = new Text(newPatientGroup, SWT.BORDER); GridData txtIDGD = new GridData(GridData.FILL_HORIZONTAL); txtIDGD.grabExcessHorizontalSpace = true; textID.setLayoutData(txtIDGD); Label lblStudyType = new Label(newPatientGroup, SWT.NONE); lblStudyType.setText("Study Type:"); GridData lblStudyTypeGD = new GridData(); lblStudyTypeGD.verticalIndent = 5; lblStudyType.setLayoutData(lblStudyTypeGD); final Combo selectStudyTypeForSearchingCombo = new Combo(newPatientGroup, SWT.READ_ONLY); GridData selectStudyTypeForSearchingComboGD = new GridData(GridData.FILL_HORIZONTAL); selectStudyTypeForSearchingComboGD.horizontalSpan = 2; selectStudyTypeForSearchingComboGD.verticalIndent = 5; selectStudyTypeForSearchingComboGD.grabExcessHorizontalSpace = true; selectStudyTypeForSearchingCombo.setLayoutData(selectStudyTypeForSearchingComboGD); final Button buttonSaveSearch = new Button(newPatientGroup, SWT.NONE); GridData buttonSaveSearchGD = new GridData(GridData.FILL_HORIZONTAL); buttonSaveSearchGD.horizontalSpan = 1; buttonSaveSearchGD.verticalIndent = 5; buttonSaveSearchGD.grabExcessHorizontalSpace = true; buttonSaveSearch.setLayoutData(buttonSaveSearchGD); buttonSaveSearch.setText("Save"); // search result components final TableViewer tableViewer = new TableViewer(newPatientGroup, SWT.BORDER | SWT.FULL_SELECTION); tableViewer.setColumnProperties(new String[] {"Name", "ID"}); Table table = tableViewer.getTable(); GridData tableGD = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); tableGD.grabExcessHorizontalSpace = true; tableGD.horizontalSpan = 4; tableGD.verticalIndent = 10; tableGD.heightHint = 125; table.setLayoutData(tableGD); // select study combo Label lblSelectStudy = new Label(newPatientGroup, SWT.NONE); lblSelectStudy.setText("Select Study"); GridData lblSelectStudyGD = new GridData(); lblSelectStudyGD.verticalIndent = 5; lblSelectStudy.setLayoutData(lblSelectStudyGD); final ComboViewer selectStudyFromSearchResultsComboViewer = new ComboViewer(newPatientGroup, SWT.READ_ONLY); GridData selectStudyFromSearchResultsComboViewerGD = new GridData(GridData.FILL_HORIZONTAL); selectStudyFromSearchResultsComboViewerGD.horizontalSpan = 3; selectStudyFromSearchResultsComboViewerGD.verticalIndent = 5; selectStudyFromSearchResultsComboViewerGD.grabExcessHorizontalSpace = true; selectStudyFromSearchResultsComboViewer .getControl() .setLayoutData(selectStudyFromSearchResultsComboViewerGD); // select series combo Label lblSelectSeries = new Label(newPatientGroup, SWT.NONE); lblSelectSeries.setText("Select Series"); GridData lblSelectSeriesGD = new GridData(); lblSelectSeriesGD.verticalIndent = 5; lblSelectSeries.setLayoutData(lblSelectSeriesGD); final ComboViewer selectSeriesComboViewer = new ComboViewer(newPatientGroup, SWT.READ_ONLY); GridData selectSeriesComboViewerGD = new GridData(GridData.FILL_HORIZONTAL); selectSeriesComboViewerGD.horizontalSpan = 3; selectSeriesComboViewerGD.verticalIndent = 5; selectSeriesComboViewerGD.grabExcessHorizontalSpace = true; selectSeriesComboViewer.getCombo().setLayoutData(selectSeriesComboViewerGD); // new study controls Group newStudyGroup = new Group(newPatientVisitComposite, SWT.NULL); newStudyGroup.setText("New Study"); GridLayout newStudyGroupGL = new GridLayout(4, true); newStudyGroup.setLayout(newStudyGroupGL); GridData newStudyGroupGD = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL); newStudyGroupGD.verticalIndent = 10; newStudyGroup.setLayoutData(newStudyGroupGD); Label lblNewStudyName = new Label(newStudyGroup, SWT.NONE); lblNewStudyName.setText("Study Name"); GridData lblNewStudyNameGD = new GridData(); lblNewStudyNameGD.verticalIndent = 5; lblNewStudyName.setLayoutData(lblNewStudyNameGD); final Text newStudyNameText = new Text(newStudyGroup, SWT.BORDER); GridData newStudyNameTextGD = new GridData(GridData.FILL_HORIZONTAL); newStudyNameTextGD.horizontalSpan = 3; newStudyNameTextGD.verticalIndent = 5; newStudyNameTextGD.grabExcessHorizontalSpace = true; newStudyNameText.setLayoutData(newStudyNameTextGD); Label lblNewStudyType = new Label(newStudyGroup, SWT.NONE); lblNewStudyType.setText("Study Type:"); GridData lblNewStudyTypeGD = new GridData(); lblNewStudyTypeGD.verticalIndent = 5; lblNewStudyType.setLayoutData(lblNewStudyTypeGD); final Combo selectNewStudyTypeCombo = new Combo(newStudyGroup, SWT.READ_ONLY); GridData selectNewStudyTypeComboGD = new GridData(GridData.FILL_HORIZONTAL); selectNewStudyTypeComboGD.horizontalSpan = 2; selectNewStudyTypeComboGD.verticalIndent = 5; selectNewStudyTypeComboGD.grabExcessHorizontalSpace = true; selectNewStudyTypeCombo.setLayoutData(selectNewStudyTypeComboGD); final DateTime newStudyDateTimeDate = new DateTime(newStudyGroup, SWT.BORDER | SWT.DATE | SWT.DROP_DOWN); GridData dateTimeDateGD = new GridData(GridData.FILL_HORIZONTAL); dateTimeDateGD.grabExcessHorizontalSpace = true; dateTimeDateGD.verticalIndent = 5; newStudyDateTimeDate.setLayoutData(dateTimeDateGD); final Button btnSaveStudy = new Button(newStudyGroup, SWT.NONE); GridData btnSaveStudyGD = new GridData(GridData.FILL_HORIZONTAL); btnSaveStudyGD.horizontalSpan = 1; btnSaveStudyGD.verticalIndent = 5; btnSaveStudyGD.grabExcessHorizontalSpace = true; btnSaveStudy.setLayoutData(btnSaveStudyGD); btnSaveStudy.setText("Save Study"); // new series controls Group newSeriesGroup = new Group(newPatientVisitComposite, SWT.NULL); newSeriesGroup.setText("New Series"); GridLayout newSeriesGroupGL = new GridLayout(4, true); newSeriesGroup.setLayout(newSeriesGroupGL); GridData newSeriesGroupGD = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL); newSeriesGroupGD.verticalIndent = 10; newSeriesGroup.setLayoutData(newSeriesGroupGD); Label lblNewSeriesName = new Label(newSeriesGroup, SWT.NONE); lblNewSeriesName.setText("Series Name"); GridData lblNewSeriesNameGD = new GridData(); lblNewSeriesNameGD.verticalIndent = 5; lblNewSeriesName.setLayoutData(lblNewSeriesNameGD); final Text newSeriesNameText = new Text(newSeriesGroup, SWT.BORDER); GridData newSeriesNameTextGD = new GridData(GridData.FILL_HORIZONTAL); newSeriesNameTextGD.horizontalSpan = 3; newSeriesNameTextGD.verticalIndent = 5; newSeriesNameTextGD.grabExcessHorizontalSpace = true; newSeriesNameText.setLayoutData(newSeriesNameTextGD); Label lblNewSeriesTime = new Label(newSeriesGroup, SWT.NONE); lblNewSeriesTime.setText("Series Date Time"); GridData lblNewSeriesTimeGD = new GridData(); lblNewSeriesTimeGD.verticalIndent = 5; lblNewSeriesTime.setLayoutData(lblNewSeriesTimeGD); final DateTime newSeriesDateTimeDate = new DateTime(newSeriesGroup, SWT.BORDER | SWT.DATE | SWT.DROP_DOWN); GridData seriesDateGD = new GridData(); seriesDateGD.horizontalSpan = 1; // seriesDateGD.grabExcessHorizontalSpace = true; seriesDateGD.verticalIndent = 5; newSeriesDateTimeDate.setLayoutData(seriesDateGD); final DateTime newSeriesDateTimeTime = new DateTime(newSeriesGroup, SWT.BORDER | SWT.TIME | SWT.DROP_DOWN); GridData seriesTimeGD = new GridData(); seriesTimeGD.horizontalSpan = 1; // seriesTimeGD.grabExcessHorizontalSpace = true; seriesTimeGD.verticalIndent = 5; newSeriesDateTimeTime.setLayoutData(seriesTimeGD); Label placeHolder = new Label(newSeriesGroup, SWT.NONE); GridData placeHolderGD = new GridData(GridData.FILL_HORIZONTAL); placeHolderGD.horizontalSpan = 1; placeHolderGD.grabExcessHorizontalSpace = true; placeHolder.setLayoutData(placeHolderGD); Label lblNewSeriesDescription = new Label(newSeriesGroup, SWT.NONE); lblNewSeriesDescription.setText("Series Description"); GridData lblNewSeriesDescriptionGD = new GridData(); lblNewSeriesDescriptionGD.grabExcessVerticalSpace = true; lblNewSeriesDescriptionGD.verticalSpan = 15; lblNewSeriesDescriptionGD.verticalAlignment = SWT.BEGINNING; lblNewSeriesDescriptionGD.verticalIndent = 5; lblNewSeriesDescription.setLayoutData(lblNewSeriesDescriptionGD); final Text newSeriesNameDescription = new Text(newSeriesGroup, SWT.BORDER | SWT.V_SCROLL | SWT.MULTI); GridData newSeriesNameDescriptionGD = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); newSeriesNameDescriptionGD.horizontalSpan = 3; newSeriesNameDescriptionGD.verticalIndent = 5; newSeriesNameDescriptionGD.verticalSpan = 15; newSeriesNameDescriptionGD.grabExcessHorizontalSpace = true; newSeriesNameDescription.setLayoutData(newSeriesNameDescriptionGD); Label lblPhotosLocation = new Label(newSeriesGroup, SWT.NONE); lblPhotosLocation.setText("Photos Location"); GridData lblPhotosLocationGD = new GridData(); lblPhotosLocationGD.horizontalSpan = 1; lblPhotosLocationGD.verticalIndent = 5; lblPhotosLocation.setLayoutData(lblPhotosLocationGD); final Text textPhotosLocation = new Text(newSeriesGroup, SWT.BORDER); GridData textPhotosLocationGD = new GridData(GridData.FILL_HORIZONTAL); textPhotosLocationGD.horizontalSpan = 1; textPhotosLocationGD.verticalIndent = 5; textPhotosLocationGD.grabExcessHorizontalSpace = true; textPhotosLocation.setLayoutData(textPhotosLocationGD); final Button buttonBrowse = new Button(newSeriesGroup, SWT.NONE); GridData btnBrowseGD = new GridData(GridData.FILL_HORIZONTAL); btnBrowseGD.horizontalSpan = 1; btnBrowseGD.verticalIndent = 5; btnBrowseGD.grabExcessHorizontalSpace = true; buttonBrowse.setLayoutData(btnBrowseGD); buttonBrowse.setText("Browse"); final Button buttonLoad = new Button(newSeriesGroup, SWT.NONE); GridData btnLoadGD = new GridData(GridData.FILL_HORIZONTAL); btnLoadGD.horizontalSpan = 1; btnLoadGD.verticalIndent = 5; btnLoadGD.grabExcessHorizontalSpace = true; buttonLoad.setLayoutData(btnLoadGD); buttonLoad.setText("Load"); final Button buttnoSaveSeries = new Button(newSeriesGroup, SWT.NONE); GridData btnSaveSeriesGD = new GridData(GridData.FILL_HORIZONTAL); btnSaveSeriesGD.horizontalSpan = 1; btnSaveSeriesGD.verticalIndent = 5; btnSaveSeriesGD.grabExcessHorizontalSpace = true; buttnoSaveSeries.setLayoutData(btnSaveSeriesGD); buttnoSaveSeries.setText("Save Series"); // set defaults radioButtonNewPatient.setSelection(true); selectStudyTypeForSearchingCombo.setEnabled(false); tableViewer.getTable().setEnabled(false); selectStudyFromSearchResultsComboViewer.getControl().setEnabled(false); selectSeriesComboViewer.getControl().setEnabled(false); // set size Point size = newPatientVisitComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT); scrolledComposite.setMinSize(size); scrolledComposite.setContent(newPatientVisitComposite); scrolledComposite.layout(true); scrolledComposite.addListener( SWT.Activate, new Listener() { public void handleEvent(Event e) { scrolledComposite.setFocus(); } }); final IPatientService pService = (IPatientService) PlatformUI.getWorkbench().getService(IPatientService.class); // browse button clicked buttonBrowse.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { final FileDialog dialog = new FileDialog(getSite().getShell(), SWT.OPEN | SWT.MULTI); final String lastSelectedFilePath = dialog.open(); // create the structure for files Display.getDefault() .asyncExec( new Runnable() { @Override public void run() { String[] selectedFileNames = dialog.getFileNames(); if (selectedFileNames != null && selectedFileNames.length > 0) { textPhotosLocation.setText(lastSelectedFilePath); String dirName = lastSelectedFilePath.substring( 0, lastSelectedFilePath.lastIndexOf(File.separator) + 1); if (loadedPhotosList != null) { loadedPhotosList.clear(); } else { loadedPhotosList = new ArrayList<String>(); } for (String selectedFileName : selectedFileNames) { loadedPhotosList.add(dirName.concat(selectedFileName)); } } } }); } }); // load button clicked buttonLoad.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { loadPhotos(); } }); // save radio selected radioButtonNewPatient.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { selectStudyTypeForSearchingCombo.setEnabled(false); tableViewer.getTable().setEnabled(false); selectStudyFromSearchResultsComboViewer.getControl().setEnabled(false); selectSeriesComboViewer.getControl().setEnabled(false); buttonSaveSearch.setText("Save"); } }); // search radio selected radioButtonSearch.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { selectStudyTypeForSearchingCombo.setEnabled(true); tableViewer.getTable().setEnabled(true); selectStudyFromSearchResultsComboViewer.getControl().setEnabled(true); selectSeriesComboViewer.getControl().setEnabled(true); buttonSaveSearch.setText("Search"); } }); buttonSaveSearch.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (buttonSaveSearch.getText().equals("Save")) { String newPatientName = textName.getText(); String ID = textID.getText(); if (newPatientName == null || "".equals(newPatientName)) { Util.showMessage("Name can't be empty!"); return; } if (ID == null || "".equals(ID)) { ID = String.valueOf(UUID.randomUUID().getMostSignificantBits()); } IPatient newPatient = PatientFactory.getInstance().create(ID, newPatientName, null); // IPatientService pservice = Activator.getDefault().getPatientService(); if (pService != null) { IStatus status = null; try { status = pService.saveNewPatient(newPatient); } catch (IOException e1) { e1.printStackTrace(); } if (status == Status.OK_STATUS) { // StatusLineContribution slc = (StatusLineContribution) // Activator.getDefault().getStatusItem(); // slc.setText("Active Patient : " + newPatient.getName()); // slc.setVisible(true); updateStatus("Active Patient : " + newPatient.getName()); activePatient = newPatient; textName.setText(""); textID.setText(""); } else { // XXX log } } else { Util.showMessage("Patient service is null :-("); } } else { String searchName = textName.getText(); String searchID = textID.getText(); // IPatientService pService = Activator.getDefault().getPatientService(); try { List<IPatient> patientSearchResults = pService.searchPatients(searchName, searchID); if (patientSearchResults != null) { tableViewer.setContentProvider(new ArrayContentProvider()); tableViewer.getTable().setLinesVisible(true); tableViewer.getTable().setHeaderVisible(true); // create columns createPatientColumns(tableViewer); // set input tableViewer.setInput(patientSearchResults); tableViewer.refresh(); } else { // XXX log and inform user null was returned } } catch (Exception e1) { // StatusLineContribution slc = (StatusLineContribution) // Activator.getDefault().getStatusItem(); // slc.setText("Active Patient : " + e1.getMessage()); // slc.setVisible(true); updateStatus("Active Patient : " + e1.getMessage()); } } } }); btnSaveStudy.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStudy newStudy = StudyFactory.getInstance().create(null); newStudy.setStudyName(newStudyNameText.getText()); // get selected date for new study Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, newStudyDateTimeDate.getDay()); calendar.set(Calendar.MONTH, newStudyDateTimeDate.getMonth()); calendar.set(Calendar.YEAR, newStudyDateTimeDate.getYear()); Date studyDate = calendar.getTime(); newStudy.setStudyDate(studyDate); newStudy.setStudyType(selectNewStudyTypeCombo.getText()); newStudy.setPatientID(activePatient.getId()); newStudy.setNumberOfSeries((Integer) 0); newStudy.setStudyID(String.valueOf(UUID.randomUUID().getLeastSignificantBits())); // IPatientService pService = Activator.getDefault().getPatientService(); IStatus status = null; try { status = pService.saveNewStudy(newStudy); } catch (IOException e1) { e1.printStackTrace(); } if (status == Status.OK_STATUS) { activeStudy = newStudy; String statusLineText = "Active Patient : " + activePatient.getName() + " Active Study : " + activeStudy.toString(); updateStatus(statusLineText); // StatusLineContribution slc = (StatusLineContribution) // Activator.getDefault().getStatusItem(); // slc.setText(statusLineText); // slc.setVisible(true); newStudyNameText.setText(""); selectNewStudyTypeCombo.clearSelection(); } else { // XXX log } } }); buttnoSaveSeries.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { ISeries newSeries = SeriesFactory.getInstance().create(null); newSeries.setSeriesName(newSeriesNameText.getText()); newSeries.setNotes(newSeriesNameDescription.getText()); newSeries.setParentStudyID(""); newSeries.setPhotos(selectedPhotosFilesList); newSeries.setSeriesID(String.valueOf(UUID.randomUUID().getMostSignificantBits())); newSeries.setParentStudyID(activeStudy.getStudyID()); // get selected date for new study Calendar calendar = Calendar.getInstance(); // calendar.set(Calendar.DAY_OF_MONTH, newSeriesDateTimeTime.getDay()); // calendar.set(Calendar.MONTH, newSeriesDateTimeTime.getMonth()); // calendar.set(Calendar.YEAR, newSeriesDateTimeTime.getYear()); calendar.set(Calendar.DAY_OF_MONTH, newSeriesDateTimeDate.getDay()); calendar.set(Calendar.MONTH, newSeriesDateTimeDate.getMonth()); calendar.set(Calendar.YEAR, newSeriesDateTimeDate.getYear()); calendar.set(Calendar.HOUR_OF_DAY, newSeriesDateTimeTime.getHours()); calendar.set(Calendar.MINUTE, newSeriesDateTimeTime.getMinutes()); calendar.set(Calendar.SECOND, newSeriesDateTimeTime.getSeconds()); newSeries.setSeriesTime(calendar.getTime()); // IPatientService pService = Activator.getDefault().getPatientService(); IStatus status = null; try { status = pService.saveNewSeries(newSeries); } catch (IOException e1) { e1.printStackTrace(); } if (status == Status.OK_STATUS) { // clear UI fileds newSeriesNameText.setText(""); newSeriesNameDescription.setText(""); textPhotosLocation.setText(""); } else { // XXX log } }; }); tableViewer .getTable() .addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { StructuredSelection selection = (StructuredSelection) tableViewer.getSelection(); if (selection.getFirstElement() instanceof IPatient) { IPatient selectedPatient = (IPatient) selection.getFirstElement(); activePatient = selectedPatient; // StatusLineContribution slc = (StatusLineContribution) // Activator.getDefault().getStatusItem(); // slc.setText("Active Patient : " + activePatient.getName()); // slc.setVisible(true); updateStatus("Active Patient : " + activePatient.getName()); selectSeriesComboViewer.getCombo().clearSelection(); selectSeriesComboViewer.getCombo().removeAll(); // get all studies of this patient // IPatientService pService = Activator.getDefault().getPatientService(); try { List<IStudy> studiesForSelectedpatient = pService.getStudiesForPatient(selectedPatient); selectStudyFromSearchResultsComboViewer.setContentProvider( ArrayContentProvider.getInstance()); selectStudyFromSearchResultsComboViewer.setLabelProvider( new LabelProvider() { public String getText(Object element) { return ((IStudy) element).toString(); }; }); selectStudyFromSearchResultsComboViewer.setInput(studiesForSelectedpatient); } catch (Exception e1) { updateStatus(e1.getMessage()); // slc.setText(e1.getMessage()); // slc.setVisible(true); } } } }); selectStudyFromSearchResultsComboViewer .getCombo() .addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { StructuredSelection selection = (StructuredSelection) selectStudyFromSearchResultsComboViewer.getSelection(); if (selection.getFirstElement() instanceof IStudy) { IStudy selectedStudy = (IStudy) selection.getFirstElement(); activeStudy = selectedStudy; // StatusLineContribution slc = (StatusLineContribution) // Activator.getDefault().getStatusItem(); // slc.setText("Active Patient : " + activePatient.getName() + // " Active Study : " + activeStudy.toString()); // slc.setVisible(true); updateStatus( "Active Patient : " + activePatient.getName() + " Active Study : " + activeStudy.toString()); // get all series for this study // IPatientService pService = Activator.getDefault().getPatientService(); try { List<ISeries> seriesForSelectedStudy = pService.getSeriesForStudy(selectedStudy); selectSeriesComboViewer.setContentProvider(ArrayContentProvider.getInstance()); selectSeriesComboViewer.setLabelProvider( new LabelProvider() { public String getText(Object element) { return ((ISeries) element).toString(); }; }); selectSeriesComboViewer.setInput(seriesForSelectedStudy); selectSeriesComboViewer.refresh(); } catch (Exception e1) { // slc.setText(e1.getMessage()); updateStatus(e1.getMessage()); } } } }); selectSeriesComboViewer .getCombo() .addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { StructuredSelection selection = (StructuredSelection) selectSeriesComboViewer.getSelection(); if (selection.getFirstElement() instanceof ISeries) { ISeries selectedSeries = (ISeries) selection.getFirstElement(); if (loadedPhotosList != null) { loadedPhotosList.clear(); } else { loadedPhotosList = new ArrayList<String>(); } // load photos for selected series for (Object selectedFileName : selectedSeries.getPhotos()) { loadedPhotosList.add(selectedFileName.toString()); } loadPhotos(); } } }); }