/* This file is part of Green. * * Copyright (C) 2005 The Research Foundation of State University of New York * All Rights Under Copyright Reserved, The Research Foundation of S.U.N.Y. * * Green is free software, licensed under the terms of the Eclipse * Public License, version 1.0. The license is available at * http://www.eclipse.org/legal/epl-v10.html */ package edu.buffalo.cse.green.editor.controller; import static edu.buffalo.cse.green.preferences.PreferenceInitializer.P_COLOR_COMPARTMENT_BORDER; import static edu.buffalo.cse.green.preferences.PreferenceInitializer.P_DISPLAY_INCREMENTAL_EXPLORER_DIA; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.LineBorder; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.gef.DragTracker; import org.eclipse.gef.Request; import edu.buffalo.cse.green.PlugIn; import edu.buffalo.cse.green.editor.model.CompartmentModel; import edu.buffalo.cse.green.editor.model.commands.DeleteCommand; import edu.buffalo.cse.green.editor.view.CompartmentFigure; /** * Creates a compartment with a maximum height/width used to store * <code>IJavaElement</code>s in a class box. * * @author bcmartin * @author evertwoo * @author rjtruban */ public class CompartmentPart extends AbstractPart { /** * @see edu.buffalo.cse.green.editor.controller.AbstractPart#doCreateFigure() */ protected IFigure doCreateFigure() { // create the figure and set its layout policy CompartmentFigure cFigure = new CompartmentFigure(); ToolbarLayout layout = (ToolbarLayout) cFigure.getLayoutManager(); layout.setMinorAlignment(model().getLayout()); // add in extraneous labels model().dispatchLabels(this, cFigure); return cFigure; } /** * Auxiliary method; makes reading easier. */ private CompartmentModel model() { return (CompartmentModel) getModel(); } /** * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies() */ protected void createEditPolicies() { super.createEditPolicies(); } /** * @see edu.buffalo.cse.green.editor.controller.AbstractPart#getDeleteCommand() */ public DeleteCommand getDeleteCommand() { return null; } /** * @see org.eclipse.gef.EditPart#getDragTracker(org.eclipse.gef.Request) */ public DragTracker getDragTracker(Request request) { return getParent().getDragTracker(request); } /** * @see edu.buffalo.cse.green.editor.controller.AbstractPart#onDoubleClick() */ protected void onDoubleClick() { AbstractPart parentEditPart = (AbstractPart) getParent(); parentEditPart.onDoubleClick(); } /** * @see edu.buffalo.cse.green.editor.controller.AbstractPart#updateColors(org.eclipse.draw2d.IFigure) */ protected void updateColors(IFigure f) { f.setBorder(new LineBorder(PlugIn.getColorPreference( P_COLOR_COMPARTMENT_BORDER), 1)); } /** * @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals() */ protected void refreshVisuals() { model().updateLabels(PlugIn.getBooleanPreference(P_DISPLAY_INCREMENTAL_EXPLORER_DIA)); } /** * @see edu.buffalo.cse.green.editor.controller.AbstractPart#setInitialBackgroundColor() */ public void setInitialBackgroundColor() { // not necessary } /** * @see edu.buffalo.cse.green.editor.controller.AbstractPart#addPropertyListeners() */ protected void addPropertyListeners() { // do nothing } }