5

I try to show popup dialog at text cursor position of an editor. How can I get text cursor position in pixels of the active editor (Point) and a show popup dialog at this point?

Software Craftsman
  • 2,999
  • 2
  • 31
  • 47

2 Answers2

2

I'm not exactly sure what do you mean under "show popup dialog at this point", but do something like this:

IEditorPart editor =  PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
if (editor instanceof ITextEditor) {
  ISelectionProvider selectionProvider = ((ITextEditor)editor).getSelectionProvider();
  ISelection selection = selectionProvider.getSelection();
  if (selection instanceof ITextSelection) {
    ITextSelection textSelection = (ITextSelection)selection;
    int offset = textSelection.getOffset(); // etc.
  }
}

Of course, in production code do null checks etc.

thSoft
  • 21,755
  • 5
  • 88
  • 103
  • I need (X,Y) point (in pixels) to show a popup dialog and I want to show it under the text cursor like the code completion popup. In your code you get text offset in symbols, how to convert this offset to point in pixels. Or may be exists another way to show popup under the text cursor? –  Feb 11 '10 at 12:25
-1

You can use the getCursorPosition() method of AbstractTextEditor