Кастомизация 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 В общем, с задачей перерисовать интерфейс фронта в минималистическом стиле - пяток пользовательских кнопок по нижней части экрана (из которых две - настройка и закрытие фронта) плюс пара окон под флеш и встроенное с помощью ProgScriptNew.exe окно внешнего приложения, я позорно не справился... :blush: Буду признателен за любую (пусть даже теоретическую) помощь в этом вопросе. |
Давай по порядку, ты говоришь что хочешь обрезать, а я отвечаю как это сделать.
Допустим - нужно чтобы главное меню выглядело так (скриншот). А я подскажу, что и где лежит, и куда это надо вставить. RRSkinEditor прекрасно с этим справляется, только при соблюдении определённых правил |
Вложений: 1
Ок! В аттаче вчерне набросанный скелет главного меню: нижний ряд - кнопки (B1-B3 пользовательские, B4, B22 - настройка и закрытие фронта), одно окно под флеш, одно - под индикаторы, одно под приложение, встраиваемое скриптом.
|
Цитата:
А лучше опиши для начала, какой функционал будешь делать и какие экраны будут нужны, просто у меня создаётся ощущение, что легче будет сделать с нуля, чем обрезать CFStyle |
Хм, дареное в прок не идет - эдак я ничему не научусь... С другой стороны, было бы наглостью проситься в подмастерья.
Хорошо. Озвучиваю ТЗ: на компе будет завязана система "умного дома". Скелет приведен действительно для главного меню скина. Пока реально работает лишь система подъездного видеонаблюдения и GSM сигнализация квартиры. Последняя по СОМ-порту заливается рабочими конфигурациями (тревожные телефоны, голосовые сообщения, логика срабатывания датчиков и т.п. вещи) - т.е. одна из пользовательских кнопок будет вызывать ее сервисную прогу. Полагаю, со встраиванием ее особых проблем не будет - там хитростей никаких вроде нет. Название перехватываемого окна сейчас сказать не могу, посмотрю вечером. Второй экран - веб интерфейс видеорегистратора на 4 камеры. Ввиду того, что на 9 дюймовом экране даже с одной камеры картинка не слишком большая (а штатно выводится блок из 4 превьюшек + панель управления) - браузер будет настроен на стартовую страницу ВИ по умолчанию и открываться должен без обрамления вообще, в полный экран. При этом кнопки закрытия приложения и перехода в главное меню скина все же нужны (в overlay-варианте). Третий экран - на перспективу под Ардуино. Сигналка сама имеет некоторое количество входов/выходов и мозги, чтобы отрабатывать прошитые алгоритмы (т.е. может сообщить звонком об утечке воды или газа, о текущей температуре, зажигать свет, включать кондей и т.п.) В связке же с Арду можно нагородить еще больше, и благо некоторый опыт в этом есть - этот экран будет использоваться для вызова проги (пока еще не написанной) для управления Ардуиной. На экране же главного меню (помимо кнопок) планируется флеш с часами и календарем, вывод параметров системы (температура, загрузка проца и т.п.) и (не знаю, правда, насколько это осуществимо) - вывод блока прогноза погоды на 10 дней отсюда. Пока, чтобы не путаться с вводом адресов, это внутреннее противоречие планировалось разрулить за счет применения в системе двух разных браузеров с разными стартовыми страницами (IE для видеонаблюдения и FF для погоды). Хотя, не уверен, что ProgScriptNew.exe сможет справиться с такой задачей - отобразить в окне главного меню вырезанный с интернет-страницы графический блок... Вот вкратце как-то так. |
Как я и подозревал, из-за пяти, максимум десяти экранов не стоит перелопачивать почти 500 экранов CFStyle.
Значит так. 1. Рисуешь экран главного меню, расставляешь там всё как тебе нужно, это ты умеешь, если планируешь что флеш с часами и календарём должен меняться, то сразу задаёшь в skin.ini переменную main_flash=clock.swf , а в параметре флеша пишешь "$skinpath$Flash\$main_flash$". Тогда потом можно будет сделать выбор нужной флешки из папки Flash, находящийся в папке скина. Погоду тоже вывести можно, но об этом позже. 2. По поводу видеорегистратора, тоже осуществимо, но при условии встраивания внешнего браузера, можно IE, но удобнее будет с Firefox, встраивать придётся через скрипт ProgScriptNew. Хотя можно попробовать и с внутренним брайзером, без скрипта, так как тебе нужен именно весь экран, а не его часть. 3. А с программой GSM сигнализации проблем вообще не вижу. В общем всё можно сделать с нуля за пару дней. Если захочешь делать какие то настройки (цвета кнопок, выбор фона, выбор флешки и т.д), то можно будет просто взять куски из CFStyle и всё. Так что лучше начинай с нуля, быстрее будет. |
Т.е. сейчас фактически я рисую скин для икара (независимый от CFStyle), требования к которому не отличаются от требований к скинам для RR, а потом добиваю его отдельными кусками от твоего (окно браузера и т.п.)?
При разрешении монитора 1024х756 размеры графики скина такие же, или сразу делать 1024х600 (почему, кстати, для CFStyle выбран такой размер?)? |
Цитата:
Цитата:
В CFStyle такой размер потому что у меня в машине стоят EEE901 и EEE900, а у них мониторы 1024х600 так и рисовал. Как потом оказалось это наиболее оптимальное разрешение, для скина который должен работать в пяти разрешениях. |
Понял, благодарю!
|
Вложений: 2
Ну, в общем набросал костяк - проект скина в аттаче, функционал описан выше, внешний вид планируется примерно как на картинке.
Пока непонятка, как организовать браузер (вкладка "Камеры") и захват окна с Интелликаста... |
Часовой пояс GMT +4, время: 21:59. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot