Search in sources :

Example 1 with FormAttachment

use of org.eclipse.swt.layout.FormAttachment in project cogtool by cogtool.

the class ResearchDialog method buildDialog.

@Override
public void buildDialog() {
    dialog.setLayout(new FormLayout());
    Button okButton = new Button(dialog, SWT.PUSH);
    okButton.setText(L10N.get("PREFDG.OK", "OK"));
    dialog.setDefaultButton(okButton);
    okButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            // TODO: updateValues() can throw IllegalStateException!
            userResponse = (updateValues() ? Boolean.TRUE : null);
            dialog.close();
        }
    });
    Button cancelButton = new Button(dialog, SWT.PUSH);
    cancelButton.setText(L10N.get("PREFDG.Cancel", "Cancel"));
    cancelButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            userResponse = null;
            dialog.close();
        }
    });
    Button restoreDefaultsButton = new Button(dialog, SWT.PUSH);
    restoreDefaultsButton.setText(L10N.get("PREFDG.RestoreDefaultsButton", "Reset to Default Values"));
    restoreDefaultsButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            restoreDefaults();
        }
    });
    allowResearchCmds = new Button(dialog, SWT.CHECK);
    allowResearchCmds.setText(L10N.get("PREFDG.Research", "Enable research commands"));
    allowResearchCmds.setSelection(CogToolPref.RESEARCH.getBoolean());
    allowResearchCmds.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            updateEnabled();
        }
    });
    useKeypad = new Button(dialog, SWT.CHECK);
    useKeypad.setText(L10N.get("FREFDG.UseKeypad", "Allow screen keyboard for text entry"));
    useKeypad.setSelection(CogToolPref.USE_KEYPAD.getBoolean());
    hcipaCheckbox = new Button(dialog, SWT.CHECK);
    hcipaCheckbox.setText(L10N.get("PREFDG.HCIPA", "HCIPA"));
    hcipaCheckbox.setSelection(CogToolPref.HCIPA.getBoolean());
    systemWaitVisionOnlyCheckbox = new Button(dialog, SWT.CHECK);
    systemWaitVisionOnlyCheckbox.setText(L10N.get("PREFDG.SYSWVO", "Mobile phone timings"));
    systemWaitVisionOnlyCheckbox.setSelection(CogToolPref.SYSWVO.getBoolean());
    enableComputeScriptsCheckbox = new Button(dialog, SWT.CHECK);
    enableComputeScriptsCheckbox.setText(L10N.get("PREFDG.COMPSCR", "Compute scripts on XML import"));
    enableComputeScriptsCheckbox.setSelection(CogToolPref.COMPSCR.getBoolean());
    generateThinksOnImportCheckbox = new Button(dialog, SWT.CHECK);
    generateThinksOnImportCheckbox.setText(L10N.get("PREFDG.GENSTEPS", "Generate implied Thinks on Import from XML"));
    generateThinksOnImportCheckbox.setSelection(CogToolPref.GENERATE_THINKS_ON_IMPORT.getBoolean());
    enableTracingCheckbox = new Button(dialog, SWT.CHECK);
    enableTracingCheckbox.setText(L10N.get("PREFDG.TRACE", "Emit ACT-R Traces"));
    enableTracingCheckbox.setSelection(CogToolPref.IS_TRACING.getBoolean());
    enableLoggingCheckbox = new Button(dialog, SWT.CHECK);
    enableLoggingCheckbox.setText(L10N.get("PREFDG.ENABLELOG", "Emit detailed log file"));
    enableLoggingCheckbox.setSelection(CogToolPref.IS_LOGGING.getBoolean());
    Label logDirectoryLabel = new Label(dialog, SWT.NONE);
    logDirectoryLabel.setText(L10N.get("PREFDG.LogDirectory", "Log file Directory:"));
    logDirectoryEntry = new ManagedText(dialog, SWT.BORDER, Keypad.FULL_KEYPAD);
    String directory = CogToolPref.LOG_DIRECTORY.getString();
    if (directory != null) {
        logDirectoryEntry.setText(directory);
    }
    Button logBrowseButton = new Button(dialog, SWT.PUSH);
    logBrowseButton.setText(L10N.get("PREFDG.ChooseLog", "Choose..."));
    logBrowseButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            String dir = interaction.askUserForDirectory("Log Files", "Choose the directory into which to write log files.");
            if (dir != null) {
                logDirectoryEntry.setText(dir);
            }
        }
    });
    useEMMACheckbox = new Button(dialog, SWT.CHECK);
    useEMMACheckbox.setText(L10N.get("PREFDG.EMMA", "Use EMMA to model vision"));
    useEMMACheckbox.setSelection(CogToolPref.USE_EMMA.getBoolean());
    Label actrDebugLevelLabel = new Label(dialog, SWT.NONE);
    actrDebugLevelLabel.setText(L10N.get("PREFDG.DEBUGLVL", "ACT-R debug level:"));
    actrDebugLevelCombo = new Combo(dialog, SWT.READ_ONLY);
    actrDebugLevelCombo.add("0");
    actrDebugLevelCombo.add("1");
    actrDebugLevelCombo.add("2");
    actrDebugLevelCombo.add("3");
    actrDebugLevelCombo.select(CogToolPref.ACTR_DEBUG_LEVEL.getInt());
    Label actrTimeoutLabel = new Label(dialog, SWT.NONE);
    actrTimeoutLabel.setText(L10N.get("PREFDG.ACTRTIMEOUT", "ACT-R timeout:"));
    actrTimeoutEntry = new IntegerEntry(dialog, SWT.BORDER);
    actrTimeoutEntry.setAllowNegative(false);
    actrTimeoutEntry.setValue(CogToolPref.ACTR_TIMEOUT.getInt());
    Label actrTimeoutUnitsLabel = new Label(dialog, SWT.NONE);
    actrTimeoutUnitsLabel.setText("msec");
    alternativeParametersCheckbox = new Button(dialog, SWT.CHECK);
    alternativeParametersCheckbox.setText(L10N.get("PREFDG.ALT_PARM", "Use alternative ACT-R parameters"));
    alternativeParametersCheckbox.setSelection(CogToolPref.ACTR_ALTERNATIVE_PARAMETERS.getBoolean());
    alternativeParametersCheckbox.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            updateEnabled();
        }
    });
    Label visualAttentionLabel = new Label(dialog, SWT.NONE);
    visualAttentionLabel.setText(L10N.get("PREFDG.VISATTN", "ACT-R Visual Attention:"));
    visualAttentionEntry = new IntegerEntry(dialog, SWT.BORDER);
    visualAttentionEntry.setAllowNegative(false);
    visualAttentionEntry.setValue(CogToolPref.VISUAL_ATTENTION.getInt());
    Label visualAttentionUnitsLabel = new Label(dialog, SWT.NONE);
    visualAttentionUnitsLabel.setText(String.format("msec (default %d)", CogToolPref.VISUAL_ATTENTION.getIntDefault()));
    Label motorInitiationLabel = new Label(dialog, SWT.NONE);
    motorInitiationLabel.setText(L10N.get("PREFDG.MOTORINIT", "ACT-R Motor Initiation:"));
    motorInitiationEntry = new IntegerEntry(dialog, SWT.BORDER);
    motorInitiationEntry.setAllowNegative(false);
    motorInitiationEntry.setValue(CogToolPref.MOTOR_INITIATION.getInt());
    Label motorInitiationUnitsLabel = new Label(dialog, SWT.NONE);
    motorInitiationUnitsLabel.setText(String.format("msec (default %d)", CogToolPref.MOTOR_INITIATION.getIntDefault()));
    Label peckFittsCoeffLabel = new Label(dialog, SWT.NONE);
    peckFittsCoeffLabel.setText(L10N.get("PREFDG.PECKFITTSCOEFF", "ACT-R peck Fitts coefficient:"));
    peckFittsCoeffEntry = new IntegerEntry(dialog, SWT.BORDER);
    peckFittsCoeffEntry.setAllowNegative(false);
    peckFittsCoeffEntry.setValue(CogToolPref.PECK_FITTS_COEFF.getInt());
    Label peckFittsCoeffUnitsLabel = new Label(dialog, SWT.NONE);
    peckFittsCoeffUnitsLabel.setText(String.format("msec (default %d)", CogToolPref.PECK_FITTS_COEFF.getIntDefault()));
    Label actrDATLabel = new Label(dialog, SWT.NONE);
    actrDATLabel.setText(L10N.get("PREFDG.DAT", "ACT-R dat:"));
    actrDATEntry = new IntegerEntry(dialog, SWT.BORDER);
    actrDATEntry.setAllowNegative(false);
    actrDATEntry.setValue(CogToolPref.ACTR_DAT.getInt());
    Label actrDATUnitsLabel = new Label(dialog, SWT.NONE);
    actrDATUnitsLabel.setText(String.format("msec (default %d)", CogToolPref.ACTR_DAT.getIntDefault()));
    cteSuppressNoiseCheckbox = new Button(dialog, SWT.CHECK);
    cteSuppressNoiseCheckbox.setText(L10N.get("PREFDG.CTE_SUPPRESS_NOISE", "Suppress noise in CogTool Explorer"));
    cteSuppressNoiseCheckbox.setSelection(CogToolPref.CTE_SUPPRESS_NOISE.getBoolean());
    cteSuppressNoninteractiveCheckbox = new Button(dialog, SWT.CHECK);
    cteSuppressNoninteractiveCheckbox.setText(L10N.get("PREFDG.CTE_SUPPRESS_NONINTERACTIVE", "Ignore non-interactive widgets with no display or auxilliary text in CogTool Explorer"));
    cteSuppressNoninteractiveCheckbox.setSelection(CogToolPref.CTE_SUPPRESS_NONINTERACTIVE.getBoolean());
    cteBackButtonSemantics = new Combo(dialog, SWT.READ_ONLY);
    cteBackButtonSemantics.add("Never go back");
    cteBackButtonSemantics.add("Use back button to go back");
    cteBackButtonSemantics.add("Go back implicitly");
    cteBackButtonSemantics.select(CogToolPref.CTE_BACK_BUTTON_SEMANTICS.getInt());
    Button cteBackButtonHelp = new Button(dialog, SWT.PUSH);
    cteBackButtonHelp.setText("?");
    cteBackButtonHelp.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            WindowUtil.presentInformationDialog(dialog, L10N.get("PREFDG.CTE_BACK_BUTTON_HELP_TITLE", "Back Button Help"), BACK_BUTTON_HELP_TEXT);
        }
    });
    Label cteBackButtonEntryLabel = new Label(dialog, SWT.NONE);
    cteBackButtonEntryLabel.setText(L10N.get("PREFDG.CTEBACKLABEL", "Back button label:"));
    cteBackButtonEntry = new ManagedText(dialog, (SWT.BORDER | SWT.MULTI | SWT.LEFT), Keypad.FULL_KEYPAD);
    cteBackButtonEntry.setText(CogToolPref.CTE_DEFAULT_BACK_LABEL.getString());
    Label pmiGSizeLabel = new Label(dialog, SWT.NONE);
    pmiGSizeLabel.setText(L10N.get("PREFDG.PMIGSIZE", "PMI-G size:"));
    pmiGSizeEntry = new DoubleEntry(dialog, SWT.BORDER);
    pmiGSizeEntry.setAllowNegative(false);
    double pmiGSize = CogToolPref.PMI_G_SIZE.getDouble();
    if (pmiGSize != CachedGoogleSimilarity.PMI_G_SIZE_AUTOMATIC) {
        pmiGSizeEntry.setValue((int) pmiGSize);
    }
    Label converterDirectoryLabel = new Label(dialog, SWT.NONE);
    converterDirectoryLabel.setText(L10N.get("PREFDG.ConverterDirectory", "Converter Directory:"));
    converterDirectoryEntry = new ManagedText(dialog, SWT.BORDER, Keypad.FULL_KEYPAD);
    //Set the text entry to be equal to the current specified directory
    directory = CogToolPref.CONVERTER_DIRECTORY.getString();
    if (directory != null) {
        converterDirectoryEntry.setText(directory);
    }
    Button convertBrowseButton = new Button(dialog, SWT.PUSH);
    convertBrowseButton.setText(L10N.get("PREFDG.ChooseConverter", "Choose..."));
    convertBrowseButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            String dir = interaction.askUserForDirectory("Import Converter Files", "Choose the directory that contains the converter files.");
            if (dir != null) {
                converterDirectoryEntry.setText(dir);
            }
        }
    });
    updateEnabled();
    FormData fd = new FormData();
    if (OSUtils.MACOSX) {
        fd.right = new FormAttachment(100, -18);
        fd.bottom = new FormAttachment(100, -10);
        okButton.setLayoutData(fd);
        fd = new FormData();
        fd.right = new FormAttachment(okButton, -8);
        fd.bottom = new FormAttachment(100, -10);
        cancelButton.setLayoutData(fd);
    } else {
        fd.left = new FormAttachment(50, -40);
        fd.bottom = new FormAttachment(100, -10);
        okButton.setLayoutData(fd);
        fd = new FormData();
        fd.left = new FormAttachment(okButton, 10);
        fd.bottom = new FormAttachment(100, -10);
        cancelButton.setLayoutData(fd);
    }
    fd = new FormData();
    fd.right = new FormAttachment(cancelButton, -108);
    fd.bottom = new FormAttachment(100, -10);
    restoreDefaultsButton.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(0, 20);
    fd.left = new FormAttachment(0, 20);
    allowResearchCmds.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(allowResearchCmds, 10);
    fd.left = new FormAttachment(0, 20);
    fd.right = new FormAttachment(100, -20);
    useKeypad.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(useKeypad, 10);
    fd.left = new FormAttachment(0, 20);
    hcipaCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(hcipaCheckbox, 10);
    fd.left = new FormAttachment(0, 20);
    systemWaitVisionOnlyCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(systemWaitVisionOnlyCheckbox, 15);
    fd.left = new FormAttachment(systemWaitVisionOnlyCheckbox, 0, SWT.LEFT);
    enableComputeScriptsCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(enableComputeScriptsCheckbox, 15);
    fd.left = new FormAttachment(enableComputeScriptsCheckbox, 0, SWT.LEFT);
    generateThinksOnImportCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(generateThinksOnImportCheckbox, 15);
    fd.left = new FormAttachment(generateThinksOnImportCheckbox, 0, SWT.LEFT);
    enableTracingCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(enableTracingCheckbox, 15);
    fd.left = new FormAttachment(enableTracingCheckbox, 0, SWT.LEFT);
    enableLoggingCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(enableLoggingCheckbox, 15);
    fd.left = new FormAttachment(enableLoggingCheckbox, 0, SWT.LEFT);
    logDirectoryLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(logDirectoryLabel, 0, SWT.CENTER);
    fd.left = new FormAttachment(logDirectoryLabel, 5, SWT.RIGHT);
    fd.right = new FormAttachment(logDirectoryLabel, 305, SWT.RIGHT);
    logDirectoryEntry.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(logDirectoryEntry, 0, SWT.CENTER);
    fd.left = new FormAttachment(logDirectoryEntry, 5, SWT.RIGHT);
    logBrowseButton.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(logDirectoryLabel, 15);
    fd.left = new FormAttachment(logDirectoryLabel, 0, SWT.LEFT);
    useEMMACheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(useEMMACheckbox, 15);
    fd.left = new FormAttachment(useEMMACheckbox, 0, SWT.LEFT);
    actrDebugLevelLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrDebugLevelLabel, 0, SWT.CENTER);
    fd.left = new FormAttachment(actrDebugLevelLabel, 5);
    actrDebugLevelCombo.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrDebugLevelLabel, 18);
    fd.left = new FormAttachment(actrDebugLevelLabel, 0, SWT.LEFT);
    actrTimeoutLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrTimeoutLabel, 0, SWT.CENTER);
    fd.left = new FormAttachment(actrTimeoutLabel, 5);
    fd.right = new FormAttachment(actrTimeoutLabel, 80, SWT.RIGHT);
    actrTimeoutEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrTimeoutLabel, 0, SWT.CENTER);
    fd.left = new FormAttachment(actrTimeoutEntry.getOuter(), 5);
    actrTimeoutUnitsLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrTimeoutLabel, 18);
    fd.left = new FormAttachment(actrTimeoutLabel, 0, SWT.LEFT);
    alternativeParametersCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(alternativeParametersCheckbox, 8);
    fd.left = new FormAttachment(alternativeParametersCheckbox, 215, SWT.LEFT);
    fd.right = new FormAttachment(alternativeParametersCheckbox, 265, SWT.LEFT);
    visualAttentionEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(visualAttentionEntry.getOuter(), 0, SWT.CENTER);
    fd.right = new FormAttachment(visualAttentionEntry.getOuter(), -5, SWT.LEFT);
    visualAttentionLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(visualAttentionEntry.getOuter(), 0, SWT.CENTER);
    fd.left = new FormAttachment(visualAttentionEntry.getOuter(), 5, SWT.RIGHT);
    visualAttentionUnitsLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(visualAttentionEntry.getOuter(), 4);
    fd.left = new FormAttachment(visualAttentionEntry.getOuter(), 0, SWT.LEFT);
    fd.right = new FormAttachment(visualAttentionEntry.getOuter(), 0, SWT.RIGHT);
    motorInitiationEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(motorInitiationEntry.getOuter(), 0, SWT.CENTER);
    fd.right = new FormAttachment(motorInitiationEntry.getOuter(), -5, SWT.LEFT);
    motorInitiationLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(motorInitiationEntry.getOuter(), 0, SWT.CENTER);
    fd.left = new FormAttachment(motorInitiationEntry.getOuter(), 5, SWT.RIGHT);
    motorInitiationUnitsLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(motorInitiationEntry.getOuter(), 4);
    fd.left = new FormAttachment(motorInitiationEntry.getOuter(), 0, SWT.LEFT);
    fd.right = new FormAttachment(motorInitiationEntry.getOuter(), 0, SWT.RIGHT);
    peckFittsCoeffEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(peckFittsCoeffEntry.getOuter(), 0, SWT.CENTER);
    fd.right = new FormAttachment(peckFittsCoeffEntry.getOuter(), -5, SWT.LEFT);
    peckFittsCoeffLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(peckFittsCoeffEntry.getOuter(), 0, SWT.CENTER);
    fd.left = new FormAttachment(peckFittsCoeffEntry.getOuter(), 5, SWT.RIGHT);
    peckFittsCoeffUnitsLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(peckFittsCoeffEntry.getOuter(), 4);
    fd.left = new FormAttachment(peckFittsCoeffEntry.getOuter(), 0, SWT.LEFT);
    fd.right = new FormAttachment(peckFittsCoeffEntry.getOuter(), 0, SWT.RIGHT);
    actrDATEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrDATEntry.getOuter(), 0, SWT.CENTER);
    fd.right = new FormAttachment(actrDATEntry.getOuter(), -5, SWT.LEFT);
    actrDATLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrDATEntry.getOuter(), 0, SWT.CENTER);
    fd.left = new FormAttachment(actrDATEntry.getOuter(), 5, SWT.RIGHT);
    actrDATUnitsLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(actrDATEntry.getOuter(), 18);
    fd.left = new FormAttachment(alternativeParametersCheckbox, 0, SWT.LEFT);
    cteSuppressNoiseCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(cteSuppressNoiseCheckbox, 18);
    fd.left = new FormAttachment(cteSuppressNoiseCheckbox, 0, SWT.LEFT);
    fd.right = new FormAttachment(100, -35);
    cteSuppressNoninteractiveCheckbox.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(cteSuppressNoninteractiveCheckbox, 18);
    fd.left = new FormAttachment(cteSuppressNoninteractiveCheckbox, 0, SWT.LEFT);
    cteBackButtonSemantics.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(cteBackButtonSemantics, 8);
    fd.left = new FormAttachment(cteBackButtonEntryLabel, 5);
    fd.right = new FormAttachment(cteBackButtonEntryLabel, 180, SWT.RIGHT);
    fd.bottom = new FormAttachment(cteBackButtonSemantics, 110);
    cteBackButtonEntry.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(cteBackButtonEntry, 0, SWT.CENTER);
    fd.left = new FormAttachment(cteBackButtonSemantics, 30, SWT.LEFT);
    cteBackButtonEntryLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(cteBackButtonSemantics, 0, SWT.CENTER);
    fd.left = new FormAttachment(cteBackButtonSemantics, 15, SWT.RIGHT);
    cteBackButtonHelp.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(cteBackButtonEntry, 24);
    fd.left = new FormAttachment(cteSuppressNoiseCheckbox, 0, SWT.LEFT);
    pmiGSizeLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(pmiGSizeLabel, 0, SWT.CENTER);
    fd.left = new FormAttachment(pmiGSizeLabel, 5);
    fd.right = new FormAttachment(pmiGSizeLabel, 140, SWT.RIGHT);
    pmiGSizeEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.left = new FormAttachment(pmiGSizeLabel, 0, SWT.LEFT);
    fd.top = new FormAttachment(pmiGSizeLabel, 18);
    converterDirectoryLabel.setLayoutData(fd);
    fd = new FormData();
    fd.left = new FormAttachment(converterDirectoryLabel, 5, SWT.RIGHT);
    fd.right = new FormAttachment(converterDirectoryLabel, 305, SWT.RIGHT);
    fd.top = new FormAttachment(converterDirectoryLabel, 0, SWT.CENTER);
    converterDirectoryEntry.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(converterDirectoryEntry, 0, SWT.CENTER);
    fd.left = new FormAttachment(converterDirectoryEntry, 5, SWT.RIGHT);
    fd.right = new FormAttachment(okButton, 0, SWT.RIGHT);
    fd.bottom = new FormAttachment(okButton, -30);
    convertBrowseButton.setLayoutData(fd);
}
Also used : FormLayout(org.eclipse.swt.layout.FormLayout) FormData(org.eclipse.swt.layout.FormData) Listener(org.eclipse.swt.widgets.Listener) Label(org.eclipse.swt.widgets.Label) Combo(org.eclipse.swt.widgets.Combo) DoubleEntry(edu.cmu.cs.hcii.cogtool.util.DoubleEntry) Button(org.eclipse.swt.widgets.Button) ManagedText(edu.cmu.cs.hcii.cogtool.util.ManagedText) Event(org.eclipse.swt.widgets.Event) FormAttachment(org.eclipse.swt.layout.FormAttachment) IntegerEntry(edu.cmu.cs.hcii.cogtool.util.IntegerEntry)

