comparison org.eclipse.jface.text/src/org/eclipse/jface/internal/text/InternalAccessor.d @ 12:bc29606a740c

Added dwt-addons in original directory structure of eclipse.org
author Frank Benoit <benoit@tionex.de>
date Sat, 14 Mar 2009 18:23:29 +0100
parents
children
comparison
equal deleted inserted replaced
11:43904fec5dca 12:bc29606a740c
1 /*******************************************************************************
2 * Copyright (c) 2008 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 * Port to the D programming language:
11 * Frank Benoit <benoit@tionex.de>
12 *******************************************************************************/
13 module org.eclipse.jface.internal.text.InternalAccessor;
14
15 import org.eclipse.jface.internal.text.NonDeletingPositionUpdater; // packageimport
16 import org.eclipse.jface.internal.text.StickyHoverManager; // packageimport
17 import org.eclipse.jface.internal.text.InformationControlReplacer; // packageimport
18 import org.eclipse.jface.internal.text.TableOwnerDrawSupport; // packageimport
19 import org.eclipse.jface.internal.text.DelayedInputChangeListener; // packageimport
20
21
22 import java.lang.all;
23 import java.util.Set;
24
25
26
27 import org.eclipse.swt.graphics.Rectangle;
28 import org.eclipse.jface.text.AbstractInformationControlManager;
29 import org.eclipse.jface.text.IInformationControl;
30 import org.eclipse.jface.text.IInformationControlExtension3;
31 import org.eclipse.jface.text.ITextViewerExtension8;
32 import org.eclipse.jface.text.ITextViewerExtension8;
33
34
35 /**
36 * An internal class that gives access to internal methods of {@link
37 * AbstractInformationControlManager} and subclasses.
38 *
39 * @since 3.4
40 */
41 public abstract class InternalAccessor {
42
43 /**
44 * Returns the current information control, or <code>null</code> if none.
45 *
46 * @return the current information control, or <code>null</code> if none
47 */
48 public abstract IInformationControl getCurrentInformationControl();
49
50 /**
51 * Sets the information control replacer for this manager and disposes the
52 * old one if set.
53 *
54 * @param replacer the information control replacer for this manager, or
55 * <code>null</code> if no information control replacing should
56 * take place
57 */
58 public abstract void setInformationControlReplacer(InformationControlReplacer replacer);
59
60 /**
61 * Returns the current information control replacer or <code>null</code> if none has been installed.
62 *
63 * @return the current information control replacer or <code>null</code> if none has been installed
64 */
65 public abstract InformationControlReplacer getInformationControlReplacer();
66
67 /**
68 * Tests whether the given information control is replaceable.
69 *
70 * @param iControl information control or <code>null</code> if none
71 * @return <code>true</code> if information control is replaceable, <code>false</code> otherwise
72 */
73 public abstract bool canReplace(IInformationControl iControl);
74
75 /**
76 * Tells whether this manager's information control is currently being replaced.
77 *
78 * @return <code>true</code> if a replace is in progress
79 */
80 public abstract bool isReplaceInProgress();
81
82 /**
83 * Crops the given bounds such that they lie completely on the closest monitor.
84 *
85 * @param bounds shell bounds to crop
86 */
87 public abstract void cropToClosestMonitor(Rectangle bounds);
88
89 /**
90 * Sets the hover enrich mode. Only applicable when an information
91 * control replacer has been set with
92 * {@link #setInformationControlReplacer(InformationControlReplacer)} .
93 *
94 * @param mode the enrich mode
95 * @see ITextViewerExtension8#setHoverEnrichMode(org.eclipse.jface.text.ITextViewerExtension8.EnrichMode)
96 */
97 public abstract void setHoverEnrichMode(ITextViewerExtension8_EnrichMode mode);
98
99 /**
100 * Indicates whether the mouse cursor is allowed to leave the subject area without closing the hover.
101 *
102 * @return whether the mouse cursor is allowed to leave the subject area without closing the hover
103 */
104 public abstract bool getAllowMouseExit();
105
106 /**
107 * Replaces this manager's information control as defined by
108 * the information control replacer.
109 * <strong>Must only be called when the information control is instanceof {@link IInformationControlExtension3}!</strong>
110 *
111 * @param takeFocus <code>true</code> iff the replacing information control should take focus
112 */
113 public abstract void replaceInformationControl(bool takeFocus);
114
115 }