public DialogOptions showFileOverwriteDialog(String title, String message) { JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.add(new JLabel(message)); JCheckBox applyToAll = new JCheckBox(); JPanel applyPanel = new JPanel(); applyPanel.add(new JLabel("Apply to all")); applyPanel.add(applyToAll); panel.add(applyPanel); int choice = JOptionPane.showConfirmDialog( getProjectExplorer(), panel, title, JOptionPane.YES_NO_OPTION, JOptionPane.PLAIN_MESSAGE); DialogOptions options = new DialogOptions(); options.dialogResult = choice == JOptionPane.YES_OPTION; options.applyToAll = applyToAll.isSelected(); return options; }
@Override public void close() { if (!ok) return; super.close(); gui.set(MainOptions.TEXTINDEX, textindex.isSelected()); gui.set(MainOptions.ATTRINDEX, attrindex.isSelected()); gui.set(MainOptions.TOKENINDEX, tokenindex.isSelected()); gui.set(MainOptions.FTINDEX, ftindex.isSelected()); general.setOptions(); options.setOptions(null); for (final DialogIndex di : index) di.setOptions(); }
@Override public void action(final Object comp) { final boolean valid = general.action(comp, true) && options.action(); index[0].action(textindex.isSelected()); index[1].action(attrindex.isSelected()); index[2].action(tokenindex.isSelected()); index[3].action(ftindex.isSelected()); // ...must be located before remaining checks if (comp == general.browse || comp == general.input) dbName.setText(general.dbName); final String nm = dbName.getText().trim(); ok = valid && !nm.isEmpty(); String inf = valid ? ok ? null : ENTER_DB_NAME : RES_NOT_FOUND; Msg icon = Msg.ERROR; if (ok) { ok = Databases.validName(nm); if (ok) gui.gopts.set(GUIOptions.DBNAME, nm); if (!ok) { // name of database is invalid inf = Util.info(INVALID_X, NAME); } else if (general.input.getText().trim().isEmpty()) { // database will be empty inf = EMPTY_DB; icon = Msg.WARN; } else if (gui.context.databases.listDBs().contains(nm)) { // old database will be overwritten inf = OVERWRITE_DB; icon = Msg.WARN; } } general.info.setText(inf, icon); enableOK(buttons, B_OK, ok); }
public static Dialog show( Activity activity, final DialogOptions options, final IDialogResponse response) { final Dialog dialog = new Dialog(activity); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.dialog_base); FontManager.handleFontTags(dialog.findViewById(R.id.dialog_container)); final ArrayList<EditText> editTexts = new ArrayList<EditText>(); final IDialogAdapter<?> adapter = options.getDialogAdapter(); final ListView list = (ListView) dialog.findViewById(R.id.dialog_list); if (adapter == null) { Utils.remove(list); } else { list.setAdapter(new DialogInternalAdapter(adapter)); } // give scrollable view a max height ViewGroup.LayoutParams scrollWrapParams = list.getLayoutParams(); list.measure(list.getWidth(), list.getHeight()); Utils.d("Ok " + list.getWidth() + " ; " + list.getHeight()); Utils.d("Ok " + list.getMeasuredWidth() + " ; " + list.getMeasuredHeight()); // if (scroll.getMeasuredHeight() < scrollWrapParams.height) { // scrollWrapParams.height = scroll.getMeasuredHeight(); // scrollWrap.setLayoutParams(scrollWrapParams); // } final TextView title = (TextView) dialog.findViewById(R.id.dialog_title); title.setText(options.getTitle()); final TextView description = (TextView) dialog.findViewById(R.id.dialog_description); description.setText(options.getDescription()); Button negative = (Button) dialog.findViewById(R.id.dialog_negative); if (!options.isNegativeButtonEnabled()) { Utils.remove(negative); } else { negative.setText(options.getNegative()); if (options.isReverseColors()) { negative.setTextColor(Utils.color(R.color.positive)); } negative.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { if (response != null) { response.onNegative(); } dialog.dismiss(); } }); } Button positive = (Button) dialog.findViewById(R.id.dialog_positive); if (!options.isPositiveButtonEnabled()) { Utils.remove(positive); } else { positive.setText(options.getPositive()); if (options.isReverseColors()) { positive.setTextColor(Utils.color(R.color.negative)); } positive.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { if (response != null) { response.onPositive(); } dialog.dismiss(); } }); } dialog.setOnCancelListener( new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialogInterface) { if (response != null) { response.onCancel(); } } }); dialog.show(); return dialog; }