Example 2 with FormAttachment

use of org.eclipse.swt.layout.FormAttachment in project cogtool by cogtool.

the class PreferencesDialog method buildDialog.

@Override
public void buildDialog() {
    FormLayout lo = new FormLayout();
    lo.marginWidth = 28;
    dialog.setLayout(lo);
    dialog.setMinimumSize(550, 180);
    Button okButton = new Button(dialog, SWT.PUSH);
    okButton.setText(L10N.get("PREFDG.OK", "OK"));
    dialog.setDefaultButton(okButton);
    okButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            // TODO: updateValues() can throw IllegalStateException!
            userResponse = (updateValues() ? Boolean.TRUE : null);
            dialog.close();
        }
    });
    Button cancelButton = new Button(dialog, SWT.PUSH);
    cancelButton.setText(L10N.get("PREFDG.Cancel", "Cancel"));
    cancelButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            userResponse = (researchChanged ? Boolean.TRUE : null);
            dialog.close();
        }
    });
    researchButton = new Button(dialog, SWT.PUSH);
    setResearchButtonText();
    researchButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            if (researchNewState != null) {
                CogToolPref.RESEARCH.setBoolean(researchNewState);
                researchNewState = null;
            }
            researchChanged |= ((new ResearchDialog(parent, interaction)).open() != null);
            if (researchChanged) {
                setResearchButtonText();
            }
        }
    });
    Button restoreDefaultsButton = new Button(dialog, SWT.PUSH);
    restoreDefaultsButton.setText(L10N.get("PREFDG.RestoreDefaultsButton", "Reset to Default Values"));
    restoreDefaultsButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            restoreDefaults();
        }
    });
    Label minFrameWidthLabel = new Label(dialog, SWT.NONE);
    minFrameWidthLabel.setText(L10N.get("PREFDG.MINFRAMEWID", "Minimum frame width:"));
    minFrameWidthEntry = new IntegerEntry(dialog, SWT.BORDER);
    minFrameWidthEntry.setAllowNegative(false);
    minFrameWidthEntry.setValue(CogToolPref.MIN_FRAME_WIDTH.getInt());
    Label minFrameWidthUnitsLabel = new Label(dialog, SWT.NONE);
    minFrameWidthUnitsLabel.setText(L10N.get("PREFDG.PIXELS", "pixels"));
    Label framesPerRowLabel = new Label(dialog, SWT.NONE);
    framesPerRowLabel.setText(L10N.get("PREFDG.FRAMESPERROW", "Frames per row (on import):"));
    framesPerRowEntry = new IntegerEntry(dialog, SWT.BORDER);
    framesPerRowEntry.setAllowNegative(false);
    framesPerRowEntry.setValue(CogToolPref.FRAMES_PER_ROW.getInt());
    klmResultRangeCheckbox = new Button(dialog, SWT.CHECK);
    klmResultRangeCheckbox.setText(L10N.get("PREFDG.KLMRESULTRANGE", "Display range of predicted skilled execution time instead of a single value"));
    klmResultRangeCheckbox.setSelection(CogToolPref.KLM_RESULT_RANGE.getBoolean());
    Label displayDigitsLabel = new Label(dialog, SWT.NONE);
    displayDigitsLabel.setText(L10N.get("PREFDG.DISPDIG", "Number of decimal places displayed in results:"));
    displayDigitsCombo = new Combo(dialog, SWT.READ_ONLY);
    displayDigitsCombo.add("0");
    displayDigitsCombo.add("1");
    displayDigitsCombo.add("2");
    displayDigitsCombo.add("3");
    displayDigitsCombo.select(CogToolPref.DISPLAY_DIGITS.getInt());
    FormData fd = new FormData();
    Button rightMostButton;
    if (OSUtils.MACOSX) {
        rightMostButton = okButton;
        fd.right = new FormAttachment(100, 0);
        fd.bottom = new FormAttachment(100, -10);
        fd.top = new FormAttachment(klmResultRangeCheckbox, 22);
        okButton.setLayoutData(fd);
        fd = new FormData();
        fd.right = new FormAttachment(okButton, -8);
        fd.bottom = new FormAttachment(100, -10);
        cancelButton.setLayoutData(fd);
        fd = new FormData();
        fd.right = new FormAttachment(cancelButton, -28);
        fd.bottom = new FormAttachment(100, -10);
        researchButton.setLayoutData(fd);
    } else {
        rightMostButton = cancelButton;
        fd.left = new FormAttachment(50, -20);
        fd.bottom = new FormAttachment(100, -10);
        fd.top = new FormAttachment(klmResultRangeCheckbox, 22);
        okButton.setLayoutData(fd);
        fd = new FormData();
        fd.left = new FormAttachment(okButton, 20);
        fd.bottom = new FormAttachment(100, -10);
        cancelButton.setLayoutData(fd);
        fd = new FormData();
        fd.right = new FormAttachment(okButton, -28);
        fd.bottom = new FormAttachment(100, -10);
        researchButton.setLayoutData(fd);
    }
    fd = new FormData();
    fd.right = new FormAttachment(researchButton, -28);
    fd.bottom = new FormAttachment(100, -10);
    restoreDefaultsButton.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(0, 20);
    fd.right = new FormAttachment(100, -120);
    minFrameWidthUnitsLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(minFrameWidthUnitsLabel, 0, SWT.CENTER);
    fd.right = new FormAttachment(minFrameWidthUnitsLabel, -5);
    fd.left = new FormAttachment(minFrameWidthUnitsLabel, -60, SWT.LEFT);
    minFrameWidthEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(minFrameWidthUnitsLabel, 0, SWT.CENTER);
    fd.right = new FormAttachment(minFrameWidthEntry.getOuter(), -5);
    minFrameWidthLabel.setLayoutData(fd);
    fd = new FormData();
    fd.right = new FormAttachment(minFrameWidthEntry.getOuter(), 0, SWT.RIGHT);
    fd.left = new FormAttachment(minFrameWidthEntry.getOuter(), 0, SWT.LEFT);
    fd.top = new FormAttachment(minFrameWidthEntry.getOuter(), 0);
    framesPerRowEntry.getOuter().setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(framesPerRowEntry, 0, SWT.CENTER);
    fd.right = new FormAttachment(framesPerRowEntry.getOuter(), -5);
    framesPerRowLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(framesPerRowEntry.getOuter(), 5);
    fd.right = new FormAttachment(framesPerRowLabel, 0, SWT.RIGHT);
    displayDigitsLabel.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(displayDigitsLabel, 0, SWT.CENTER);
    fd.left = new FormAttachment(displayDigitsLabel, 5);
    displayDigitsCombo.setLayoutData(fd);
    fd = new FormData();
    fd.top = new FormAttachment(displayDigitsLabel, 10);
    fd.left = new FormAttachment(displayDigitsLabel, 25, SWT.LEFT);
    klmResultRangeCheckbox.setLayoutData(fd);
}
Also used : FormLayout(org.eclipse.swt.layout.FormLayout) FormData(org.eclipse.swt.layout.FormData) Listener(org.eclipse.swt.widgets.Listener) Button(org.eclipse.swt.widgets.Button) Label(org.eclipse.swt.widgets.Label) Event(org.eclipse.swt.widgets.Event) Combo(org.eclipse.swt.widgets.Combo) FormAttachment(org.eclipse.swt.layout.FormAttachment) IntegerEntry(edu.cmu.cs.hcii.cogtool.util.IntegerEntry)

