buniak_a_h wrote: ↑Fri 13 Mar, 2020 10:51
IgorZ, я как раз сделал по образу и подобию, но ненавижу делать что-то без понятия, "как попка". У Вас там присвоена "1" - в мануале написано, что это - первый (краткий) режим, а устанавливается 10-й (альтернативный). Я попробовал менять "1" на другие цифры - эффект только для "0", но не то, что хотелось бы. И Ваш пример противоречит
сообщению Shmuel-я. К тому же в комментариях к этой строке написано вообще
-- активный режим (наш единственный) - (а) я так и не понял, почему он "единственный", когда прекрасно можно переключиться на другой; (б) почему включается именно 10-й и (в) почему в другом режиме не учитывается поле
CustomColumnData в структуре
tPluginPanelItem.
Смотрим код:
Code: Select all
PanelModesArray = {{ -- режим колонок 0
ColumnTypes = "C0", -- пользовательская колонка
ColumnWidths = "0", -- на всю панель
ColumnTitles = {L.ColumnName}, -- заголовок колонки
StatusColumnTypes = "N", -- в статусной строке - имя
StatusColumnWidths = "0", -- на всю панель
Flags = F.PMFLAGS_FULLSCREEN, -- панель занимает весь экран
},{},{},{},{},{},{},{},{},{ -- режим колонок 9
ColumnTypes = "C0", -- пользовательская колонка
ColumnWidths = "0", -- на всю панель
ColumnTitles = {L.ColumnName}, -- заголовок колонки
StatusColumnTypes = "N", -- в статусной строке - имя
StatusColumnWidths = "0", -- на всю панель
Flags = F.PMFLAGS_NONE, -- панель не занимает весь экран
},
},
PanelModesNumber = 10, -- количество переопределённых режимов
StartPanelMode = S.FullScreen and 0x30 or 0x39, -- активный режим
Массив
PanelModesArray
содержит 10 таблиц. Этому соответстует
PanelModesNumber = 10
. Из комментариев видно, что каждая таблица соответствует режиму от 0-го (тот, что Вы безосновательно называете 10-м) до 9-го. Все таблицы, кроме первой и последней, пустые, то есть, соответствующие режимы не переопределяются, на самом деле.
StartPanelMode
, в зависимости от настроек, присваивается или
0x30
или
0x39
, что полностью соответствует
Shmuel wrote: ↑Tue 10 Mar, 2020 02:08
'0'+<номер режима просмотра> означает символ от '0' до '9' в терминах языка C.
В Lua используйте числа: ("0"):byte() ... ("9"):byte()
то есть от 0x30 до 0x39.
Комментарий "
(наш единственный)" в актуальной версии не найден.
ColumnTypes = "C0"
указывает, что в данном режиме выводится только одна колонка: как раз
CustomColumnData
.