EditorPart.init() question [message #336569] |
Tue, 23 June 2009 18:37  |
Eclipse User |
|
|
|
My editor extends EditorPart and implements init(IEditorSite site,
IEditorInput input). In some cases init() detects that input is invalid,
and I have to show a message box and close the editor. What is the right
way to close the editor?
I guess I can call
getSite().getPage().closeEditor(this, false)
but I'm not sure init() should call that
Thanks.
|
|
|
|
Re: EditorPart.init() question [message #336571 is a reply to message #336569] |
Wed, 24 June 2009 00:21  |
Eclipse User |
|
|
|
Originally posted by: eclipse-news.rizzoweb.com
Vsevolod Sandomirskiy wrote:
> My editor extends EditorPart and implements init(IEditorSite site,
> IEditorInput input). In some cases init() detects that input is invalid,
> and I have to show a message box and close the editor. What is the right
> way to close the editor?
>
> I guess I can call
> getSite().getPage().closeEditor(this, false)
> but I'm not sure init() should call that
I've done this on a past project, in editors that extend
org.eclipse.ui.forms.editor.FormEditor
In the init() method when I detected invalid input, I opened a JFace
MessageDialog offering the user the option of opening the file in a
plain text editor. If the user declined, I would just call
this.close(false) (inherited from
org.eclipse.ui.forms.editor.FormEditor). It worked fine for 3.3 and 3.4,
but has not been tested in Eclipse 3.5 yet.
Let me know if you can't find the code for FormEditor.close(boolean) and
I can post it. It is pretty simple, just calling the code you describe
above via Display.asyncExec().
Hope this helps,
Eric
|
|
|
Powered by
FUDForum. Page generated in 0.02788 seconds