// Near Infinity - An Infinity Engine Browser and Editor
// Copyright (C) 2001 - 2005 Jon Olav Hauglid
// See LICENSE.txt for license information
package org.infinity.gui;
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import org.infinity.NearInfinity;
import org.infinity.datatype.StringRef;
import org.infinity.icon.Icons;
import org.infinity.search.SearchClient;
import org.infinity.search.SearchMaster;
import org.infinity.util.StringResource;
final class StringLookup extends ChildFrame implements SearchClient
{
private final StringRef strref;
StringLookup()
{
super("StringRef Lookup");
setIconImage(Icons.getIcon(Icons.ICON_FIND_16).getImage());
strref = new StringRef("StringRef:", 0);
Component com = strref.edit(null);
JPanel findpanel = SearchMaster.createAsPanel(this, this);
findpanel.setBorder(BorderFactory.createTitledBorder("Find: StringRef"));
JPanel pane = (JPanel)getContentPane();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
pane.setLayout(gbl);
gbc.weightx = 1.0;
gbc.weighty = 2.0;
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.fill = GridBagConstraints.BOTH;
gbc.insets = new Insets(6, 6, 3, 6);
gbl.setConstraints(com, gbc);
pane.add(com);
gbc.weighty = 0.0;
gbc.insets = new Insets(3, 6, 3, 8);
gbl.setConstraints(findpanel, gbc);
pane.add(findpanel);
setSize(540, 350);
Center.center(this, NearInfinity.getInstance().getBounds());
}
// --------------------- Begin Interface SearchClient ---------------------
@Override
public String getText(int index)
{
if (index < 0 || index >= StringResource.getMaxIndex())
return null;
return StringResource.getStringRef(index);
}
@Override
public void hitFound(int index)
{
strref.setValue(index);
}
// --------------------- End Interface SearchClient ---------------------
}