2013-10-14 3 views
0

Я выполнил предложенные шаги в this forum, чтобы получить CSS-тему для разных ОС, скопировав папку css и images с сайта org.eclipse.platform.Eclipse RCP CSS-стиль не работает после экспорта

Он отлично работает, когда я запускаю его из Eclipse, но когда я экспортирую файл продукта (будь то из Eclipse или через Maven), вообще нет стилизации CSS.

Я проверил build.properties, а папка css и images отмечена для экспорта, поэтому я не понимаю, почему она не находит их.

Я работаю на 3.x RCP мягким мигрировал в 4.x

<extension 
    id="liteproduct" 
    point="org.eclipse.core.runtime.products"> 
    <product 
     application="com.xyzide.rcp.application" 
     name="XYZ IDE"> 
    <property 
     name="applicationXMI" 
     value="com.xyzide.rcp/LegacyIDE.e4xmi"> 
    </property> 
    <property 
      name="cssTheme" 
      value="com.xyzide.ui.css.theme.e4_default"> 
    </property> 
    <property 
     name="applicationCSSResources" 
     value="platform:/plugin/com.xyzide.rcp/images/"> 
    </property> 
    </product> 

<extension 
point="org.eclipse.e4.ui.css.swt.theme"> 
    <theme 
     basestylesheeturi="css/e4_default.css" 
     id="com.xyzide.ui.css.theme.e4_default.noos" 
     label="Default Theme"> 
     </theme> 
    <theme 
     basestylesheeturi="css/e4_classic_winxp.css" 
     id="com.xyzide.ui.css.theme.e4_classic" 
     label="Classic"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_default_gtk.css" 
     id="com.xyzide.ui.css.theme.e4_default" 
     label="GTK" 
     os="linux"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_default_mac.css" 
     id="com.xyzide.ui.css.theme.e4_default" 
     label="Mac" 
     os="macosx"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_default_win7.css" 
     id="com.xyzide.ui.css.theme.e4_default" 
     label="Windows 7" 
     os="win32" 
     os_version="6.1"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_default_winxp_blu.css" 
     id="com.xyzide.ui.css.theme.e4_default" 
     label="Windows XP Blue" 
     os="win32"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_default_winxp_olv.css" 
     id="com.xyzide.ui.css.theme.e4_default.xpolive" 
     label="Windows XP Olive" 
     os="win32"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_classic_win7.css" 
     id="com.xyzide.ui.css.theme.e4_classic" 
     label="Windows 7 Classic" 
     os="win32" 
     os_version="6.1"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_default_gtk.css" 
     id="com.xyzide.ui.css.theme.e4_default" 
     label="Solaris" 
     os="solaris"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_default_gtk.css" 
     id="com.xyzide.ui.css.theme.e4_default" 
     label="AIX" 
     os="aix"> 
    </theme> 
    <theme 
     basestylesheeturi="css/e4_classic_winxp.css" 
     id="com.xyzide.ui.css.theme.e4_default" 
     label="HPUX" 
     os="hpux"> 
    </theme> 
</extension> 

Я опустил некоторые свойства из расширения продукта, которые не были актуальны.

+0

Что у вас есть в plugin.xml, который определяет продукт? –

+0

Я обновил вопрос с помощью кода. – nbz

+1

Файл plugin.xml выглядит нормально. Убедитесь, что загруженный плагин продукта содержит каталог css. –

ответ

0

Таким образом, с помощью greg-449 я смог определить, что, когда RCP экспортируется, он должен иметь плагин, содержащий папку css и изображений, упакованную как каталог.

Я добавил следующее к моему Manifest.mf

Eclipse-BundleShape: dir 

И когда я экспортировал, моделирование работал отлично. Я тестировал его на Windows по крайней мере, и это было хорошо. Также нужно будет проверить другие ОС.

+2

Я думаю, что это может быть сделано для работы в банке, если вы включите 'platform:/plugin/com.xyzide.rcp /' в начале значений 'basestylesheeturi' (по крайней мере, это то, что у меня есть, и оно работает). –

+0

Извините, это может быть глупый вопрос, но есть ли какие-либо причины, по которым я хотел бы сохранить его как банку, а не каталог? – nbz

+0

И вы правы! Как я мог быть таким глупым ... Я оглянулся на свой старый код для ApplicationCSS, и именно так я его и получил. Думаю, я просто использовал этот код прямо с форума и не понял. Можете ли вы отправить свой комментарий в качестве ответа, и я его приму. – nbz

2

Я думаю, что это будет работать в банке, если вы включите platform:/plugin/com.xyzide.rcp/ в начале значений basestylesheeturi.

Использование банки занимает немного меньше места, но я заметил, что установка Eclipse использует каталог (который может просто облегчить доступ к файлам для этого). Eclipse иногда расширяет банки в своем кеше, но я не думаю, что это делается для CSS и файлов изображений.

+0

Так что, к сожалению, это не сработало, мне пришлось вернуться к настройке каталога. Это может быть связано с этим - http://www.eclipse.org/forums/index.php/t/457837/ – nbz

+0

Может быть. Я не использую импорт CSS в моих таблицах стилей. –

+0

Я тестировал его на всех ОС, и он работает только с пакетом, являющимся каталогом.Извините, мне придется не принимать ваш ответ, но я обязательно его проголосую! – nbz

Смежные вопросы