package org.basex.gui.view.explore; import static org.basex.core.Text.*; import static org.basex.gui.GUIConstants.*; import java.awt.BorderLayout; import java.awt.event.KeyEvent; import org.basex.data.Nodes; import org.basex.gui.GUICommands; import org.basex.gui.GUIProp; import org.basex.gui.GUIConstants.Fill; import org.basex.gui.layout.BaseXBack; import org.basex.gui.layout.BaseXButton; import org.basex.gui.layout.BaseXLabel; import org.basex.gui.view.View; import org.basex.gui.view.ViewNotifier; /** * This view allows the input of database queries. * * @author BaseX Team 2005-12, BSD License * @author Christian Gruen */ public final class ExploreView extends View { /** Header string. */ private final BaseXLabel header; /** Current search panel. */ private final ExploreArea search; /** Filter button. */ private final BaseXButton filter; /** * Default constructor. * @param man view manager */ public ExploreView(final ViewNotifier man) { super(EXPLOREVIEW, man); layout(new BorderLayout(0, 4)).border(6, 6, 6, 6).setFocusable(false); header = new BaseXLabel(EXPLORER, true, false); final BaseXBack b = new BaseXBack(Fill.NONE).layout(new BorderLayout()); b.add(header, BorderLayout.CENTER); filter = BaseXButton.command(GUICommands.C_FILTER, gui); filter.addKeyListener(this); b.add(filter, BorderLayout.EAST); add(b, BorderLayout.NORTH); search = new ExploreArea(this); add(search, BorderLayout.CENTER); refreshLayout(); } @Override public void refreshInit() { search.init(); } @Override public void refreshFocus() { } @Override public void refreshMark() { final Nodes marked = gui.context.marked; filter.setEnabled(!gui.gprop.is(GUIProp.FILTERRT) && marked != null && marked.size() != 0); } @Override public void refreshContext(final boolean more, final boolean quick) { } @Override public void refreshUpdate() { } @Override public void refreshLayout() { header.setFont(lfont); refreshMark(); } @Override public boolean visible() { return gui.gprop.is(GUIProp.SHOWEXPLORE); } @Override public void visible(final boolean v) { gui.gprop.set(GUIProp.SHOWEXPLORE, v); } @Override protected boolean db() { return true; } @Override public void keyPressed(final KeyEvent e) { // overwrite default interactions } }