/******************************************************************************* * Copyright (c) Emil Crumhorn - Hexapixel.com - emil.crumhorn@gmail.com * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * emil.crumhorn@gmail.com - initial API and implementation *******************************************************************************/ package com.hexapixel.widgets.ribbon; import java.util.ArrayList; import java.util.List; import org.eclipse.swt.graphics.Rectangle; public class RibbonToolbarGrouping { private RibbonGroup mRibbonGroup; private List<RibbonButton> mItems; private int mRow; private Rectangle mBounds; public RibbonToolbarGrouping(RibbonToolbar toolbar, int row) { mRibbonGroup = toolbar.getRibbonGroup(); mItems = new ArrayList<RibbonButton>(); mRow = row; toolbar.addButtonGrouping(this); } public RibbonToolbarGrouping(QuickAccessShellToolbar toolbar) { mItems = new ArrayList<RibbonButton>(); toolbar.addButtonGrouping(this); } public RibbonGroup getRibbonGroup() { return mRibbonGroup; } protected void toolItemAdded(RibbonButton rb) { if (!mItems.contains(rb)) mItems.add(rb); mRibbonGroup.updateToolbarBounds(); } public void removeButton(RibbonButton rb) { mItems.remove(rb); } public List<RibbonButton> getItems() { return mItems; } public int getRow() { return mRow; } public void setRow(int row) { mRow = row; } public Rectangle getBounds() { return mBounds; } public void setBounds(Rectangle bounds) { mBounds = bounds; } }