14b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye/******************************************************************************* 24b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Copyright (c) 2011 Google, Inc. 34b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * All rights reserved. This program and the accompanying materials 44b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * are made available under the terms of the Eclipse Public License v1.0 54b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * which accompanies this distribution, and is available at 64b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * http://www.eclipse.org/legal/epl-v10.html 74b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * 84b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Contributors: 94b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Google, Inc. - initial API and implementation 104b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye *******************************************************************************/ 114b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyepackage org.eclipse.wb.internal.core.editor.structure; 124b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 134b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyeimport org.eclipse.jface.action.IToolBarManager; 144b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyeimport org.eclipse.swt.widgets.Composite; 154b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyeimport org.eclipse.swt.widgets.Control; 164b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 174b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye/** 184b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * View-like page. 194b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * 204b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * @author scheglov_ke 214b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * @coverage core.editor.structure 224b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 234b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyepublic interface IPage { 244b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye /** 254b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Creates the {@link Control} for this page. 264b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 274b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye void createControl(Composite parent); 284b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 294b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye /** 304b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Disposes this page. 314b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * <p> 324b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * This is the last method called on the {@link IPage}. Implementors should clean up any resources 334b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * associated with the page. 344b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * <p> 354b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Note that there is no guarantee that {@link #createControl(Composite)} has been called, so the 364b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * control may never have been created. 374b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 384b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye void dispose(); 394b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 404b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye /** 414b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * @return the {@link Control} of this page, may be <code>null</code>. 424b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 434b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye Control getControl(); 444b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 454b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye /** 464b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Allows the page to make contributions to the given {@link IToolBarManager}. The contributions 474b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * will be visible when the page is visible. This method is automatically called shortly after 484b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * {@link #createControl(Composite)} is called. 494b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 504b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye void setToolBar(IToolBarManager toolBarManager); 514b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 524b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye /** 534b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Asks this page to take focus. 544b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 554b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye void setFocus(); 564b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye} 57