Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помощь с open-source проектом xMind (Java+Eclipse) 
:(
    Опции темы
tankboard
Дата 7.2.2013, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.2.2013

Репутация: нет
Всего: нет



Есть open-source проект xMind (создание ментальных карт). Он поставляется с открытым исходным кодом. Мне необходимо разобраться в том, как там всё устроено и добавить в него несколько фич. 
Я программист C#, с Java работал, но не на таком уровне.
Проект успешно строится по инструкции: http://code.google.com/p/xmind3/wiki/Devel...l_And_BitBucket.
Также можно использовать http://code.google.com/p/xmind3/wiki/How_t...ind_from_source, но у меня так не получилось. 
Помогите разобраться:
- как добавить пункт и его обработчик в главное меню/главную панель инструментов 
- как добавить пункт и его обработчик в контекстное меню блока (центрального или другого) 
Спасибо за помощь.
PM MAIL   Вверх
Stolzen
Дата 7.2.2013, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 3
Всего: 48



XMind сделан на базе Эклипса, поэтому, чтобы создать плагин для xmind, нужно создать плагин для эклипса. 

На ваши вопросы ответа дать не могу, но могу подсказать, в каком направлении рыть.
Для начала вам необходимо разобраться, как собирать XMind из исходников. Я так понял, у вас это получилось? 

Далее, запускаете xmind из эклипса в режиме дебага и смотрите, как и что работает.

Я немного разбирался и писал плагин для экспорта карт в нужном мне формате, вот тут (под заголовком "Создание плагина") есть немного информации, но я её писал для себя. Может вам поможет.
Исходного кода плагина под рукой нет, вечером будет возможность его куда-нибудь выложить. 

Это сообщение отредактировал(а) Stolzen - 7.2.2013, 12:26


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
tankboard
Дата 8.2.2013, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.2.2013

Репутация: нет
Всего: нет



Запуск xmind из эклипса в режиме дебага не помог.

Но пришло осознание того, что всё необходимое можно сделать через внешний плагин, не затрагивающий исходный код xMind (что гораздо лучше).

Нашёл книгу Eclipse.Plug-ins.Third Edition.Dec.2008, с её помощью получилось создать плагин, добавляющий новое View. 

jar-архив плагина Eclipse был скопирован в папку ../plugins xMind и зажило)

Спасибо, направили в верном направлении)
PM MAIL   Вверх
Stolzen
Дата 8.2.2013, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 3
Всего: 48



Если не затруднит, могли бы потом отписаться о результатах? Меня так же интересует возможность расширения xmind.
Кстати, вот обещанный исходный код.


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
tankboard
Дата 14.2.2013, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.2.2013

Репутация: нет
Всего: нет



Получилось)
Делаем плагин eclipse.
Далее:
- подписываемся на расширение org.eclipse.ui.popupMenus (на закладке extensions свойств плагина)
- objectClass: org.xmind.core.ITopic
- path:org.xmind.ui.insert
- Class: ru.codeanalyzer.popup.actions.Analiz
Код

    public void run(IAction action) {
        
        @SuppressWarnings("unused")
        ITopic rootTopic = getSelectedTopic(action);
        IWorkbook workbook = rootTopic.getOwnedWorkbook();
        ITopic topic1 = workbook.createTopic();
        topic1.setTitleText("так вот!!!");
        rootTopic.add(topic1, ITopic.ATTACHED);
        
        //MessageDialog.openInformation(shell, "CodeAnalyzer",
            //    "New Action was executed.");
    }

    public ITopic getSelectedTopic(IAction action) {
        if (action instanceof ObjectPluginAction) {
            ObjectPluginAction objectAction = (ObjectPluginAction) action;
            if (objectAction.getSelection() instanceof StructuredSelection) {
                StructuredSelection selection = (StructuredSelection) objectAction.getSelection();                
                if (selection.getFirstElement() instanceof ITopic) {
                    ITopic topic = (ITopic)selection.getFirstElement();
                    return topic;
                }
            }
        }
        return null;
    }

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0953 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.