/* * @(#)AbstractFindAction.java * * Copyright (c) 2005 The authors and contributors of JHotDraw. * You may not use, copy or modify this file, except in compliance with the * accompanying license terms. */ package org.jhotdraw.samples.teddy.action; import edu.umd.cs.findbugs.annotations.Nullable; import org.jhotdraw.app.*; import org.jhotdraw.samples.teddy.*; import java.awt.event.*; import org.jhotdraw.app.action.edit.AbstractFindAction; /** * AbstractFindAction shows the find dialog. * * @author Werner Randelshofer * @version $Id$ */ public class FindAction extends AbstractFindAction { private static final long serialVersionUID = 1L; public static final String ID = AbstractFindAction.ID; private FindDialog findDialog; /** * Creates a new instance. */ public FindAction(Application app, @Nullable View v) { super(app,v); } @Override public void actionPerformed(ActionEvent e) { if (findDialog == null) { findDialog = new FindDialog(getApplication()); if (getApplication() instanceof OSXApplication) { findDialog.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent evt) { if (findDialog != null) { ((OSXApplication) getApplication()).removePalette(findDialog); findDialog.setVisible(false); } } }); } } findDialog.setVisible(true); if (getApplication() instanceof OSXApplication) { ((OSXApplication) getApplication()).addPalette(findDialog); } } }