ROS Shell

Материал из Русский WINE
Перейти к: навигация, поиск

Начало

Первое время в ReactOS не было графической оболочки. Она была реализована в выпуске 0.2, Мартином Фуксом, при чем реализована неправильно с точки зрения ее программной архитектуры. В ReactOS, кроме этого проводника есть еще один - explorer_new. В идеале он должен по функциональности быть аналогичным проводнику Windows, но для нормальной работы ему необходима библиотека Shell32.dll.

Browseui.dll в explorer_new

Первым большим шагом в разработке Shell32 был контракт, заключённый с Яннисом Адамопулосом (Giannis Adamopoulos) на доработку библиотеки shell32 и компонента browseui, который необходим проводнику для отображения файлового браузера. Итогом контракта стал перевод shell32 на C++, а также создание библиотеки browseui.dll. Так же Яннис изучил инфраструктуру поддержки оболочки и написал на нее документацию.


После контракта с Яннисом

Позже, 2 февраля была создана отдельная ветка разработки shell-experiments и с тех пор все изменения с shell32 вносятся туда.

Все изменения с Shell32 вы можете просмотреть на сайте code.reactos.org.

Все подзадачи разработки shell32 вы можете посмотреть на багтрекере: (CORE-7330).

С 7 марта в ветке shell-experiments новая оболочка запускается по умолчанию (explorer_new переименован в explorer, а explorer в explorer_old).

Прогресс

  • 13 марта завершена работа над CMenuSite
  • 15 апреля завершена работа над CMenuDeskBar

Схема компонентов Shell32

ReactShellProgress.png

На данной схеме визуально отмечены компоненты Shell32. Зеленым цветом выделены те, над которыми сейчас идет работа. Как видно, для более полного отображения файлового браузера необходимо реализовать еще много подклассов browseui.

Нереализованные возможности

не реализовано реализуется реализовано
  • панель меню
  • меню Пуск
  • просмотр директорий в виде дерева
  • обработка аргументов командной строки
  • drag and drop
  • диалоги копирования файлов
  • динамический обмен данными (DDE)

Ведется работа над меню

Горизонтальное меню в explorer new.png

Скриншот из отчета разработчика (от 16-мар-2014).

На 9 апреля при нажатии разворачиваются все пункты меню, кроме Edit (Правка).

На 22 апреля были написаны ​​контекстное меню для элементов оболочки и навигация с помощью клавиатуры на вертикальных всплывающих меню, а так же почти работает навигация с помощью клавиатуры на горизонтальной панели меню.

Подменю

  • Отображаются и функционируют:
    • view(вид)>view(вид)>[размеры значков]
    • view(вид)>go to(перейти)>up on level (на один уровень вверх)
    • help(помощь)>about ReactOS (о ReactOS)
  • Отображаются но не функционируют:
    • view(вид)>go to(перейти)>[кракозябрами отображается список недавно посещенных мест]

Прогресс меню "Пуск"

Pusk1.png Pusk2.png Pusk3.png

В настоящее время, в меню "пуск" работают: выключение, запуск, настройки (только свойства панели задач) и программы.

Скачать сборки

ReactOS
Search.png
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работRoadmap ядра by VgalРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQReactOS как рабочая станцияReactOS и UEFI
Обзоры ОболочкаNTVDMWOWCommunity EditionИстория сайтаReactOS ServerКриптографияПО времен XP