Search in sources :

Example 1 with DoubleEntry

use of edu.cmu.cs.hcii.cogtool.util.DoubleEntry 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 DoubleEntry

use of edu.cmu.cs.hcii.cogtool.util.DoubleEntry in project cogtool by cogtool.

the class DictionaryEditorUI method initiateEdit.

public void initiateEdit(final TableItem row, int column) {
    Table dictTable = view.getDictTable();
    editor.horizontalAlignment = SWT.LEFT;
    if (column < 3) {
        Text actualEditor;
        if (column == DictionaryEditorUIModel.SIMIL_COL) {
            actualEditor = new DoubleEntry(dictTable, SWT.NONE) {

                @Override
                public boolean confirm(int focusRule) {
                    return commitEdit();
                }

                @Override
                public void cancel() {
                    cleanupEditor();
                }
            };
        } else {
            actualEditor = new View.PerformActionText(dictTable, SWT.SINGLE | SWT.LEFT) {

                @Override
                protected boolean doChangeAction() {
                    return commitEdit();
                }

                @Override
                public void cancel() {
                    cleanupEditor();
                }
            };
        }
        String rowText = row.getText(column);
        if (DictionaryEditorUIModel.UNRELATED.equals(rowText)) {
            rowText = "";
        }
        actualEditor.setText(rowText);
        actualEditor.setFont(dictTable.getFont());
        actualEditor.setFocus();
        actualEditor.selectAll();
        Object data = new Integer(column);
        actualEditor.setData(data);
        editor.setEditor(actualEditor, row, column);
    }
    dictTable.setSelection(row);
}
Also used : Table(org.eclipse.swt.widgets.Table) Text(org.eclipse.swt.widgets.Text) DoubleEntry(edu.cmu.cs.hcii.cogtool.util.DoubleEntry) EventObject(java.util.EventObject) DictionaryEditorView(edu.cmu.cs.hcii.cogtool.view.DictionaryEditorView) View(edu.cmu.cs.hcii.cogtool.view.View) Point(org.eclipse.swt.graphics.Point)

Example 3 with DoubleEntry

use of edu.cmu.cs.hcii.cogtool.util.DoubleEntry in project cogtool by cogtool.

the class ActionChangePropertySet method layoutHelper.

@Override
public void layoutHelper() {
    actionComposite = new Composite(parent, SWT.NONE);
    actionComposite.setLayout(new RowLayout(SWT.HORIZONTAL));
    FormData data = new FormData();
    data.left = leftAttachment;
    data.top = new FormAttachment(0, 5);
    actionComposite.setLayoutData(data);
    actionSettings = new Composite(parent, SWT.BORDER);
    actionSettings.setLayout(actionSettingsLayout);
    data = new FormData();
    data.left = leftAttachment;
    data.top = new FormAttachment(actionComposite, 5, SWT.BOTTOM);
    data.right = new FormAttachment(100, -5);
    actionSettings.setLayoutData(data);
    Label delayLabelLabel = new DisplayLabel(parent, SWT.NONE);
    delayLabelLabel.setText(DELAY_LABEL_LABEL);
    delayLabel = new ManagedText(parent, SWT.SINGLE | SWT.BORDER, Keypad.FULL_KEYPAD) {

        @Override
        public boolean confirm(int focusRule) {
            if ("".equals(getText())) {
                setText(TransitionDelay.DEFAULT_DELAY_LABEL);
            }
            return super.confirm(focusRule);
        }
    };
    Label delayInSecsLabel = new DisplayLabel(parent, SWT.NONE);
    delayInSecsLabel.setText(DELAY_DURATION_LABEL + ":");
    delayInSecs = new DoubleEntry(parent, SWT.SINGLE | SWT.BORDER) {

        @Override
        protected void onModify() {
            super.onModify();
            delayLabel.setEnabled(getDoubleValue() > 0.0);
        }

        @Override
        public boolean confirm(int focusRule) {
            boolean success = super.confirm(focusRule);
            if (getDoubleValue() == 0.0) {
                setText("");
            }
            return success;
        }
    };
    delayInSecs.setAllowNegative(false);
    delayInSecs.setDecimalPlaces(3);
    delayInSecs.setUnits("s");
    delayInSecs.moveAbove(delayLabel.getOuter());
    data = new FormData();
    data.left = new FormAttachment(actionSettings, 5, SWT.LEFT);
    data.top = new FormAttachment(delayInSecs.getOuter(), 0, SWT.CENTER);
    delayInSecsLabel.setLayoutData(data);
    data = new FormData();
    data.left = new FormAttachment(delayInSecsLabel, 5, SWT.RIGHT);
    data.width = 100;
    data.top = new FormAttachment(actionSettings, 5, SWT.BOTTOM);
    delayInSecs.setLayoutData(data);
    data = new FormData();
    data.left = new FormAttachment(delayInSecs.getOuter(), 5, SWT.RIGHT);
    data.top = new FormAttachment(delayInSecs.getOuter(), 0, SWT.CENTER);
    delayLabelLabel.setLayoutData(data);
    data = new FormData();
    data.left = new FormAttachment(delayLabelLabel, 5, SWT.RIGHT);
    data.top = new FormAttachment(delayInSecs.getOuter(), 0, SWT.CENTER);
    data.right = new FormAttachment(actionSettings, -5, SWT.RIGHT);
    delayLabel.setLayoutData(data);
}
Also used : FormData(org.eclipse.swt.layout.FormData) Composite(org.eclipse.swt.widgets.Composite) RowLayout(org.eclipse.swt.layout.RowLayout) ManagedText(edu.cmu.cs.hcii.cogtool.util.ManagedText) DisplayLabel(edu.cmu.cs.hcii.cogtool.util.DisplayLabel) Label(org.eclipse.swt.widgets.Label) DoubleEntry(edu.cmu.cs.hcii.cogtool.util.DoubleEntry) FormAttachment(org.eclipse.swt.layout.FormAttachment) DisplayLabel(edu.cmu.cs.hcii.cogtool.util.DisplayLabel)

Aggregations

DoubleEntry (edu.cmu.cs.hcii.cogtool.util.DoubleEntry)3 ManagedText (edu.cmu.cs.hcii.cogtool.util.ManagedText)2 FormAttachment (org.eclipse.swt.layout.FormAttachment)2 FormData (org.eclipse.swt.layout.FormData)2 Label (org.eclipse.swt.widgets.Label)2 DisplayLabel (edu.cmu.cs.hcii.cogtool.util.DisplayLabel)1 IntegerEntry (edu.cmu.cs.hcii.cogtool.util.IntegerEntry)1 DictionaryEditorView (edu.cmu.cs.hcii.cogtool.view.DictionaryEditorView)1 View (edu.cmu.cs.hcii.cogtool.view.View)1 EventObject (java.util.EventObject)1 Point (org.eclipse.swt.graphics.Point)1 FormLayout (org.eclipse.swt.layout.FormLayout)1 RowLayout (org.eclipse.swt.layout.RowLayout)1 Button (org.eclipse.swt.widgets.Button)1 Combo (org.eclipse.swt.widgets.Combo)1 Composite (org.eclipse.swt.widgets.Composite)1 Event (org.eclipse.swt.widgets.Event)1 Listener (org.eclipse.swt.widgets.Listener)1 Table (org.eclipse.swt.widgets.Table)1 Text (org.eclipse.swt.widgets.Text)1