Установка цвета фона для Shell в css/default.css не имеет никакого эффекта
Я перехожу к разделу "Разработка плагинов Eclipse 4 по примеру руководства для начинающих" и к разделу "Время действовать - стилизация пользовательского интерфейса с помощью CSS".
Здесь приведены инструкции по редактированию "css/default.css" и добавлению следующего:
Shell {
background-color: blue;
}
К сожалению, это не имеет никакого эффекта. Фон по-прежнему является сероватым цветом по умолчанию.
Что я могу сделать, чтобы отладить это?
Я попытался запустить инструмент "CSS Spy", но я не понимаю, как его использовать.
Обновление:
Вот весь мой файл plugin.xml:
<plugin>
<extension id="product"
point="org.eclipse.core.runtime.products">
<product name="com.packtpub.e4.application"
application="org.eclipse.e4.ui.workbench.swt.E4Application">
<property name="appName" value="com.packtpub.e4.application">
</property>
</product>
</extension>
</plugin>
В инструкциях в этом разделе ничего не сказано здесь. Где больше информации о том, что должно быть здесь для этого "простого" приложения?
Обновление:
Таким образом, похоже, что в инструкциях книги не упоминается необходимость установки свойства applicationCSS. Я добавил это вручную, как указано, и это решило проблему.
Совет о том, что "Вы также должны указать имя CSS в файле.product" поднимает дополнительные вопросы.
Мне было непонятно, почему это нужно делать в дополнение к настройке свойства в файле plugin.xml. Поле на этой странице мастера на самом деле не объясняет, для чего используется значение, но мне показалось, что оно имеет ту же цель, что и установка этого свойства.
Итак, я попытался удалить ручную настройку в файле "plugin.xml" и использовать мастер для поиска файла. Я сохранил это, а затем проверил файл "plugin.xml", так как ожидал, что это действие в мастере заполнит это свойство. Там не было никаких изменений. Затем я снова посмотрел на мастера и прочитал оператор после этого поля, который сказал следующее (странно, что выделение этого текста в мастере и нажатие Ctrl-C не помещает текст в буфер обмена):
'You must Synchronize (this word a hyperlink) the product's defining plug-in to ensure that the CSS file specified above is referenced in the plug-in's "org.eclipse.core.runtime.products" extension point.'
Поэтому я попытался нажать на эту гиперссылку. Это вставило свойство в файл plugin.xml. Это поднимает больше вопросов.
Если, по-видимому, важно, чтобы "указанный выше CSS-файл" был указан в качестве свойства "applicationCSS" в файле "plugin.xml", то почему разработчик должен предпринять преднамеренное действие, чтобы это произошло, а не просто зеркальное отражение в Eclipse? это значение в собственности?
Ссылка на точку расширения org.eclipse.core.runtime.products любопытна. Когда я просматриваю файл "plugin.xml" для приложения Eclipse, не относящегося к e4, я вижу вкладки "Расширения" и "Точки расширения", но не при просмотре мастера для этого примера приложения e4. Кроме того, я не вижу ссылок на расширения или точки расширения в этом сгенерированном файле "plugin.xml".
Используется ли введенное в мастере значение для НИЧЕГО, кроме как использовать его для (ручной) синхронизации значения свойства applicationCSS?
1 ответ
Вы должны иметь applicationCSS
запись в product
запись в plugin.xml (или cssTheme
если использовать темы) без этого CSS стилизация не будет выполнена.
Что-то вроде:
<extension
id="product"
point="org.eclipse.core.runtime.products">
<product
name="greg.e4App2"
application="org.eclipse.e4.ui.workbench.swt.E4Application">
<property
name="applicationCSS"
value="platform:/plugin/greg.e4App2/css/default.css">
</property>
<property
name="appName"
value="greg.e4App2">
</property>
</product>
</extension>
Также необходимо указать имя CSS в файле.product на вкладке "Настройка" в разделе "Стиль CSS".
Также убедитесь, что папка "css" включена в "build.properties"