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);
}
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);
}
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;
}
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;
}
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);
}
}
Aggregations