Refactory: externaltools plugin.
[phpeclipse.git] / net.sourceforge.phpeclipse.externaltools / src / net / sourceforge / phpdt / externaltools / group / IGroupDialogPage.java
1 package net.sourceforge.phpdt.externaltools.group;
2
3 /**********************************************************************
4  Copyright (c) 2002 IBM Corp. and others. All rights reserved.
5  This file is made available under the terms of the Common Public License v1.0
6  which accompanies this distribution, and is available at
7  http://www.eclipse.org/legal/cpl-v10.html
8  �
9  Contributors:
10  **********************************************************************/
11
12 import org.eclipse.jface.dialogs.IMessageProvider;
13 import org.eclipse.swt.layout.GridData;
14 import org.eclipse.swt.widgets.Button;
15
16 /**
17  * Represents the API for a group of visual components to access the dialog page
18  * that contains it.
19  * <p>
20  * This interface is not intended to be extended nor implemented by clients.
21  * </p>
22  */
23 public interface IGroupDialogPage extends IMessageProvider {
24         /**
25          * Sets the <code>GridData</code> on the specified button to be one that
26          * is spaced for the current dialog page units.
27          * 
28          * @param button
29          *            the button to set the <code>GridData</code>
30          * @return the <code>GridData</code> set on the specified button
31          */
32         public GridData setButtonGridData(Button button);
33
34         /**
35          * Sets the message for this page with an indication of what type of message
36          * it is.
37          * <p>
38          * The valid message types are one of <code>NONE</code>,
39          * <code>INFORMATION</code>, <code>WARNING</code>, or
40          * <code>ERROR</code>.
41          * </p>
42          * 
43          * @param newMessage
44          *            the message, or <code>null</code> to clear the message
45          * @param newType
46          *            the message type
47          */
48         public void setMessage(String newMessage, int newType);
49
50         /**
51          * Updates the page's valid state using the group's current valid state.
52          * This will cause the dialog's buttons dependent on the page's valid state
53          * to update to reflect the new state.
54          */
55         public void updateValidState();
56
57         /**
58          * Converts a height in characters to a height in pixels.
59          * 
60          * @param chars
61          *            the height in characters to be converted
62          * @return the corresponding height in pixels
63          */
64         public int convertHeightHint(int chars);
65 }