/*******************************************************************************
* 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 org.eclipse.nebula.widgets.collapsiblebuttons;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
public interface ISettings {
/**
* Returns the height of a button.
*
* @return Button height. Default is 31.
*/
public int getButtonHeight();
/**
* Whether to draw a 1 pixel border on the left, right and top side of the ButtonComposite.
*
* @return true if draw border. Default is false.
*/
public boolean drawBorder();
/**
* Whether to show the toolbar at the bottom or not.
*
* @return true if to show toolbar. Default is true.
*/
public boolean showToolBar();
/**
* Whether buttons can be resized via the resize bar.
*
* @return true if to allow button resizing. Default is true.
*/
public boolean allowButtonResizing();
/**
* Returns the image for the Outlook 2005 styled arrow.
*
* @return Image
*/
public Image getOutlook2005ArrowImage();
/**
* Returns the image for the Outlook 2007 styled arrow.
*
* @return Image
*/
public Image getOutlook2007ArrowImage();
/**
* Returns the pixel height of the Outlook 2005 resize bar.
*
* @return Height in pixels. Default is 7.
*/
public int getOutlook2005ResizeBarSize();
/**
* Returns the pixel height of the Outlook 2007 resize bar.
*
* @return Height in pixels. Default is 9.
*/
public int getOutlook2007ResizeBarSize();
/**
* Returns the IButtonPainter to use to paint buttons.
*
* @return IButtonPainter. Default is DefaultButtonPainter.
*/
public IButtonPainter getButtonPainter();
/**
* Returns the number of dots shown on the resize bar for the Outlook 2005 styled resize bar.
*
* @return Number of dots to show. Default is 9.
*/
public int getOutlook2005ResizeDotNumber();
/**
* Returns the number of dots shown on the resize bar for the Outlook 2007 styled resize bar.
*
* @return Number of dots to show. Default is 5.
*/
public int getOutlook2007ResizeDotNumber();
/**
* Returns the Font to use when drawing text on the buttons. Font will be disposed after use.
*
* @param currentFont The current font that it is recommended to modify and return
* @return Font to use. Default is a bold font.
*/
public Font getButtonTextFont(Font currentFont);
/**
* Returns the Color used for the text on the buttons.
*
* @return Color. Default is R32 G77 B137.
*/
public Color getButtonTextColor();
/**
* Returns the number of pixels between each item on the toolbar.
*
* @return Pixel spacing. Default is 8.
*/
public int getToolBarSpacing();
/**
* Returns the number of pixels left of an item on the toolbar that the selection area should cover.
*
* @return Pixel number.
*/
public int getToolBarLeftSpacer();
/**
* Returns the number of pixels right of an item on the toolbar that the selection area should cover.
*
* @return Pixel number.
*/
public int getToolBarRightSpacer();
/**
* Returns the spacing between the left side border and the text on a button.
*
* @return pixels spacing. Default is 4.
*/
public int getLeftButtonTextSpacing();
/**
* Returns the spacing between the image and the text on a button.
*
* @return pixels spacing. Default is 5.
*/
public int getButtonTextImageSpacing();
}