Example 3 with FormAttachment

use of org.eclipse.swt.layout.FormAttachment in project cogtool by cogtool.

the class DefaultSEUIModel method updateDeviceDisplay.

public void updateDeviceDisplay() {
    if ((currentFrame != null) && (devicesFooter != null)) {
        Control[] deviceLabels = devicesFooter.getChildren();
        double midIndex = 0.5 * (deviceLabels.length - 1);
        for (int i = 0; i < deviceLabels.length; i++) {
            DeviceType deviceType = (DeviceType) deviceLabels[i].getData(DEVICE_TYPE_KEY);
            if (deviceType != null) {
                Frame currentFrameModel = currentFrame.getFrame();
                InputDevice inputDevice = currentFrameModel.getInputDevice(deviceType);
                String text = AbstractGraphicalSource.buildToolTipText(inputDevice, deviceType.toString());
                text = KeyDisplayUtil.convertActionToMenuText(text);
                deviceLabels[i].setToolTipText(" " + text + " ");
                deviceLabels[i].setData(inputDevice);
                FormData formData = new FormData();
                formData.top = new FormAttachment(0, 0);
                formData.bottom = new FormAttachment(100, 0);
                formData.width = DesignUtil.DEVICE_WIDTH;
                double ii = i;
                if (ii == (midIndex - 0.5)) {
                    formData.right = new FormAttachment(50, -(DEVICE_MARGIN / 2));
                } else if (ii < midIndex) {
                    formData.right = new FormAttachment(deviceLabels[i + 1], -DEVICE_MARGIN, SWT.LEFT);
                } else if (ii == midIndex) {
                    formData.left = new FormAttachment(50, -(DesignUtil.DEVICE_WIDTH / 2));
                } else if (ii == (midIndex + 0.5)) {
                    formData.left = new FormAttachment(50, DEVICE_MARGIN / 2);
                } else {
                    // ii > midIndex
                    formData.left = new FormAttachment(deviceLabels[i - 1], DEVICE_MARGIN, SWT.RIGHT);
                }
                deviceLabels[i].setLayoutData(formData);
            }
        }
        devicesFooter.layout();
    }
}
Also used : FormData(org.eclipse.swt.layout.FormData) DeviceType(edu.cmu.cs.hcii.cogtool.model.DeviceType) Control(org.eclipse.swt.widgets.Control) Frame(edu.cmu.cs.hcii.cogtool.model.Frame) InputDevice(edu.cmu.cs.hcii.cogtool.model.InputDevice) FormAttachment(org.eclipse.swt.layout.FormAttachment)

