package org.xmind.ui.internal.editor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
/**
* @author Jason Wong
*/
public class EditorLayoutManager implements IEditorLayoutManager {
private Composite pageContainer;
private IEditorLayout currentEditorLayout;
public EditorLayoutManager(Composite pageContainer) {
this.pageContainer = pageContainer;
}
@Override
public void setActiveLayout(IEditorLayout editorLayout) {
pageContainer.setRedraw(false);
if (currentEditorLayout != null)
currentEditorLayout.deactivate(pageContainer);
currentEditorLayout = editorLayout;
currentEditorLayout.activate(pageContainer);
pageContainer.computeSize(SWT.DEFAULT, SWT.DEFAULT);
pageContainer.layout();
pageContainer.setRedraw(true);
}
@Override
public IEditorLayout getActiveLayout() {
return currentEditorLayout;
}
@Override
public void restoreDefault() {
setActiveLayout(new DefaultEditorLayout());
}
}