package guis;
import java.util.Map.Entry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Text;
import core.Main;
import entity.DNDEntity;
public class referencePanel {
private Composite refPanel;
private Composite view;
private Composite list;
private StackLayout stackLayout;
private Text searchBar;
private List searchList;
public referencePanel(Composite page) {
refPanel = new Composite(page, SWT.NONE);
stackLayout = new StackLayout();
createPageContent();
}
public Composite getRefPanel(){ return refPanel; }
private void createPageContent() {
GridLayout layout = new GridLayout();
layout.makeColumnsEqualWidth = false;
layout.horizontalSpacing = 3;
layout.numColumns = 1;
refPanel.setLayout(layout);
searchBar = new Text(refPanel, SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL | SWT.ICON_SEARCH);
GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, false, false);
searchBar.setMessage("Search");
searchBar.setLayoutData(gridData);
searchBar.addSelectionListener( new SelectionAdapter() {
public void widgetDefaultSelected( SelectionEvent e ) {
searchList.removeAll();
if(Main.gameState.search(searchBar.getText())){
for(Entry<String, DNDEntity> entry :
Main.gameState.searchResults.entrySet()){
searchList.add(entry.getKey());
}
}
}
});
view = new Composite(refPanel, SWT.NONE);
list = new Composite(view, SWT.NONE);
gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
view.setLayoutData(gridData);
view.setLayout(stackLayout);
//LIST COMPOSITE
FillLayout fillLayout = new FillLayout(SWT.VERTICAL);
list.setLayout(fillLayout);
searchList = new List(list, SWT.V_SCROLL);
//searchList.add("empty");
searchList.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent e){
DNDEntity searchEntity = Main.gameState.searchResults.get(searchList.getSelection()[0]);
searchEntity.toTooltipWindow();
//backButton.setVisible(true);
//stackLayout.topControl = info;
}
@Override
//leave blank, but must have
public void widgetSelected(SelectionEvent e) {}
});
list.layout();
stackLayout.topControl = list;
view.layout();
}
}