alex_zorge
27.07.2012, 21:36
Где-то на форуме прочитал, что главное меню в серии Мио Спирит доступно для редактирования... На самом деле не всё так просто! В серии Мио Спирит главное меню действительно доступно и находиться в папке \Program Files\MainShell но редактировать там можно только файлы:
- CONFIG.XML - отвечает за активацию кнопок
- BUTTONS.XML - прописываются пути к исполняемым файлам
- UI.XML - расположение текста на кнопках.
Т.е. особых изменений таким путём мы не получим, но главное, не это! Важнее, что доступен сам экс!
Конкретно в моём Мио S650 стоял Main Shell версия 1.1.0.10 от 2008 года. (Встречал и 11-ю версию, но по сути она ничем не отличается.)
В известной сборке "от полковника" используется Main Shell версии 1.0.32.0 тоже 2008 года от предыдущих моделей Мио серии С, которая прекрасно работает и на серии S (Спирит), и на новой серии Cruiser. В этой версии меню доступны для редактирования:
- MainShell.XML - полностью прописывается внешний вид меню
- MainShell_INI.XML - указывается действие кнопок.
Таким образом, подменив родной Main Shell на более раннюю версию получаем возможность сделать меню навигатора на свой вкус. В сборке "полковника" использовано Альтменю. На самом деле необходимости в нём нет никакой,- только лишняя подгрузка процессора ещё одним процессом.
Достаточно прописать в Main Shell ещё одну страницу, например для кнопки "навигация:
-------#главное меню#-------
<Widget name="MAIN" id="0" style="268435459" ex_Style="0" left="0" top="0" width="480" height="272" stretch="1" sync_type="0">
<Image0 name="images\Вackgrounds\BG_0.PNG"/>
-
-
-
----#навигация#----
<CtrlBtn name="MioMap" id="0" style="269026307" ex_Style="0" left="14" top="52" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\MS_BTN_MIO-MAP.PNG"/>
<Image1 name="images\MS_BTN_MIO-MAP_D.PNG"/>
</CtrlBtn>
-
-
-
-----#текс под кнопками#-----
<CtrlLabel name="MioMapStr" id="0" style="66563" ex_Style="0" left="14" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
-
-
-
</Widget>
-------#меню навигация#-------
<Widget name="NAVIMENU" id="0" style="268435459" ex_Style="0" left="0" top="0" width="480" height="272" stretch="1" sync_type="0">
<Image0 name="images\Вackgrounds\BG_1.PNG"/>
-
-
-
----#примо#----
<CtrlBtn name="Primo" id="0" style="269026307" ex_Style="0" left="14" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Primo.PNG"/>
<Image1 name="images\Navi\Primo_D.PNG"/>
</CtrlBtn>
----#ситигид#----
<CtrlBtn name="CityGuide" id="0" style="269026307" ex_Style="0" left="129" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\CityGuide.PNG"/>
<Image1 name="images\Navi\CityGuide_D.PNG"/>
</CtrlBtn>
----#навигон#----
<CtrlBtn name="Navigon" id="0" style="269026307" ex_Style="0" left="244" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Navigon.PNG"/>
<Image1 name="images\Navi\Navigon_d.PNG"/>
</CtrlBtn>
----#навител#----
<CtrlBtn name="Navitel" id="0" style="269026307" ex_Style="0" left="359" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Navitel.PNG"/>
<Image1 name="images\Navi\Navitel_d.PNG"/>
</CtrlBtn>
----#беккер#----
<CtrlBtn name="Bekker" id="0" style="269026307" ex_Style="0" left="14" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Bekker.png"/>
<Image1 name="images\Navi\Bekker_d.png"/>
</CtrlBtn>
----#автоспутник#----
<CtrlBtn name="Autosputnik" id="0" style="269026307" ex_Style="0" left="129" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Autosputnik.PNG"/>
<Image1 name="images\Navi\Autosputnik_D.PNG"/>
</CtrlBtn>
----#прогород#----
<CtrlBtn name="Progorod" id="0" style="269026307" ex_Style="0" left="244" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\ProGorod.PNG"/>
<Image1 name="images\Navi\ProGorod_D.PNG"/>
</CtrlBtn>
----#яндекскарты#----
<CtrlBtn name="Yandexmaps" id="0" style="269026307" ex_Style="0" left="359" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Yandexmaps.PNG"/>
<Image1 name="images\Navi\Yandexmaps_D.PNG"/>
</CtrlBtn>
-----#текс под кнопками#-----
<CtrlLabel name="PrimoStr" id="0" style="66563" ex_Style="0" left="14" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="CityGuideStr" id="0" style="66563" ex_Style="0" left="129" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="NavigonStr" id="0" style="66563" ex_Style="0" left="244" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="NavitelStr" id="0" style="66563" ex_Style="0" left="359" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="BekkerStr" id="0" style="66563" ex_Style="0" left="14" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="AutosputnikStr" id="0" style="66563" ex_Style="0" left="129" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="ProgorodStr" id="0" style="66563" ex_Style="0" left="244" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="YandexmapsStr" id="0" style="66563" ex_Style="0" left="359" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
</Widget>
А в файле MainShell_INI прописать путь к новой странице
--------#Главное меню#--------
<MSDialog name="MAIN" id="1">
-
-
-
----#кнопка Навигация#----
<MSButton name="MioMap" id="112" type="0" function="8">
<MSLaunchWidget name="NAVIMENU" id="3" type="2" animation="0"></MSLaunchWidget>
</MSButton>
<MSLabel name="MioMapStr" id="113">
<MSTextMuiId>15</MSTextMuiId>
</MSLabel>
-
-
-
</MSDialog>
- CONFIG.XML - отвечает за активацию кнопок
- BUTTONS.XML - прописываются пути к исполняемым файлам
- UI.XML - расположение текста на кнопках.
Т.е. особых изменений таким путём мы не получим, но главное, не это! Важнее, что доступен сам экс!
Конкретно в моём Мио S650 стоял Main Shell версия 1.1.0.10 от 2008 года. (Встречал и 11-ю версию, но по сути она ничем не отличается.)
В известной сборке "от полковника" используется Main Shell версии 1.0.32.0 тоже 2008 года от предыдущих моделей Мио серии С, которая прекрасно работает и на серии S (Спирит), и на новой серии Cruiser. В этой версии меню доступны для редактирования:
- MainShell.XML - полностью прописывается внешний вид меню
- MainShell_INI.XML - указывается действие кнопок.
Таким образом, подменив родной Main Shell на более раннюю версию получаем возможность сделать меню навигатора на свой вкус. В сборке "полковника" использовано Альтменю. На самом деле необходимости в нём нет никакой,- только лишняя подгрузка процессора ещё одним процессом.
Достаточно прописать в Main Shell ещё одну страницу, например для кнопки "навигация:
-------#главное меню#-------
<Widget name="MAIN" id="0" style="268435459" ex_Style="0" left="0" top="0" width="480" height="272" stretch="1" sync_type="0">
<Image0 name="images\Вackgrounds\BG_0.PNG"/>
-
-
-
----#навигация#----
<CtrlBtn name="MioMap" id="0" style="269026307" ex_Style="0" left="14" top="52" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\MS_BTN_MIO-MAP.PNG"/>
<Image1 name="images\MS_BTN_MIO-MAP_D.PNG"/>
</CtrlBtn>
-
-
-
-----#текс под кнопками#-----
<CtrlLabel name="MioMapStr" id="0" style="66563" ex_Style="0" left="14" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
-
-
-
</Widget>
-------#меню навигация#-------
<Widget name="NAVIMENU" id="0" style="268435459" ex_Style="0" left="0" top="0" width="480" height="272" stretch="1" sync_type="0">
<Image0 name="images\Вackgrounds\BG_1.PNG"/>
-
-
-
----#примо#----
<CtrlBtn name="Primo" id="0" style="269026307" ex_Style="0" left="14" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Primo.PNG"/>
<Image1 name="images\Navi\Primo_D.PNG"/>
</CtrlBtn>
----#ситигид#----
<CtrlBtn name="CityGuide" id="0" style="269026307" ex_Style="0" left="129" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\CityGuide.PNG"/>
<Image1 name="images\Navi\CityGuide_D.PNG"/>
</CtrlBtn>
----#навигон#----
<CtrlBtn name="Navigon" id="0" style="269026307" ex_Style="0" left="244" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Navigon.PNG"/>
<Image1 name="images\Navi\Navigon_d.PNG"/>
</CtrlBtn>
----#навител#----
<CtrlBtn name="Navitel" id="0" style="269026307" ex_Style="0" left="359" top="49" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Navitel.PNG"/>
<Image1 name="images\Navi\Navitel_d.PNG"/>
</CtrlBtn>
----#беккер#----
<CtrlBtn name="Bekker" id="0" style="269026307" ex_Style="0" left="14" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Bekker.png"/>
<Image1 name="images\Navi\Bekker_d.png"/>
</CtrlBtn>
----#автоспутник#----
<CtrlBtn name="Autosputnik" id="0" style="269026307" ex_Style="0" left="129" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Autosputnik.PNG"/>
<Image1 name="images\Navi\Autosputnik_D.PNG"/>
</CtrlBtn>
----#прогород#----
<CtrlBtn name="Progorod" id="0" style="269026307" ex_Style="0" left="244" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\ProGorod.PNG"/>
<Image1 name="images\Navi\ProGorod_D.PNG"/>
</CtrlBtn>
----#яндекскарты#----
<CtrlBtn name="Yandexmaps" id="0" style="269026307" ex_Style="0" left="359" top="156" width="107" height="107" stretch="1" sync_type="0">
<Image0 name="images\Navi\Yandexmaps.PNG"/>
<Image1 name="images\Navi\Yandexmaps_D.PNG"/>
</CtrlBtn>
-----#текс под кнопками#-----
<CtrlLabel name="PrimoStr" id="0" style="66563" ex_Style="0" left="14" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="CityGuideStr" id="0" style="66563" ex_Style="0" left="129" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="NavigonStr" id="0" style="66563" ex_Style="0" left="244" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="NavitelStr" id="0" style="66563" ex_Style="0" left="359" top="128" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="BekkerStr" id="0" style="66563" ex_Style="0" left="14" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="AutosputnikStr" id="0" style="66563" ex_Style="0" left="129" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="ProgorodStr" id="0" style="66563" ex_Style="0" left="244" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
<CtrlLabel name="YandexmapsStr" id="0" style="66563" ex_Style="0" left="359" top="233" width="115" height="20" stretch="1" sync_type="0" text_enabled="1">
<FontNo0 index="0" color="0" shadow_color="0"/>
<FontNo1 index="0" color="0" shadow_color="0"/>
<FontNo2 index="0" color="0" shadow_color="0"/>
<FontNo3 index="0" color="0" shadow_color="0"/>
</CtrlLabel>
</Widget>
А в файле MainShell_INI прописать путь к новой странице
--------#Главное меню#--------
<MSDialog name="MAIN" id="1">
-
-
-
----#кнопка Навигация#----
<MSButton name="MioMap" id="112" type="0" function="8">
<MSLaunchWidget name="NAVIMENU" id="3" type="2" animation="0"></MSLaunchWidget>
</MSButton>
<MSLabel name="MioMapStr" id="113">
<MSTextMuiId>15</MSTextMuiId>
</MSLabel>
-
-
-
</MSDialog>