Способы перехода по ссылке. ESldNavigationTypeEnum

Данное перечисление описывает способы возможной обработки ссылок <link> (значения указываются в качестве атрибута link_type самой ссылки):

  • перейти и отобразить перевод статьи, причем перевод будет отображаться даже у папок (если есть); папка списке слов при этом не открывается (“0”, eGoToWord)
  • перейти внутрь папки (“1”, eGoToSubSection)
/// Способы перехода к определенному слову в словаре
enum ESldNavigationTypeEnum
{
    /// Переход к самому слову
    /// Нужно перейти на это слово и отобразить его перевод, если он есть (неважно, статья это или раздел каталога)
    eGoToWord = 0,
    /// Переход внутрь раздела каталога
    /// Нужно перейти внутрь раздела для отображения его элементов (если слово является разделом каталога);
    /// Если слово не является разделом каталога - тогда работает как eGoToWord
    eGoToSubSection
};

Тип отображения уровня иерархии. EHierarchyLevelType

Данные значения задают поведение папки при открытии словаря и отображении иерархического списка в виде дерева в дальнейшем:

  • обычная папка – при старте приложения закрыта (отображается только название папки без содержимого), при попытке перехода отображаются все вложенные элементы (уровень с самой папкой не виден) (“normal”, eLevelTypeNormal)
  • закрытая – при старте также закрыта и отображается только заголовок папки, но при попытке перехода вложенные элементы отображаются под названием папки с отступом (“covered”, eLevelTypeCovered)
  • открытая – при старте список вложенных элементов отображается под заголовком папки, при попытке перехода скрывается (“uncovered”, eLevelTypeUncovered)
  • открытая неинтерактивная – содержимое папки всегда видно, папка некликабельна (“static uncovered”, eLevelTypeStaticUncovered)
/// Тип уровня иерархии
enum EHierarchyLevelType
{
    /// Обычная папка, при инициализации списка закрыта, при переходе отображает отдельный список с ее содержимым
    eLevelTypeNormal = 0,
    /// Закрытая при инициализации папка, при переходе содержимое папки добавляется в основной список
    eLevelTypeCovered,
    /// Открытая при инициализации папка, при переходе содержимое папки удаляется из основного списка
    eLevelTypeUncovered,
    /// Открытая при инициализации папка, никаких действий с папкой не предусмотрено
    eLevelTypeStaticUncovered
};

Режимы навигации к следующей/предыдущей статье. ESwipingMode

Задает режим перехода по статьям при использовании CSldDictionaryHelper::Swipe:

  • переход на следующий/предыдущий элемент на том же уровне вложенности; тип элемента роли не играет – это может быть как статья, так и папка (ePassingAnySwipe)
  • переход на следующую/предыдущую статью на том же уровне вложенности. Папки будут “перепрыгнуты” функцией (eSkipingCatalogSwipe)
  • сквозной переход на статьи вне зависимости от уровня вложенности. Если целевым элементом является папка, то функция заходит внутрь – это повторяется рекурсивно до тех пор, пока не встретит статью. Если текущий элемент является последним в папке, то при попытке перехода к следующему функция выйдет из текущей папки и будет искать следующий элемент на верхнем уровне иерархии (аналогично – рекурсивно, выходит до тех пор, пока не найдет следующую статью) (eAcrossingCatalogSwipe)
  • переход на следующую предыдущую статью на том же уровне вложенности, но если целевым элементом является папка, то она будет блокировать переход – текущая статья не изменится (eInterruptingOnCatalogSwipe)
/// Режимы свайпа
enum ESwipingMode
{
    /// Свайп на любой элемент в пределах данного уровня вложенности
    ePassingAnySwipe = 0,
    /// Свайп на элемент статейного типа (пропуская элементы нестатейного типа) в пределах данного уровня вложенности
    eSkipingCatalogSwipe,
    /// Сквозной свайп на элемент статейного типа (пропуская элементы нестатейного типа)
    eAcrossingCatalogSwipe,
    /// Свайп на элемент статейного типа (блокируясь на элементах нестатейного типа) в пределах данного уровня вложенности
    eInterruptingOnCatalogSwipe,
};

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.