package org.reldb.dbrowser.ui.content.rev; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.ToolItem; import org.reldb.dbrowser.ui.DbTab; import org.reldb.dbrowser.ui.ManagedToolbar; import org.reldb.dbrowser.ui.content.cmd.CmdPanelToolbar; import org.reldb.dbrowser.ui.content.rel.var.VarEditorToolbar; public class DbTabContentRev extends Composite { private Rev rev; private ManagedToolbar toolBar = null; private void addZoom(ManagedToolbar toolbar) { toolbar.addSeparatorFill(); // zoom toolbar.addItem("Zoom in or out", "view_fullscreen", SWT.PUSH).addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { zoom(); } }); } private void makeToolbar(DbTab parentTab) { if (toolBar != null) { toolBar.dispose(); toolBar = null; } RelvarEditorPanel relvarEditorView = rev.getCmdPanelOutput().getRelvarEditorView(); if (relvarEditorView != null) toolBar = new VarEditorToolbar(this, relvarEditorView.getRelvarEditor()) { @Override public void addAdditionalItemsBefore(VarEditorToolbar toolbar) { // backup icon ToolItem tlitmBackup = addItem("Make backup", "safeIcon", SWT.PUSH); tlitmBackup.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { parentTab.makeBackup(); } }); } }; else toolBar = new CmdPanelToolbar(this, rev.getCmdPanelOutput()) { @Override public void addAdditionalItemsBefore(CmdPanelToolbar toolbar) { // backup icon ToolItem tlitmBackup = addItem("Make backup", "safeIcon", SWT.PUSH); tlitmBackup.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { parentTab.makeBackup(); } }); } }; addZoom(toolBar); FormData fd_toolBar = new FormData(); fd_toolBar.left = new FormAttachment(0); fd_toolBar.top = new FormAttachment(0); fd_toolBar.right = new FormAttachment(100); toolBar.getToolBar().setLayoutData(fd_toolBar); FormData fd_composite = new FormData(); fd_composite.left = new FormAttachment(0); fd_composite.top = new FormAttachment(toolBar.getToolBar()); fd_composite.right = new FormAttachment(100); fd_composite.bottom = new FormAttachment(100); rev.setLayoutData(fd_composite); layout(); } public DbTabContentRev(DbTab parentTab, Composite contentParent) { super(contentParent, SWT.None); setLayout(new FormLayout()); rev = new Rev(this, parentTab, parentTab.getConnection(), parentTab.getCrashHandler(), "scratchpad", Rev.SAVE_AND_LOAD_BUTTONS) { @Override protected void changeToolbar() { makeToolbar(parentTab); } }; makeToolbar(parentTab); } private void zoom() { rev.zoom(); } public void redisplayed() { rev.refresh(); } }