Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Wix interface

Врезка
Fine, I'll go build my own plugin interface! With blackjack...and hookers!
Bender Rodriguez

Эта страница содержит описание предлагаемого к разработке и внедрению в Total Commander плагинового интерфейса. На ней подробно рассказано о целях, предполагаемых средствах реализации, о том, как это будет действовать, и какой эффект окажет.
Предполагается, что этот текст бует обсуждён на http://forum.wincmd.ru с целью нахождений приемлимого варианта реализации нового плагинового интерфейса Total Commander. По мере обсуждений в него будут вноситься правки.
Эта страница не имеет прямого отношения к RU.TCKB, однако может попасть туда в дальнейшем.

Павел Дубровский

Цель

Несмотря на большое количество полезных идей, реализованных с помощью имеющихся плагиновых API, средств автоматизации и внешних утилит, многие задачи остаются нерешёнными от версии к версии. В Total Commander отсутствует полноценная поддержка работы с консольными приложениями, нет возможности автоматической загрузки плагинов при запуске, нет средств организации работы внутренних процессов и т.д. Востребованность в решении таких задач приводит к появлению попыток реализовать необходимые функции через задний проход горбоносой макаки крайне нестандартными методами.

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

Как это будет выглядеть?

Предполагается следующий вариант:
Total Commander обзаводится ещё одной панелью, горизонтальной. Она располагается над функциональными кнопками и командной строкой, но под файловыми панелями. Для этой панели регулируется только вертикальный размер, горизонтально она занимает всю ширину окна Total Commander. Панель может включаться или отключаться подобно остальным элементам интерфейса (при этом часть функций интерфейсных плагинов недоступна. При переключении режима отображения файловых панелей одна над другой, панель, в зависимости от опций, может либо автоматически отключаться, либо переходить в вертикальный режим (подобно тому, как выглядит одиночная панель дополнительного дерева каталогов при режиме расположения одна над другой). Возможен вариант с dock-панелью, т.е. возможностью "отцепить" панель от окна Total Commander, и работать с ней, например, как с отдельным окном Lister. "Прицепление" панели обратно также возможно.
Особый режим панели - полноэкранный, он полезен для работы с некоторыми плагинами. В этом режиме скрываются все элементы интерфейса Total Commander, кроме командной строки (опционально), панели инструментов (опционально) и оконного меню.
Для управления всеми режимами отображения панели предусмотрены внутренние команды.

Эта панель предназначается для размещения на ней элементов управления (контролов) плагинов. Каждый работающий интерфейсный плагин создаёт на панели закладку (работа с закладками подобна тому, как это осуществлено на файловых панелях, или в браузере Opera), и размещает на ней собственные элементы управления. С точки зрения программиста, таб на закладке будет являться основным окном программы, которой будет являться плагин.

Средства

Расширение WLX API

Создание нового API

Действие

Использование собственных элементов управления

Интерактивные функции

Режимы работы

Что может быть реализовано?

Эффект