Search in sources :

Example 1 with Combo

use of org.eclipse.swt.widgets.Combo 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 Combo

use of org.eclipse.swt.widgets.Combo 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 Combo

use of org.eclipse.swt.widgets.Combo in project cogtool by cogtool.

the class DictionaryEditorUIModel method createAlgCombo.

public static Combo createAlgCombo(Composite parent, ITermSimilarity defaultAlg, SelectionListener listener) {
    Combo algCombo = new ComboWithEnableFix(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    for (String element : ALGORITHMS) {
        algCombo.add(element);
    }
    algCombo.select(getAlgIndex(defaultAlg));
    algCombo.addSelectionListener(listener);
    algCombo.setVisibleItemCount(ALGORITHMS.length);
    return algCombo;
}
Also used : Combo(org.eclipse.swt.widgets.Combo) ComboWithEnableFix(edu.cmu.cs.hcii.cogtool.util.ComboWithEnableFix)

Example 4 with Combo

use of org.eclipse.swt.widgets.Combo in project cogtool by cogtool.

the class DictionaryEditorUIModel method createEmptyRow.

public TableItem createEmptyRow(int index) {
    final TableItem emptyRow = new TableItem(dictTable, SWT.NONE, index);
    emptyRow.setText(GOAL_COL, "");
    emptyRow.setText(SEARCH_COL, "");
    emptyRow.setText(SIMIL_COL, "");
    emptyRow.setText(DATE_COL, "");
    TableEditor editor = new TableEditor(dictTable);
    editor.grabHorizontal = true;
    Combo algCombo = createAlgCombo(dictTable, dictionary.getCurrentAlgorithm(), algListener);
    algCombo.setData(emptyRow);
    emptyRow.setData(algCombo);
    editor.setEditor(algCombo, emptyRow, 3);
    return emptyRow;
}
Also used : TableItem(org.eclipse.swt.widgets.TableItem) Combo(org.eclipse.swt.widgets.Combo) TableEditor(org.eclipse.swt.custom.TableEditor)

Example 5 with Combo

use of org.eclipse.swt.widgets.Combo in project cogtool by cogtool.

the class DictionaryEditorUI method updateView.

protected void updateView() {
    Table dictTable = view.getDictTable();
    int selectionCount = 0;
    try {
        selectionCount = dictTable.getSelectionCount();
    } catch (SWTException e) {
        return;
    }
    if (selectionCount == 1) {
        int index = dictTable.getSelectionIndex();
        DictEntry entry = dictionary.getEntry(index);
        if (entry != null) {
            String url = null;
            String space = null;
            if (entry.algorithm instanceof ISitedTermSimilarity) {
                url = ((ISitedTermSimilarity) entry.algorithm).getContextSite();
                view.setURLEnabled(true);
                view.setSpaceEnabled(false);
            } else if (entry.algorithm instanceof LSASimilarity) {
                LSASimilarity lsa = (LSASimilarity) entry.algorithm;
                space = lsa.getSpace();
                url = lsa.getURL();
                if (url == null) {
                    url = LSASimilarity.DEFAULT_LSA_URL;
                }
                view.setURLEnabled(true);
                view.setSpaceEnabled(true);
            } else if (entry.algorithm instanceof GensimLSASimilarity) {
                GensimLSASimilarity lsa = (GensimLSASimilarity) entry.algorithm;
                space = lsa.getSpace();
                url = lsa.getURL();
                if (url == null) {
                    url = GensimLSASimilarity.DEFAULT_LSA_URL;
                }
                view.setURLEnabled(true);
                view.setSpaceEnabled(true);
            } else {
                view.setURLEnabled(false);
                view.setSpaceEnabled(false);
            }
            view.setURL(url);
            view.setSpace(space);
        } else {
            TableItem row = dictTable.getItem(index);
            Combo c = (Combo) row.getData();
            int seln = c.getSelectionIndex();
            boolean isLSA = (seln == DictionaryEditorUIModel.LSA_INDEX);
            view.setURLEnabled((seln == DictionaryEditorUIModel.GOOGLE_WORD_INDEX) || (seln == DictionaryEditorUIModel.GOOGLE_PHRASE_INDEX) || isLSA);
            view.setSpaceEnabled(isLSA);
        }
    } else {
        // disable if 0 or more than 1 are selected
        view.setURL(null);
        view.setSpace(null);
        view.setURLEnabled(false);
        view.setSpaceEnabled(false);
    }
}
Also used : Table(org.eclipse.swt.widgets.Table) SWTException(org.eclipse.swt.SWTException) TableItem(org.eclipse.swt.widgets.TableItem) DictEntry(edu.cmu.cs.hcii.cogtool.model.ISimilarityDictionary.DictEntry) GensimLSASimilarity(edu.cmu.cs.hcii.cogtool.model.GensimLSASimilarity) LSASimilarity(edu.cmu.cs.hcii.cogtool.model.LSASimilarity) Combo(org.eclipse.swt.widgets.Combo) ISitedTermSimilarity(edu.cmu.cs.hcii.cogtool.model.ISitedTermSimilarity) Point(org.eclipse.swt.graphics.Point) GensimLSASimilarity(edu.cmu.cs.hcii.cogtool.model.GensimLSASimilarity)

Aggregations

Combo (org.eclipse.swt.widgets.Combo)232 GridData (org.eclipse.swt.layout.GridData)171 Label (org.eclipse.swt.widgets.Label)164 GridLayout (org.eclipse.swt.layout.GridLayout)150 Composite (org.eclipse.swt.widgets.Composite)135 SelectionEvent (org.eclipse.swt.events.SelectionEvent)122 Text (org.eclipse.swt.widgets.Text)112 Button (org.eclipse.swt.widgets.Button)105 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)98 Group (org.eclipse.swt.widgets.Group)80 ModifyEvent (org.eclipse.swt.events.ModifyEvent)54 ModifyListener (org.eclipse.swt.events.ModifyListener)54 SelectionListener (org.eclipse.swt.events.SelectionListener)37 ArrayList (java.util.ArrayList)22 Point (org.eclipse.swt.graphics.Point)20 FormAttachment (org.eclipse.swt.layout.FormAttachment)19 FormData (org.eclipse.swt.layout.FormData)19 FormLayout (org.eclipse.swt.layout.FormLayout)18 DirectoryDialog (org.eclipse.swt.widgets.DirectoryDialog)18 ComboViewer (org.eclipse.jface.viewers.ComboViewer)16