Example 4 with FormAttachment

use of org.eclipse.swt.layout.FormAttachment in project cogtool by cogtool.

the class StoppableProgressBar method addBelowBar.

@Override
protected void addBelowBar() {
    super.addBelowBar();
    // box, tying it to the given pausable "process" object.
    if (stopListener != null) {
        stopButton = new Button(shell, SWT.PUSH);
        stopButton.setText(STOP_LABEL);
        stopButton.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent evt) {
                stopListener.stop();
                stopButton.setEnabled(false);
            }
        });
        FormData data = new FormData();
        // Replace positioning for cancelButton if present
        if (cancelButton != null) {
            data.left = new FormAttachment(50, 3);
            data.top = new FormAttachment(bar, 5, SWT.BOTTOM);
            cancelButton.setLayoutData(data);
            data = new FormData();
            data.right = new FormAttachment(50, -3);
            data.top = new FormAttachment(bar, 5, SWT.BOTTOM);
        } else {
            data.left = new FormAttachment(bar, 0, SWT.CENTER);
            data.top = new FormAttachment(bar, 5, SWT.BOTTOM);
        }
        stopButton.setLayoutData(data);
    }
}
Also used : FormData(org.eclipse.swt.layout.FormData) Button(org.eclipse.swt.widgets.Button) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionEvent(org.eclipse.swt.events.SelectionEvent) FormAttachment(org.eclipse.swt.layout.FormAttachment)

