package org.reldb.dbrowser.ui.content.rel.query; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.graphics.Image; import org.reldb.dbrowser.ui.content.rel.DbTreeAction; import org.reldb.dbrowser.ui.content.rel.DbTreeItem; import org.reldb.dbrowser.ui.content.rel.RelPanel; import org.reldb.dbrowser.ui.content.rev.ModelChangeListener; public class QueryView extends DbTreeAction { private int revstyle; public QueryView(RelPanel relPanel, int revstyle) { super(relPanel); this.revstyle = revstyle; } @Override public void go(DbTreeItem item, Image image) { CTabItem tab = relPanel.getTab(item); if (tab != null) { if (tab instanceof RevTab) { RevTab revtab = (RevTab)tab; if (revtab.getRevStyle() != revstyle) { revtab.dispose(); tab = null; } } } if (tab == null) { RevTab revtab = new RevTab(relPanel, item, revstyle); revtab.addModelChangeListener(new ModelChangeListener() { public void modelChanged() { relPanel.redisplayed(); } }); tab = revtab; } tab.setImage(image); relPanel.getTabFolder().setSelection(tab); } }