blob: d6b47bc74af73e53a17cad3f38d98d63e6f5b1ae [file] [log] [blame]
/*
* @(#)$RCSfile: MTabRulerComponent.java,v $ $Revision: 1.1 $ $Date: 2000/04/20 17:41:49 $
*
* (C) Copyright IBM Corp. 1998-1999. All Rights Reserved.
*
* The program is provided "as is" without any warranty express or
* implied, including the warranty of non-infringement and the implied
* warranties of merchantibility and fitness for a particular purpose.
* IBM will not be liable for any damages suffered by you as a result
* of using the Program. In no event will IBM be liable for any
* special, indirect or consequential damages or lost profits even if
* IBM has been advised of the possibility of their occurrence. IBM
* will not be liable for any third party claims against you.
*/
package com.ibm.richtext.awtui;
import java.awt.Color;
import com.ibm.richtext.styledtext.MTabRuler;
import com.ibm.richtext.textpanel.MTextPanel;
/**
* MTabRulerComponent is implemented by components which provide a tab-ruler
* interface for interacting with an MTextPanel.
* <p>
* Users interact with MTabRulerComponent implementations as follows:
* <ul>
* <li>The leading margin can be set by dragging the bottom half
* of the leftmost triangle. The first-line indent will "stick" with
* the leading margin.</li>
* <li>The first-line indent can be set by dragging the top half of the
* leftmost triangle. The first-line indent applies to the first line of
* a paragraph.</li>
* <li>The trailing margin can be set by dragging the rightmost triangle.</li>
* <li>Tabs can be added to the ruler by clicking the mouse on the ruler with the
* control key pressed. Four kinds of tabs are provided: leading, trailing, center,
* and decimal. The type of a tab can be changed by double-clicking the tab.</li>
* <li>Tabs can be repositioned by dragging them with the mouse.</li>
* </ul>
* <p>
* MTabRulerComponent's appearance will reflect the paragraph styles in the
* first selected paragraph. Style changes performed with an
* MTabRulerComponent will apply to all selected paragraphs.
*/
public interface MTabRulerComponent {
static final String COPYRIGHT =
"(C) Copyright IBM Corp. 1998-1999 - All Rights Reserved";
/**
* Listen to the given MTextPanel and reflect its changes,
* and update its paragraph styles when TabRuler is
* manipulated.
* @param textPanel the MTextPanel to listen to
*/
public void listenToTextPanel(MTextPanel textPanel);
/**
* Return the background color of this TabRuler.
* @return the background color of this TabRuler
*/
public Color getBackColor();
/**
* Set the background color of this TabRuler.
* @param backColor the new background color of this TabRuler
*/
public void setBackColor(Color backColor);
/**
* Return the MTabRuler represented by this TabRuler.
* @return the MTabRuler represented by this TabRuler
*/
public MTabRuler getRuler();
/**
* Return the leading margin of this TabRuler.
* @return the leading margin of this TabRuler
*/
public int getLeadingMargin();
/**
* Return the first line indent of this TabRuler.
* @return the first line indent of this TabRuler
*/
public int getFirstLineIndent();
/**
* Return the trailing margin of this TabRuler.
* @return the trailing margin of this TabRuler
*/
public int getTrailingMargin();
}