comparison dwtx/jface/text/hyperlink/MultipleHyperlinkPresenter.d @ 162:1a5b8f8129df

...
author Frank Benoit <benoit@tionex.de>
date Mon, 08 Sep 2008 00:51:37 +0200
parents 25f1f92fa3df
children c3583c6ec027
comparison
equal deleted inserted replaced
161:f8d52b926852 162:1a5b8f8129df
221 fTable.setBackground(fBackgroundColor); 221 fTable.setBackground(fBackgroundColor);
222 222
223 final TableViewer viewer= new TableViewer(fTable); 223 final TableViewer viewer= new TableViewer(fTable);
224 viewer.setContentProvider(new LinkContentProvider()); 224 viewer.setContentProvider(new LinkContentProvider());
225 viewer.setLabelProvider(new LinkLabelProvider()); 225 viewer.setLabelProvider(new LinkLabelProvider());
226 viewer.setInput(fInput); 226 viewer.setInput(new ArrayWrapperObject( arraycast!(Object)(fInput)));
227 fTable.setSelection(0); 227 fTable.setSelection(0);
228 228
229 registerTableListeners(); 229 registerTableListeners();
230 230
231 getShell().addShellListener(new class() ShellAdapter { 231 getShell().addShellListener(new class() ShellAdapter {
247 247
248 fTable.addMouseMoveListener(new class() MouseMoveListener { 248 fTable.addMouseMoveListener(new class() MouseMoveListener {
249 TableItem fLastItem= null; 249 TableItem fLastItem= null;
250 250
251 public void mouseMove(MouseEvent e) { 251 public void mouseMove(MouseEvent e) {
252 if (fTable.equals(e.getSource())) { 252 if (fTable.opEquals(e.getSource())) {
253 Object o= fTable.getItem(new Point(e.x, e.y)); 253 Object o= fTable.getItem(new Point(e.x, e.y));
254 if ( cast(TableItem)o ) { 254 if ( cast(TableItem)o ) {
255 TableItem item= cast(TableItem) o; 255 TableItem item= cast(TableItem) o;
256 if (!o.equals(fLastItem)) { 256 if (!o.opEquals(fLastItem)) {
257 fLastItem= cast(TableItem) o; 257 fLastItem= cast(TableItem) o;
258 fTable.setSelection([ fLastItem ]); 258 fTable.setSelection([ fLastItem ]);
259 } else if (e.y < fTable.getItemHeight() / 4) { 259 } else if (e.y < fTable.getItemHeight() / 4) {
260 // Scroll up 260 // Scroll up
261 int index= fTable.indexOf(item); 261 int index= fTable.indexOf(item);
288 return; 288 return;
289 289
290 if (e.button !is 1) 290 if (e.button !is 1)
291 return; 291 return;
292 292
293 if (fTable.equals(e.getSource())) { 293 if (fTable.opEquals(e.getSource())) {
294 Object o= fTable.getItem(new Point(e.x, e.y)); 294 Object o= fTable.getItem(new Point(e.x, e.y));
295 TableItem selection= fTable.getSelection()[0]; 295 TableItem selection= fTable.getSelection()[0];
296 if (selection.equals(o)) 296 if (selection.opEquals(o))
297 openSelectedLink(); 297 openSelectedLink();
298 } 298 }
299 } 299 }
300 }); 300 });
301 301
344 344
345 /* 345 /*
346 * @see dwtx.jface.text.ITextHoverExtension2#getHoverInfo2(dwtx.jface.text.ITextViewer, dwtx.jface.text.IRegion) 346 * @see dwtx.jface.text.ITextHoverExtension2#getHoverInfo2(dwtx.jface.text.ITextViewer, dwtx.jface.text.IRegion)
347 */ 347 */
348 public Object getHoverInfo2(ITextViewer textViewer, IRegion hoverRegion) { 348 public Object getHoverInfo2(ITextViewer textViewer, IRegion hoverRegion) {
349 return fHyperlinks; 349 return new ArrayWrapperObject( arraycast!(Object)(fHyperlinks));
350 } 350 }
351 351
352 /* 352 /*
353 * @see dwtx.jface.text.ITextHoverExtension#getHoverControlCreator() 353 * @see dwtx.jface.text.ITextHoverExtension#getHoverControlCreator()
354 */ 354 */
538 * @see dwtx.jface.text.AbstractInformationControlManager#computeInformation() 538 * @see dwtx.jface.text.AbstractInformationControlManager#computeInformation()
539 */ 539 */
540 protected void computeInformation() { 540 protected void computeInformation() {
541 IRegion region= fHover.getHoverRegion(fTextViewer, -1); 541 IRegion region= fHover.getHoverRegion(fTextViewer, -1);
542 if (region is null) { 542 if (region is null) {
543 setInformation(null, null); 543 setInformation(cast(Object)null, cast(Rectangle)null);
544 return; 544 return;
545 } 545 }
546 546
547 Rectangle area= JFaceTextUtil.computeArea(region, fTextViewer); 547 Rectangle area= JFaceTextUtil.computeArea(region, fTextViewer);
548 if (area is null || area.isEmpty()) { 548 if (area is null || area.isEmpty()) {
549 setInformation(null, null); 549 setInformation(cast(Object)null, cast(Rectangle)null);
550 return; 550 return;
551 } 551 }
552 552
553 Object information= fHover.getHoverInfo2(fTextViewer, region); 553 Object information= fHover.getHoverInfo2(fTextViewer, region);
554 setCustomInformationControlCreator(fHover.getHoverControlCreator()); 554 setCustomInformationControlCreator(fHover.getHoverControlCreator());