Как реализовать функцию "Сохранить как" для нашей детали

Я создаю приложение E4 RCP в том, что у меня одна часть. Я хочу реализовать функцию «Сохранить как» для своей части, поскольку она реализована для редакторов (например, редактор файлов Java).

Требования:

  1. Когда пользователь нажимает на мою часть, опция «Сохранить как» должна быть включена.
  2. Когда пользователь нажимает на опцию «Сохранить как», мой код должен запускаться, чтобы я мог делать то, что хочу.

Итак, мой вопрос в том, что мне делать, я должен реализовать любую точку расширения или что-то еще. ?


person Sumit Singh    schedule 23.10.2013    source источник
comment
Просто чтобы подтвердить - это «чистое» приложение e4, использующее вашу собственную модель приложения и не имеющее кода совместимости с Eclipse 3?   -  person greg-449    schedule 23.10.2013
comment
Hi @ greg-449 i ', используя его с кодом совместимости.   -  person Sumit Singh    schedule 23.10.2013


Ответы (2)


В чистом приложении e4 нет встроенной поддержки функции «Сохранить как», поэтому вам нужно будет написать ее самостоятельно.

Чтобы соответствовать @Persist поддержке сохранения, я бы предложил сделать это с помощью аннотации, назовем ее @PersistAs:

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface PersistAs
{
}

Вам нужно будет добавить определение команды для «сохранить как» вместе с обработчиком и пунктами меню обычным способом.

Обработчик для Save As будет выглядеть примерно так:

@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART) final MPart part)
{
  Object client = part.getObject();
  ContextInjectionFactory.invoke(client, PersistAs.class, part.getContext());
}

и со своей стороны у вас будет:

@PersistAs
public void saveAs()
{
  // You save as code
}
person greg-449    schedule 23.10.2013

В режиме совместимости с Eclipse 3 вы реализуете методы doSaveAs и isSaveAsAllowed в своем EditorPart.

person greg-449    schedule 23.10.2013