A2 & Oberon GOOGLE trans to English      Помощь      Поиск      Пользователи  Файловый архив


 Страниц (1): [1]   

> Описание: создание новых скинов в А2
neuf
Отправлено: 04 Сентября, 2009 - 17:35:13
Post Id


Junior Member


Покинул форум
Сообщений всего: 63
Дата рег-ции: Авг. 2008  
Откуда: Калуш, Ивано-Франковская обл., Украина
Репутация: 0




Заинтересовала тема скинов вот почему: меня постоянно раздражают LEDы на кнопках, причем это свойство кнопок жестко прописано в WMStandardComponents.InitPrototy pes. Нет, можно конечно в PrototypeBindicateToggle.Set вместо TRUE прописать FALSE и перекомпилировать модуль и при следующей загрузке LEDы исчезнут, но так надо будет делать при каждом новом релизе, что не сильно радует (правда, в конце-концов все равно пришлось править WMStandardComponents, но об этом позже). Решил сделать запрет LEDов через скин, который хранить в своем рабочем каталоге, тогда независимо от релиза все свойства всех компонентов будут такими, какие мне нравятся.
Попробовал взять любой существующий скин и просто добавить в него что-то вроде indicateToggle=false, благо есть готовый SkinEditor. Почитал SkinEditor.Text, сделал, как там сказано. В общем, при добавлении нового свойства в skin.bsl последовательность действий такая (на примере добавления indicateToggle в новый скин 1.skin):

1. Прописываем в SkinList.XML ( все файлы из source я перенес в свой рабочий каталог) в конце следующую строчку:
<Look name="skin1" file="1.skin"/>
Теперь наш скин будет виден в списке выбора скинов.

2. В SkinConfig.XML в секцию component name="button" прописываем:
<property name="indicateToggle" type="boolean" mandatory="false" />


3. В SkinEditor в skin.bsl в секцию button прописываем:
indicateToggle : FALSE;
Вроде бы все, что написано в документации. Однако при установке skin1 через SkinLoader ничего не изменяется Нахмурился.
Причина: оказывается, нужно еще в WMStandardComponents.InitPrototy pes после PrototypeBindicateToggle.Set дописать plButton.Add(PrototypeBindicateToggle), тогда indicateToggle становится возможным менять через скин.
(Добавление)
В общем, все-таки пришлось вносить изменения в исходник, т.е., добавится независимости от релиза не получилось. Я посмотрел, у них половина свойств компонентов не меняются через скины, хотя это совсем нетрудно сделать. Чем это вызвано - не знаю.
Да, вот еще что о скинах: файл *.skin - это файл tar, нормально рас- и запаковываетя 7zip. Для изменения картинок в SkinEditor не предусмотрено инструмента, или я его не увидел. В общем, я распаковываю файл, меняю картинки, потом снова запаковываю и переименовываю в skin.

(Отредактировано автором: 04 Сентября, 2009 - 17:37:25)

 
 Top
BohdanT Администратор
Отправлено: 04 Сентября, 2009 - 17:51:06
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Цитата:
Заинтересовала тема скинов вот почему: меня постоянно раздражают LEDы на кнопках, причем это свойство кнопок жестко прописано в WMStandardComponents.InitPrototy pes. Нет, можно конечно в PrototypeBindicateToggle.Set вместо TRUE прописать FALSE и перекомпилировать модуль и при следующей загрузке LEDы исчезнут, но так надо будет делать при каждом новом релизе, что не сильно радует (правда, в конце-концов все равно пришлось править WMStandardComponents, но об этом позже).

Гораздо легче сделать наследника Button в котором выключить данное свойство и естественно использовать его у себя в программах.
 
 Top
neuf
Отправлено: 04 Сентября, 2009 - 18:44:57
Post Id


Junior Member


Покинул форум
Сообщений всего: 63
Дата рег-ции: Авг. 2008  
Откуда: Калуш, Ивано-Франковская обл., Украина
Репутация: 0




Цитата:
Гораздо легче сделать наследника Button в котором выключить данное свойство и естественно использовать его у себя в программах.
А если не в своих? В PET тоже есть кнопочки с LEDами Радость

(Отредактировано автором: 04 Сентября, 2009 - 18:45:55)

 
 Top
BohdanT Администратор
Отправлено: 07 Сентября, 2009 - 10:20:55
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




neuf пишет:
А если не в своих? В PET тоже есть кнопочки с LEDами

Это да.
Да и вообще идея интересная Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« Общеe »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Locations of visitors to this page
[Valid RSS]

RSS

Valid CSS!


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.011]     [ Gzipped ]