Example usage for org.eclipse.jface.action ToolBarManager insertBefore

List of usage examples for org.eclipse.jface.action ToolBarManager insertBefore

Introduction

In this page you can find the example usage for org.eclipse.jface.action ToolBarManager insertBefore.

Prototype

@Override
    public void insertBefore(String ID, IAction action) 

Source Link

Usage

From source file:de.loskutov.bco.compare.BytecodeCompare.java

License:Open Source License

/**
 * @see org.eclipse.compare.CompareEditorInput#createContents(org.eclipse.swt.widgets.Composite)
 *//*from  w w w  .j a v a2  s.  c o  m*/
@Override
public Control createContents(final Composite parent) {
    Object obj = parent.getData();
    if (obj == null) {
        obj = parent.getParent().getData();
    }
    // dirty hook on this place to get reference to editor
    // CompareEditor extends EditorPart implements IReusableEditor
    if (obj instanceof IReusableEditor) {
        myEditor = (IReusableEditor) obj;
    }

    Control control = super.createContents(parent);

    CompareViewerSwitchingPane inputPane = getInputPane();
    if (inputPane != null) {
        ToolBarManager toolBarManager2 = CompareViewerPane.getToolBarManager(inputPane);
        if (toolBarManager2 == null) {
            return control;
        }
        boolean separatorExist = false;
        if (toolBarManager2.find(hideLineInfoAction.getId()) == null) {
            if (!separatorExist) {
                separatorExist = true;
                toolBarManager2.insert(0, new Separator("bco")); //$NON-NLS-1$
            }
            toolBarManager2.insertBefore("bco", hideLineInfoAction); //$NON-NLS-1$
            //                toolBarManager2.update(true);
        }
        if (toolBarManager2.find(hideLocalsAction.getId()) == null) {
            if (!separatorExist) {
                separatorExist = true;
                toolBarManager2.insert(0, new Separator("bco")); //$NON-NLS-1$
            }
            toolBarManager2.insertBefore("bco", hideLocalsAction); //$NON-NLS-1$
            //                toolBarManager2.update(true);
        }

        if (toolBarManager2.find(hideStackMapAction.getId()) == null) {
            if (!separatorExist) {
                separatorExist = true;
                toolBarManager2.insert(0, new Separator("bco")); //$NON-NLS-1$
            }
            toolBarManager2.insertBefore("bco", hideStackMapAction); //$NON-NLS-1$
            //                toolBarManager2.update(true);
        }
        if (toolBarManager2.find(expandStackMapAction.getId()) == null) {
            if (!separatorExist) {
                separatorExist = true;
                toolBarManager2.insert(0, new Separator("bco")); //$NON-NLS-1$
            }
            toolBarManager2.insertBefore("bco", expandStackMapAction); //$NON-NLS-1$
            //                toolBarManager2.update(true);
        }

        if (toolBarManager2.find(toggleAsmifierModeAction.getId()) == null) {
            if (!separatorExist) {
                toolBarManager2.insert(0, new Separator("bco")); //$NON-NLS-1$
                separatorExist = true;
            }
            toolBarManager2.insertBefore("bco", toggleAsmifierModeAction); //$NON-NLS-1$
            //                toolBarManager2.update(true);
        }
        try {
            toolBarManager2.update(true);
            toolBarManager2.getControl().getParent().layout(true);
            toolBarManager2.getControl().getParent().update();
        } catch (NullPointerException e) {
            // ignore, i'm just curios why we need this code in 3.2 and expect
            // some unwanted side effects...
        }
    }
    return control;
}