Example 5 with FormAttachment

use of org.eclipse.swt.layout.FormAttachment in project cogtool by cogtool.

the class DictionaryEditorView method layOutWidgets.

protected void layOutWidgets(Composite parent) {
    nameLabel = new Label(parent, SWT.NONE);
    dictTable = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    dictTable.setLinesVisible(true);
    dictTable.setHeaderVisible(true);
    dictTable.setEnabled(true);
    dictTable.addListener(SWT.MeasureItem, new Listener() {

        public void handleEvent(Event event) {
            event.height = OSUtils.MACOSX ? 28 : 25;
        }
    });
    TableColumn goalColumn = new TableColumn(dictTable, SWT.NONE);
    goalColumn.setText(GOAL_HEADER);
    goalColumn.setResizable(true);
    goalColumn.setWidth(DictionaryEditorView.COL_WIDTH);
    TableColumn searchColumn = new TableColumn(dictTable, SWT.NONE);
    searchColumn.setText(SEARCH_HEADER);
    searchColumn.setResizable(true);
    searchColumn.setWidth(DictionaryEditorView.COL_WIDTH);
    TableColumn similarityColumn = new TableColumn(dictTable, SWT.RIGHT);
    similarityColumn.setText(SIMIL_HEADER);
    similarityColumn.setResizable(true);
    similarityColumn.setWidth(DictionaryEditorView.COL_WIDTH);
    TableColumn algColumn = new TableColumn(dictTable, SWT.NONE);
    algColumn.setText(ALG_HEADER);
    algColumn.setResizable(false);
    algColumn.setWidth(DictionaryEditorView.COL_WIDTH);
    TableColumn dateColumn = new TableColumn(dictTable, SWT.NONE);
    dateColumn.setText(DATE_HEADER);
    dateColumn.setResizable(true);
    dateColumn.setWidth(DictionaryEditorView.COL_WIDTH);
    urlLabel = new Label(parent, SWT.NONE);
    urlLabel.setText(SITE_LABEL);
    urlText = new View.PerformActionText(parent, SWT.SINGLE | SWT.BORDER) {

        @Override
        protected boolean doChangeAction() {
            return performChangeURL();
        }
    };
    urlText.setEnabled(false);
    spaceLabel = new Label(parent, SWT.NONE);
    spaceLabel.setText(SPACE_LABEL);
    spaceCombo = new View.PerformActionCombo(parent, SWT.DROP_DOWN | SWT.BORDER) {

        @Override
        protected boolean doChangeAction() {
            return performChangeSpace();
        }
    };
    spaceCombo.setItems(LSASimilarity.KNOWN_SPACES);
    spaceCombo.setEnabled(false);
    FormData formData = new FormData();
    formData.left = new FormAttachment(0, 5);
    formData.top = new FormAttachment(0, 5);
    nameLabel.setLayoutData(formData);
    formData = new FormData();
    formData.left = new FormAttachment(0, 20);
    formData.top = new FormAttachment(nameLabel, 5);
    formData.right = new FormAttachment(100, -20);
    formData.height = 350;
    dictTable.setLayoutData(formData);
    formData = new FormData();
    formData.left = new FormAttachment(0, 5);
    formData.top = new FormAttachment(dictTable, 5);
    spaceLabel.setLayoutData(formData);
    formData = new FormData();
    formData.left = new FormAttachment(spaceLabel, 5);
    formData.top = new FormAttachment(dictTable, 5);
    spaceCombo.setLayoutData(formData);
    formData = new FormData();
    formData.left = new FormAttachment(urlLabel, 5);
    formData.top = new FormAttachment(spaceCombo, 5, SWT.BOTTOM);
    formData.right = new FormAttachment(100, -15);
    urlText.setLayoutData(formData);
    formData = new FormData();
    formData.left = new FormAttachment(0, 5);
    formData.top = new FormAttachment(urlText.getOuter(), 0, SWT.CENTER);
    formData.right = new FormAttachment(spaceLabel, 0, SWT.RIGHT);
    urlLabel.setLayoutData(formData);
}
Also used : FormData(org.eclipse.swt.layout.FormData) Table(org.eclipse.swt.widgets.Table) Listener(org.eclipse.swt.widgets.Listener) Label(org.eclipse.swt.widgets.Label) Event(org.eclipse.swt.widgets.Event) TableColumn(org.eclipse.swt.widgets.TableColumn) FormAttachment(org.eclipse.swt.layout.FormAttachment)

Aggregations

FormAttachment (org.eclipse.swt.layout.FormAttachment)228 FormData (org.eclipse.swt.layout.FormData)228 Point (org.eclipse.swt.graphics.Point)87 Button (org.eclipse.swt.widgets.Button)85 Composite (org.eclipse.swt.widgets.Composite)83 FormLayout (org.eclipse.swt.layout.FormLayout)78 Control (org.eclipse.swt.widgets.Control)57 CLabel (org.eclipse.swt.custom.CLabel)56 SelectionEvent (org.eclipse.swt.events.SelectionEvent)55 Node (org.talend.designer.core.ui.editor.nodes.Node)49 Label (org.eclipse.swt.widgets.Label)47 GC (org.eclipse.swt.graphics.GC)46 Text (org.eclipse.swt.widgets.Text)39 DecoratedField (org.eclipse.jface.fieldassist.DecoratedField)36 SelectionListener (org.eclipse.swt.events.SelectionListener)36 FieldDecoration (org.eclipse.jface.fieldassist.FieldDecoration)34 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)32 GridData (org.eclipse.swt.layout.GridData)32 GridLayout (org.eclipse.swt.layout.GridLayout)28 Group (org.eclipse.swt.widgets.Group)26