RCP, получить View
От: Аноним  
Дата: 10.03.06 10:04
Оценка:
Вопрос по Eclipse RCP.

Создал свою View'шку используя класс org.eclipse.ui.view.properties.PropertySheet.
Как сортировать отображаемые свойства?
Т.е. я создал класс с переопределенным методом из PropertySheetSorter.
А как вызвать метод .setSorter ?
Думаю, что болжна быть возможность получить PropertySheet из ViewRegistry,
но не могу найти подходящий метод.
Re: RCP, получить View
От: Beard-electronic Россия  
Дата: 10.03.06 10:27
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос по Eclipse RCP.


А>Создал свою View'шку используя класс org.eclipse.ui.view.properties.PropertySheet.

А>Как сортировать отображаемые свойства?
А>Т.е. я создал класс с переопределенным методом из PropertySheetSorter.
А>А как вызвать метод .setSorter ?
А>Думаю, что болжна быть возможность получить PropertySheet из ViewRegistry,
А>но не могу найти подходящий метод.

Не совсем понял — зачем нужно лезть в registry?
это же ваше вью, и вы делаете с ним что угодно (или я не прав)
А setSorter есть в PropertySheetPage (см., напрмер, метод PropertySheet::createDefaultPage(PageBook book))

Если я не о том, то можно поподробнее?
Re[2]: RCP, получить View
От: Beard-electronic Россия  
Дата: 10.03.06 11:45
Оценка:
Может надо делать так

public class MyViewPart extends ViewPart {

  ...

  public Object getAdapter(Class key) {
    if (IPropertySheetPage.class.eqauals(key)) {
      PropertySheetPage myPropertySheetPage = new PropertySheetPage();
      myPropertySheetPage.setSorter(new MyPropertySheetSorter());
      return myPropertySheetPage;
    }
    
    return super.getAdapter(key);
  }
}

class MyPropertySheetSorter extends PropertySheetSorter {

  public int compare(IPropertySheetEntry entryA, IPropertySheetEntry entryB) {
    // your custom sorting
    return 0;
  }
}

?
Re[2]: RCP, получить View
От: coms  
Дата: 10.03.06 12:14
Оценка:
Здравствуйте, Beard-electronic, Вы писали:

BE>Здравствуйте, Аноним, Вы писали:


А>>Вопрос по Eclipse RCP.


А>>Создал свою View'шку используя класс org.eclipse.ui.view.properties.PropertySheet.

А>>Как сортировать отображаемые свойства?
А>>Т.е. я создал класс с переопределенным методом из PropertySheetSorter.
А>>А как вызвать метод .setSorter ?
А>>Думаю, что болжна быть возможность получить PropertySheet из ViewRegistry,
А>>но не могу найти подходящий метод.

BE>Не совсем понял — зачем нужно лезть в registry?

BE>это же ваше вью, и вы делаете с ним что угодно (или я не прав)

Я создал View "декларативно", т.е. через plugin.xml.
Теперь думаю надо получить созданный экзепляр класса org.eclipse.ui.view.properties.PropertySheet
с помощью которого и создавалось view. Это я через registry и хотел сделать.
Re[3]: RCP, получить View
От: Beard-electronic Россия  
Дата: 10.03.06 12:30
Оценка:
Здравствуйте, coms, Вы писали:

C>Я создал View "декларативно", т.е. через plugin.xml.


Я, наверное, туплю, но все же:
Для вашего View (который в plugin.xml) есть же класс?

C>Теперь думаю надо получить созданный экзепляр класса org.eclipse.ui.view.properties.PropertySheet

C>с помощью которого и создавалось view. Это я через registry и хотел сделать.
Не надо получать — надо переопределить метод getAdapter(Class clazz) в этом классе для View, который будет
создавать PropertySheetPage и засовывать в него ваш PropertySheetSorter (как в примере выше)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.