129
|
1 /*******************************************************************************
|
|
2 * Copyright (c) 2000, 2005 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 dwtx.jface.text.IDocumentPartitioningListener;
|
|
14
|
159
|
15 // import dwtx.jface.text.DefaultTextHover; // packageimport
|
|
16 // import dwtx.jface.text.AbstractInformationControl; // packageimport
|
|
17 // import dwtx.jface.text.TextUtilities; // packageimport
|
|
18 // import dwtx.jface.text.IInformationControlCreatorExtension; // packageimport
|
|
19 // import dwtx.jface.text.AbstractInformationControlManager; // packageimport
|
|
20 // import dwtx.jface.text.ITextViewerExtension2; // packageimport
|
|
21 // import dwtx.jface.text.IDocumentPartitioner; // packageimport
|
|
22 // import dwtx.jface.text.DefaultIndentLineAutoEditStrategy; // packageimport
|
|
23 // import dwtx.jface.text.ITextSelection; // packageimport
|
|
24 // import dwtx.jface.text.Document; // packageimport
|
|
25 // import dwtx.jface.text.FindReplaceDocumentAdapterContentProposalProvider; // packageimport
|
|
26 // import dwtx.jface.text.ITextListener; // packageimport
|
|
27 // import dwtx.jface.text.BadPartitioningException; // packageimport
|
|
28 // import dwtx.jface.text.ITextViewerExtension5; // packageimport
|
|
29 // import dwtx.jface.text.IDocumentPartitionerExtension3; // packageimport
|
|
30 // import dwtx.jface.text.IUndoManager; // packageimport
|
|
31 // import dwtx.jface.text.ITextHoverExtension2; // packageimport
|
|
32 // import dwtx.jface.text.IRepairableDocument; // packageimport
|
|
33 // import dwtx.jface.text.IRewriteTarget; // packageimport
|
|
34 // import dwtx.jface.text.DefaultPositionUpdater; // packageimport
|
|
35 // import dwtx.jface.text.RewriteSessionEditProcessor; // packageimport
|
|
36 // import dwtx.jface.text.TextViewerHoverManager; // packageimport
|
|
37 // import dwtx.jface.text.DocumentRewriteSession; // packageimport
|
|
38 // import dwtx.jface.text.TextViewer; // packageimport
|
|
39 // import dwtx.jface.text.ITextViewerExtension8; // packageimport
|
|
40 // import dwtx.jface.text.RegExMessages; // packageimport
|
|
41 // import dwtx.jface.text.IDelayedInputChangeProvider; // packageimport
|
|
42 // import dwtx.jface.text.ITextOperationTargetExtension; // packageimport
|
|
43 // import dwtx.jface.text.IWidgetTokenOwner; // packageimport
|
|
44 // import dwtx.jface.text.IViewportListener; // packageimport
|
|
45 // import dwtx.jface.text.GapTextStore; // packageimport
|
|
46 // import dwtx.jface.text.MarkSelection; // packageimport
|
|
47 // import dwtx.jface.text.IDocumentPartitioningListenerExtension; // packageimport
|
|
48 // import dwtx.jface.text.IDocumentAdapterExtension; // packageimport
|
|
49 // import dwtx.jface.text.IInformationControlExtension; // packageimport
|
|
50 // import dwtx.jface.text.IDocumentPartitioningListenerExtension2; // packageimport
|
|
51 // import dwtx.jface.text.DefaultDocumentAdapter; // packageimport
|
|
52 // import dwtx.jface.text.ITextViewerExtension3; // packageimport
|
|
53 // import dwtx.jface.text.IInformationControlCreator; // packageimport
|
|
54 // import dwtx.jface.text.TypedRegion; // packageimport
|
|
55 // import dwtx.jface.text.ISynchronizable; // packageimport
|
|
56 // import dwtx.jface.text.IMarkRegionTarget; // packageimport
|
|
57 // import dwtx.jface.text.TextViewerUndoManager; // packageimport
|
|
58 // import dwtx.jface.text.IRegion; // packageimport
|
|
59 // import dwtx.jface.text.IInformationControlExtension2; // packageimport
|
|
60 // import dwtx.jface.text.IDocumentExtension4; // packageimport
|
|
61 // import dwtx.jface.text.IDocumentExtension2; // packageimport
|
|
62 // import dwtx.jface.text.IDocumentPartitionerExtension2; // packageimport
|
|
63 // import dwtx.jface.text.Assert; // packageimport
|
|
64 // import dwtx.jface.text.DefaultInformationControl; // packageimport
|
|
65 // import dwtx.jface.text.IWidgetTokenOwnerExtension; // packageimport
|
|
66 // import dwtx.jface.text.DocumentClone; // packageimport
|
|
67 // import dwtx.jface.text.DefaultUndoManager; // packageimport
|
|
68 // import dwtx.jface.text.IFindReplaceTarget; // packageimport
|
|
69 // import dwtx.jface.text.IAutoEditStrategy; // packageimport
|
|
70 // import dwtx.jface.text.ILineTrackerExtension; // packageimport
|
|
71 // import dwtx.jface.text.IUndoManagerExtension; // packageimport
|
|
72 // import dwtx.jface.text.TextSelection; // packageimport
|
|
73 // import dwtx.jface.text.DefaultAutoIndentStrategy; // packageimport
|
|
74 // import dwtx.jface.text.IAutoIndentStrategy; // packageimport
|
|
75 // import dwtx.jface.text.IPainter; // packageimport
|
|
76 // import dwtx.jface.text.IInformationControl; // packageimport
|
|
77 // import dwtx.jface.text.IInformationControlExtension3; // packageimport
|
|
78 // import dwtx.jface.text.ITextViewerExtension6; // packageimport
|
|
79 // import dwtx.jface.text.IInformationControlExtension4; // packageimport
|
|
80 // import dwtx.jface.text.DefaultLineTracker; // packageimport
|
|
81 // import dwtx.jface.text.IDocumentInformationMappingExtension; // packageimport
|
|
82 // import dwtx.jface.text.IRepairableDocumentExtension; // packageimport
|
|
83 // import dwtx.jface.text.ITextHover; // packageimport
|
|
84 // import dwtx.jface.text.FindReplaceDocumentAdapter; // packageimport
|
|
85 // import dwtx.jface.text.ILineTracker; // packageimport
|
|
86 // import dwtx.jface.text.Line; // packageimport
|
|
87 // import dwtx.jface.text.ITextViewerExtension; // packageimport
|
|
88 // import dwtx.jface.text.IDocumentAdapter; // packageimport
|
|
89 // import dwtx.jface.text.TextEvent; // packageimport
|
|
90 // import dwtx.jface.text.BadLocationException; // packageimport
|
|
91 // import dwtx.jface.text.AbstractDocument; // packageimport
|
|
92 // import dwtx.jface.text.AbstractLineTracker; // packageimport
|
|
93 // import dwtx.jface.text.TreeLineTracker; // packageimport
|
|
94 // import dwtx.jface.text.ITextPresentationListener; // packageimport
|
|
95 // import dwtx.jface.text.Region; // packageimport
|
|
96 // import dwtx.jface.text.ITextViewer; // packageimport
|
|
97 // import dwtx.jface.text.IDocumentInformationMapping; // packageimport
|
|
98 // import dwtx.jface.text.MarginPainter; // packageimport
|
|
99 // import dwtx.jface.text.IPaintPositionManager; // packageimport
|
|
100 // import dwtx.jface.text.TextPresentation; // packageimport
|
|
101 // import dwtx.jface.text.IFindReplaceTargetExtension; // packageimport
|
|
102 // import dwtx.jface.text.ISlaveDocumentManagerExtension; // packageimport
|
|
103 // import dwtx.jface.text.ISelectionValidator; // packageimport
|
|
104 // import dwtx.jface.text.IDocumentExtension; // packageimport
|
|
105 // import dwtx.jface.text.PropagatingFontFieldEditor; // packageimport
|
|
106 // import dwtx.jface.text.ConfigurableLineTracker; // packageimport
|
|
107 // import dwtx.jface.text.SlaveDocumentEvent; // packageimport
|
|
108 // import dwtx.jface.text.IDocumentListener; // packageimport
|
|
109 // import dwtx.jface.text.PaintManager; // packageimport
|
|
110 // import dwtx.jface.text.IFindReplaceTargetExtension3; // packageimport
|
|
111 // import dwtx.jface.text.ITextDoubleClickStrategy; // packageimport
|
|
112 // import dwtx.jface.text.IDocumentExtension3; // packageimport
|
|
113 // import dwtx.jface.text.Position; // packageimport
|
|
114 // import dwtx.jface.text.TextMessages; // packageimport
|
|
115 // import dwtx.jface.text.CopyOnWriteTextStore; // packageimport
|
|
116 // import dwtx.jface.text.WhitespaceCharacterPainter; // packageimport
|
|
117 // import dwtx.jface.text.IPositionUpdater; // packageimport
|
|
118 // import dwtx.jface.text.DefaultTextDoubleClickStrategy; // packageimport
|
|
119 // import dwtx.jface.text.ListLineTracker; // packageimport
|
|
120 // import dwtx.jface.text.ITextInputListener; // packageimport
|
|
121 // import dwtx.jface.text.BadPositionCategoryException; // packageimport
|
|
122 // import dwtx.jface.text.IWidgetTokenKeeperExtension; // packageimport
|
|
123 // import dwtx.jface.text.IInputChangedListener; // packageimport
|
|
124 // import dwtx.jface.text.ITextOperationTarget; // packageimport
|
|
125 // import dwtx.jface.text.IDocumentInformationMappingExtension2; // packageimport
|
|
126 // import dwtx.jface.text.ITextViewerExtension7; // packageimport
|
|
127 // import dwtx.jface.text.IInformationControlExtension5; // packageimport
|
|
128 // import dwtx.jface.text.IDocumentRewriteSessionListener; // packageimport
|
|
129 // import dwtx.jface.text.JFaceTextUtil; // packageimport
|
|
130 // import dwtx.jface.text.AbstractReusableInformationControlCreator; // packageimport
|
|
131 // import dwtx.jface.text.TabsToSpacesConverter; // packageimport
|
|
132 // import dwtx.jface.text.CursorLinePainter; // packageimport
|
|
133 // import dwtx.jface.text.ITextHoverExtension; // packageimport
|
|
134 // import dwtx.jface.text.IEventConsumer; // packageimport
|
131
|
135 import dwtx.jface.text.IDocument; // packageimport
|
159
|
136 // import dwtx.jface.text.IWidgetTokenKeeper; // packageimport
|
|
137 // import dwtx.jface.text.DocumentCommand; // packageimport
|
|
138 // import dwtx.jface.text.TypedPosition; // packageimport
|
|
139 // import dwtx.jface.text.IEditingSupportRegistry; // packageimport
|
|
140 // import dwtx.jface.text.IDocumentPartitionerExtension; // packageimport
|
|
141 // import dwtx.jface.text.AbstractHoverInformationControlManager; // packageimport
|
|
142 // import dwtx.jface.text.IEditingSupport; // packageimport
|
|
143 // import dwtx.jface.text.IMarkSelection; // packageimport
|
|
144 // import dwtx.jface.text.ISlaveDocumentManager; // packageimport
|
|
145 // import dwtx.jface.text.DocumentEvent; // packageimport
|
|
146 // import dwtx.jface.text.DocumentPartitioningChangedEvent; // packageimport
|
|
147 // import dwtx.jface.text.ITextStore; // packageimport
|
|
148 // import dwtx.jface.text.JFaceTextMessages; // packageimport
|
|
149 // import dwtx.jface.text.DocumentRewriteSessionEvent; // packageimport
|
|
150 // import dwtx.jface.text.SequentialRewriteTextStore; // packageimport
|
|
151 // import dwtx.jface.text.DocumentRewriteSessionType; // packageimport
|
|
152 // import dwtx.jface.text.TextAttribute; // packageimport
|
|
153 // import dwtx.jface.text.ITextViewerExtension4; // packageimport
|
|
154 // import dwtx.jface.text.ITypedRegion; // packageimport
|
131
|
155
|
|
156
|
129
|
157 import dwt.dwthelper.utils;
|
|
158
|
|
159
|
|
160
|
|
161 /**
|
|
162 * Interface of objects which are interested in getting informed
|
|
163 * about changes of a document's partitioning.
|
|
164 * <p>
|
|
165 * Clients may implement this interface.
|
|
166 * </p>
|
|
167 * <p>
|
|
168 * In order to provided backward compatibility for clients of <code>IDocumentPartitioningListener</code>, extension
|
|
169 * interfaces are used to provide a means of evolution. The following extension interfaces
|
|
170 * exist:
|
|
171 * <ul>
|
|
172 * <li> {@link dwtx.jface.text.IDocumentPartitioningListenerExtension} since version 2.0 replacing the original
|
|
173 * notification mechanism.</li>
|
|
174 * <li> {@link dwtx.jface.text.IDocumentPartitioningListenerExtension2} since version 3.0 replacing all previous
|
|
175 * notification mechanisms. Thus, implementers up-to-date with version 3.0 do not have to implement
|
|
176 * {@link dwtx.jface.text.IDocumentPartitioningListenerExtension}.</li>
|
|
177 * </ul>
|
|
178 * </p>
|
|
179 * @see dwtx.jface.text.IDocumentPartitioningListenerExtension
|
|
180 * @see dwtx.jface.text.IDocumentPartitioningListenerExtension2
|
|
181 * @see dwtx.jface.text.IDocument
|
|
182 * @see dwtx.jface.text.IDocumentPartitioner
|
|
183 */
|
|
184 public interface IDocumentPartitioningListener {
|
|
185
|
|
186 /**
|
|
187 * The partitioning of the given document changed.
|
|
188 * <p>
|
|
189 * In version 2.0 this method has been replaces by
|
|
190 * {@link IDocumentPartitioningListenerExtension#documentPartitioningChanged(IDocument, IRegion)}.
|
|
191 * <p>
|
|
192 * In version 3.0 this method has been replaces by
|
|
193 * {@link IDocumentPartitioningListenerExtension2#documentPartitioningChanged(DocumentPartitioningChangedEvent)}<p>
|
|
194 *
|
|
195 * @param document the document whose partitioning changed
|
|
196 *
|
|
197 * @see IDocumentPartitioningListenerExtension#documentPartitioningChanged(IDocument, IRegion)
|
|
198 * @see IDocumentPartitioningListenerExtension2#documentPartitioningChanged(DocumentPartitioningChangedEvent)
|
|
199 * @see IDocument#addDocumentPartitioningListener(IDocumentPartitioningListener)
|
|
200 */
|
|
201 void documentPartitioningChanged(IDocument document);
|
|
202 }
|