/** This method initializes main controls of the main window */ private void initControlsArea( final Composite controlsArea, final Combo feederSelectionCombo, final Button startStopButton, final StartStopScanningAction startStopScanningAction, final ToolsActions.Preferences preferencesListener, final ToolsActions.ChooseFetchers chooseFetchersListsner) { controlsArea.setLayoutData( LayoutHelper.formData( new FormAttachment(feederArea), new FormAttachment(100), new FormAttachment(0), new FormAttachment(feederArea, 0, SWT.BOTTOM))); controlsArea.setLayout(LayoutHelper.formLayout(7, 3, 3)); // steal the height from the second child of the FeederGUI - this must be the first edit box. // this results in better visual alignment with FeederGUIs Control secondControl = feederRegistry.current().getChildren()[1]; // initialize global standard button height buttonHeight = secondControl.getSize().y + 2; // feeder selection combobox this.feederSelectionCombo = feederSelectionCombo; feederSelectionCombo.pack(); IPFeederSelectionListener feederSelectionListener = new IPFeederSelectionListener(); feederSelectionCombo.addSelectionListener(feederSelectionListener); // initialize the selected feeder GUI feederSelectionCombo.select(guiConfig.activeFeeder); feederSelectionCombo.setToolTipText(Labels.getLabel("combobox.feeder.tooltip")); // start/stop button this.startStopButton = startStopButton; shell.setDefaultButton(startStopButton); startStopButton.addSelectionListener(startStopScanningAction); // traverse the button before the combo (and don't traverse other buttons at all) controlsArea.setTabList(new Control[] {startStopButton, feederSelectionCombo}); prefsButton = new ToolBar(controlsArea, SWT.FLAT); prefsButton.setCursor(prefsButton.getDisplay().getSystemCursor(SWT.CURSOR_HAND)); ToolItem item = new ToolItem(prefsButton, SWT.PUSH); item.setImage(new Image(null, Labels.getInstance().getImageAsStream("button.preferences.img"))); item.setToolTipText(Labels.getLabel("title.preferences")); item.addListener(SWT.Selection, preferencesListener); fetchersButton = new ToolBar(controlsArea, SWT.FLAT); fetchersButton.setCursor(fetchersButton.getDisplay().getSystemCursor(SWT.CURSOR_HAND)); item = new ToolItem(fetchersButton, SWT.PUSH); item.setImage(new Image(null, Labels.getInstance().getImageAsStream("button.fetchers.img"))); item.setToolTipText(Labels.getLabel("title.fetchers.select")); item.addListener(SWT.Selection, chooseFetchersListsner); feederSelectionListener.widgetSelected(null); }
/** * Computes the common width hint (the largest width) and set it as {@link GridData#widthHint} for * all combos, if the combo has a {@link GridData} as {@link LayoutData}. */ protected void adjustComboWidth(List<Combo> combos) { int withHint = SWT.DEFAULT; for (Combo comboBox : combos) { comboBox.pack(true); Point computeSize = comboBox.computeSize(SWT.DEFAULT, SWT.DEFAULT); int pixels = computeSize.x; if (pixels > withHint) { withHint = pixels; } } for (Combo comboBox : combos) { Object ld = comboBox.getLayoutData(); if (ld instanceof GridData) { GridData layoutData = (GridData) ld; layoutData.widthHint = withHint; } } }
public parseGroup(Composite parent) { super(parent, SWT.NONE); Group group = new Group(this, SWT.SHADOW_ETCHED_IN); group.setText("Set predicates"); GridLayout layout = new GridLayout(); layout.numColumns = 3; group.setLayout(layout); final Combo predCombo = new Combo(group, SWT.NONE); final Combo placeCombo = new Combo(group, SWT.NONE); // predCombo.setLocation(5,15); predCombo.pack(); final Combo opCombo = new Combo(group, SWT.NONE); opCombo.add(">"); opCombo.add(">="); opCombo.add("="); opCombo.add("!="); opCombo.add("<="); opCombo.add("<"); // opCombo.setLocation(30,15); opCombo.pack(); final Spinner nSpinner = new Spinner(group, SWT.NONE); // nSpinner.setLocation(55,15); nSpinner.setDigits(0); nSpinner.pack(); Label label = new Label(group, SWT.NONE); label.setText("Text\nText\nqwertyuiopiuytrdsadfghjk"); // label.setAlignment(SWT.CENTER); // label.setLocation(5, 60); label.pack(); final Button addButton = new Button(group, SWT.PUSH); addButton.setText("Add predicate"); addButton.addSelectionListener( new SelectionListener() { public void widgetSelected(SelectionEvent e) { if (predCombo.getSelectionIndex() >= 0 && opCombo.getSelectionIndex() >= 0) { predicates.add( new AtomicPredicate( // TODO predCombo.getItem(predCombo.getSelectionIndex()))); } // } public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); // addBuuton action final Button cButton = new Button(group, SWT.PUSH); cButton.setText("Check formula"); cButton.setEnabled(false); Button pButton = new Button(group, SWT.PUSH); pButton.setText("Parse formula"); // button1.setLocation(20, 45); pButton.addSelectionListener( new SelectionListener() { public void widgetSelected(SelectionEvent e) { CTLLexer lexer = null; try { lexer = new CTLLexer(new ANTLRFileStream("test.txt")); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } CommonTokenStream tokens = new CommonTokenStream(lexer); CTLParser p = new CTLParser(tokens); p.setBuildParseTree(true); p.addParseListener(new CTLBaseListener()); ParserRuleContext t = p.f(); // ctl=((CTLBaseListener)(p.getParseListeners().get(0))) CTLBaseListener q = (CTLBaseListener) (p.getParseListeners().get(0)); PrintWriter zzz = null; try { zzz = new PrintWriter(new FileOutputStream("parseTree.txt")); showMessage("Done"); } catch (FileNotFoundException e1) { System.out.println("parseTree.txt"); } zzz.print(q.st + "\r\n}"); zzz.close(); ctl = q.getFormula(); for (String ap : q.atomic) { predCombo.add(ap); } cButton.setEnabled(true); // } public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); pButton.pack(); // button2.setBounds(20, 75, 90, 30); group.pack(); }