private JCheckBoxMenuItem addFilterMenuItem( String command, boolean defaultlistener, ParticlePicker picker) { JCheckBoxMenuItem mi = new JCheckBoxMenuItem(command); mifilters.add(mi); mi.setSelected(picker.isFilterAdded(command)); if (defaultlistener) mi.addActionListener(this); filtersmn.add(mi); // mi.setEnabled(picker.getMode() != Mode.ReadOnly); return mi; }
private void initMenuBar(ParticlePicker picker) { filemn = new JMenu(bundle.getString("file")); helpmn = new JMenu(bundle.getString("help")); savemi = new JMenuItem("Save", XmippResource.getIcon("save.gif")); savemi.setMnemonic('S'); savemi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK)); savemi.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { getParticlePicker().saveData(); showMessage("Data saved successfully"); setChanged(false); } }); filemn.add(savemi); importmi = new JMenuItem("Import coordinates...", XmippResource.getIcon("import_wiz.gif")); filemn.add(importmi); if (picker.getMode() != Mode.Manual) importmi.setEnabled(false); importmi.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (importpjd == null) importpjd = new ImportParticlesJDialog(ParticlePickerJFrame.this); importpjd.showDialog(); } }); exitmi = new JMenuItem("Exit"); exitmi.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { close(); } }); ijmi = new JMenuItem("ImageJ", XmippResource.getIcon("ij.gif")); ijmi.setEnabled(picker.getMode() != Mode.ReadOnly); ijmi.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { XmippUtil.showImageJ(Tool.PICKER); } }); hcontentsmi = new JMenuItem("Online help", XmippResource.getIcon("online_help.gif")); hcontentsmi.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { openHelpURl(); } catch (Exception ex) { showException(ex); } } }); helpmn.add(hcontentsmi); keyassistmi = new JMenuItem("Tips...", XmippResource.getIcon("bulb.png")); keyassistmi.addActionListener( new ActionListener() { private QuickHelpJDialog keyassistdlg; @Override public void actionPerformed(ActionEvent e) { if (keyassistdlg == null) keyassistdlg = new QuickHelpJDialog(ParticlePickerJFrame.this, false, "Tips", getKeyAssist()); keyassistdlg.setVisible(true); } }); helpmn.add(keyassistmi); pmi = new JMenuItem("Particles", XmippResource.getIcon("table_view.gif")); pmi.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { loadParticles(false); } }); mifilters = new ArrayList<JCheckBoxMenuItem>(); filtersmn = new JMenu(bundle.getString("filters")); filtersmn.addMenuListener( new MenuListener() { @Override public void menuCanceled(MenuEvent arg0) { // TODO Auto-generated method stub } @Override public void menuDeselected(MenuEvent arg0) { // TODO Auto-generated method stub } @Override public void menuSelected(MenuEvent arg0) { boolean added; for (JCheckBoxMenuItem mi : mifilters) { added = getParticlePicker().isFilterAdded(mi.getText()); mi.setSelected(added); } } }); addFilterMenuItem(XmippImageJ.gaussianBlurFilter, true, picker); addFilterMenuItem(ParticlePicker.xmippsmoothfilter, true, picker); addFilterMenuItem(XmippImageJ.bandPassFilter, true, picker); addFilterMenuItem(XmippImageJ.enhanceContrastFilter, true, picker); addFilterMenuItem(XmippImageJ.brightnessContrastFilter, true, picker); // JCheckBoxMenuItem admi = addFilterMenuItem(XmippImageJ.anisotropicDiffFilter, false, // picker); // admi.addActionListener(new ActionListener() // { // // @Override // public void actionPerformed(ActionEvent e) // { // activefilter = "8-bit"; // IJ.run(activefilter); // activefilter = ((JCheckBoxMenuItem) e.getSource()).getText(); // IJ.run(activefilter); // } // }); addFilterMenuItem(XmippImageJ.invertLUTFilter, true, picker); addFilterMenuItem(XmippImageJ.substractBackgroundFilter, true, picker); addFilterAppliedListener(); }
public ParticlePickerJFrame(ParticlePicker picker) { try { File file = new File(Filename.getXmippPath("resources")); URL[] urls = new URL[] {file.toURI().toURL()}; ClassLoader loader = new URLClassLoader(urls); bundle = ResourceBundle.getBundle("Bundle", Locale.getDefault(), loader); XmippApplication.addInstance(false); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent winEvt) { if (getParticlePicker().isChanged()) { XmippQuestionDialog qd = new XmippQuestionDialog( ParticlePickerJFrame.this, "Save changes before closing?"); boolean save = qd.showDialog(); if (save) getParticlePicker().saveData(); else if (qd.isCanceled()) return; } close(); } }); initMenuBar(picker); resetbt = XmippWindowUtil.getTextButton( bundle.getString("resetmic"), new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String resetmsg = getResetMsg(); XmippQuestionDialog qd = new XmippQuestionDialog(ParticlePickerJFrame.this, resetmsg, false); if (qd.showDialog()) resetMicrograph(); } }); savebt = XmippWindowUtil.getTextIconButton( bundle.getString("save"), "save.gif", new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { getParticlePicker().saveData(); setChanged(false); } }); saveandexitbt = XmippWindowUtil.getTextButton( bundle.getString("saveandexit"), new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (getParticlePicker().getMode() != Mode.ReadOnly) getParticlePicker().saveData(); if (getParticlePicker().isScipionSave()) { int count = getParticlePicker().getParticlesCount(); if (count == 0) { XmippDialog.showInfo( ParticlePickerJFrame.this, XmippMessage.getEmptyFieldMsg("coordinates")); return; } HashMap<String, String> msgfields = new HashMap<String, String>(); boolean createprot = getParticlePicker().getPort() == null; if (createprot) msgfields.put("Run name:", "ProtUserCoordinates"); String msg = String.format( "<html>Are you sure you want to register a new set of Coordinates with <font color=red>%s</font> %s?", count, (count != 1) ? "elements" : "element"); InputFieldsMessageDialog dlg = new InputFieldsMessageDialog(ParticlePickerJFrame.this, "Question", msg); if (dlg.action == InputFieldsMessageDialog.OK_OPTION) executeScipionSaveAndExit(); } else close(); } }); closebt = XmippWindowUtil.getTextIconButton( "Close", "fa-times.png", new ActionListener() { @Override public void actionPerformed(ActionEvent e) { close(); } }); if (picker.isScipionSave()) { saveandexitbt.setText("Coordinates"); Image img = Toolkit.getDefaultToolkit() .getImage( Filename.getXmippPath("resources" + File.separator + "fa-plus-circle.png")); saveandexitbt.setIcon(new ImageIcon(img)); saveandexitbt.setToolTipText("Create Coordinates"); Color color = XmippWindowUtil.firebrick; saveandexitbt.setBackground(color); saveandexitbt.setForeground(Color.WHITE); } micrographstb = new JTable(); micrographstb .getSelectionModel() .addListSelectionListener(new MicrographsSelectionListener()); micrographstb.addMouseListener( new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseClicked(MouseEvent arg0) { if (micrographstb.getSelectedRow() == -1) return; loadMicrograph(); } }); } catch (Exception ex) { Logger.getLogger(ParticlePickerJFrame.class.getName()).log(Level.SEVERE, null, ex); throw new IllegalArgumentException(ex); } }