PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   Кастомизация iCarDS (http://pccar.ru/showthread.php?t=14713)

Pinin 31.03.2011 11:17

Кастомизация iCarDS
 
Вложений: 3
Похоже, связка фронта iCarDS и скина CFStyle как в свое время народ и партия - едины... Но в проекте, над которым сейчас работаю, возникла необходимость кардинально переписать интерфейс скина.

Ну, фигли нам, кабанам: чай SkinEditor - это, практически, наше всё, фотошоп тоже ранее не только видели, но и за менюшки щупали неоднократно, так что - флаг в руки, и у перед! Однако ж обломался...

Те, кто ранее перерисовывал роадраннеровские скины под себя - технологию этого процесса знают досконально: открываешь в SkinEditorе пациента и все как на ладони. Кнопки, индикаторы, флешки, их координаты, прописанные на них команды. Редактируй-не хочу...

Открываешь CFStyle... Хочу-не редактируется. То есть редактируется, конечно - остро теоретически. Но поскольку сама идеология построения этого скина иная - очевидные вещи не работают.

Открываем главный Skreen - menu. Ничего похожего на то, что мы видим во фронте на этом месте нет: рис.1 аттача
Понятно, что все кнопки интерфейса (не графические их файлы - эти-то уже понятно, что в другом месте), их текстовое описание - лежат где-то отдельно. Пробуем найти - по содержимому вроде бы интересны файлы 1.txt, 2.txt и т.п.

В том же эдиторе воспроизводим их : рис.2, рис.3 аттача

Анализируя содержимое файлов *.skin понимаем, что отдельные скрины обращаются к упомянутым текстовым файлам для подгрузки в себя тех или иных комбинаций кнопок - уже что-то, но яснее не становится.

Может, поковырять main_screens.ini? В первой же строке - ага:

Код:

screen_main_img=main.png
Ищем main.png - находим main_off.png и main_down.png. Понимаем, что знак "равно" в цитате - не совсем "равно", но лишний раз подтверждаем теорию о том, что все тут блочно и по вызову... И не страдает интуитивностью...

В общем, с задачей перерисовать интерфейс фронта в минималистическом стиле - пяток пользовательских кнопок по нижней части экрана (из которых две - настройка и закрытие фронта) плюс пара окон под флеш и встроенное с помощью ProgScriptNew.exe окно внешнего приложения, я позорно не справился... :blush:

Буду признателен за любую (пусть даже теоретическую) помощь в этом вопросе.

Bersenev 31.03.2011 11:42

Давай по порядку, ты говоришь что хочешь обрезать, а я отвечаю как это сделать.

Допустим - нужно чтобы главное меню выглядело так (скриншот). А я подскажу, что и где лежит, и куда это надо вставить.

RRSkinEditor прекрасно с этим справляется, только при соблюдении определённых правил

Pinin 31.03.2011 12:03

Вложений: 1
Ок! В аттаче вчерне набросанный скелет главного меню: нижний ряд - кнопки (B1-B3 пользовательские, B4, B22 - настройка и закрытие фронта), одно окно под флеш, одно - под индикаторы, одно под приложение, встраиваемое скриптом.

Bersenev 31.03.2011 12:19

Цитата:

Сообщение от Pinin (Сообщение 179154)
Ок! В аттаче вчерне набросанный скелет главного меню: нижний ряд - кнопки (B1-B3 пользовательские, B4, B22 - настройка и закрытие фронта), одно окно под флеш, одно - под индикаторы, одно под приложение, встраиваемое скриптом.

Это будет экран главного меню?

А лучше опиши для начала, какой функционал будешь делать и какие экраны будут нужны, просто у меня создаётся ощущение, что легче будет сделать с нуля, чем обрезать CFStyle

Pinin 31.03.2011 14:46

Хм, дареное в прок не идет - эдак я ничему не научусь... С другой стороны, было бы наглостью проситься в подмастерья.

Хорошо. Озвучиваю ТЗ: на компе будет завязана система "умного дома". Скелет приведен действительно для главного меню скина. Пока реально работает лишь система подъездного видеонаблюдения и GSM сигнализация квартиры. Последняя по СОМ-порту заливается рабочими конфигурациями (тревожные телефоны, голосовые сообщения, логика срабатывания датчиков и т.п. вещи) - т.е. одна из пользовательских кнопок будет вызывать ее сервисную прогу. Полагаю, со встраиванием ее особых проблем не будет - там хитростей никаких вроде нет. Название перехватываемого окна сейчас сказать не могу, посмотрю вечером.

Второй экран - веб интерфейс видеорегистратора на 4 камеры. Ввиду того, что на 9 дюймовом экране даже с одной камеры картинка не слишком большая (а штатно выводится блок из 4 превьюшек + панель управления) - браузер будет настроен на стартовую страницу ВИ по умолчанию и открываться должен без обрамления вообще, в полный экран. При этом кнопки закрытия приложения и перехода в главное меню скина все же нужны (в overlay-варианте).

Третий экран - на перспективу под Ардуино. Сигналка сама имеет некоторое количество входов/выходов и мозги, чтобы отрабатывать прошитые алгоритмы (т.е. может сообщить звонком об утечке воды или газа, о текущей температуре, зажигать свет, включать кондей и т.п.) В связке же с Арду можно нагородить еще больше, и благо некоторый опыт в этом есть - этот экран будет использоваться для вызова проги (пока еще не написанной) для управления Ардуиной.

На экране же главного меню (помимо кнопок) планируется флеш с часами и календарем, вывод параметров системы (температура, загрузка проца и т.п.) и (не знаю, правда, насколько это осуществимо) - вывод блока прогноза погоды на 10 дней отсюда.
Пока, чтобы не путаться с вводом адресов, это внутреннее противоречие планировалось разрулить за счет применения в системе двух разных браузеров с разными стартовыми страницами (IE для видеонаблюдения и FF для погоды). Хотя, не уверен, что ProgScriptNew.exe сможет справиться с такой задачей - отобразить в окне главного меню вырезанный с интернет-страницы графический блок...

Вот вкратце как-то так.

Bersenev 31.03.2011 15:14

Как я и подозревал, из-за пяти, максимум десяти экранов не стоит перелопачивать почти 500 экранов CFStyle.

Значит так.

1. Рисуешь экран главного меню, расставляешь там всё как тебе нужно, это ты умеешь, если планируешь что флеш с часами и календарём должен меняться, то сразу задаёшь в skin.ini переменную main_flash=clock.swf , а в параметре флеша пишешь "$skinpath$Flash\$main_flash$". Тогда потом можно будет сделать выбор нужной флешки из папки Flash, находящийся в папке скина. Погоду тоже вывести можно, но об этом позже.

2. По поводу видеорегистратора, тоже осуществимо, но при условии встраивания внешнего браузера, можно IE, но удобнее будет с Firefox, встраивать придётся через скрипт ProgScriptNew. Хотя можно попробовать и с внутренним брайзером, без скрипта, так как тебе нужен именно весь экран, а не его часть.

3. А с программой GSM сигнализации проблем вообще не вижу.

В общем всё можно сделать с нуля за пару дней. Если захочешь делать какие то настройки (цвета кнопок, выбор фона, выбор флешки и т.д), то можно будет просто взять куски из CFStyle и всё.

Так что лучше начинай с нуля, быстрее будет.

Pinin 31.03.2011 15:54

Т.е. сейчас фактически я рисую скин для икара (независимый от CFStyle), требования к которому не отличаются от требований к скинам для RR, а потом добиваю его отдельными кусками от твоего (окно браузера и т.п.)?

При разрешении монитора 1024х756 размеры графики скина такие же, или сразу делать 1024х600 (почему, кстати, для CFStyle выбран такой размер?)?

Bersenev 31.03.2011 16:03

Цитата:

Сообщение от Pinin (Сообщение 179196)
Т.е. сейчас фактически я рисую скин для икара (независимый от CFStyle), требования к которому не отличаются от требований к скинам для RR, а потом добиваю его отдельными кусками от твоего (окно браузера и т.п.)?

Да

Цитата:

Сообщение от Pinin (Сообщение 179196)
При разрешении монитора 1024х756 размеры графики скина такие же, или сразу делать 1024х600 (почему, кстати, для CFStyle выбран такой размер?)?

Рисуешь картинки размером 1024х756 и на их основе делаешь скин.

В CFStyle такой размер потому что у меня в машине стоят EEE901 и EEE900, а у них мониторы 1024х600 так и рисовал. Как потом оказалось это наиболее оптимальное разрешение, для скина который должен работать в пяти разрешениях.

Pinin 31.03.2011 16:22

Понял, благодарю!

Pinin 03.04.2011 13:20

Вложений: 2
Ну, в общем набросал костяк - проект скина в аттаче, функционал описан выше, внешний вид планируется примерно как на картинке.
Пока непонятка, как организовать браузер (вкладка "Камеры") и захват окна с Интелликаста...


Часовой пояс GMT +4, время: 10:20.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot