Переключение окон (областей)

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Переключение окон (областей)

Post by buniak_a_h »

Господа! Подскажите пожалуйста, что я делаю не так.
Хочу переключиться на панели. написал такой макрос:

Code: Select all

Macro {
  description="Выбор файла в панели";
  area="Editor"; key="Apps";
  flags="EnableOutput NoPluginPanels";
  action=function()
   local iw, wi=0,far.AdvControl("ACTL_GETWINDOWINFO")
   while wi.Type ~= far.Flags.WTYPE_PANELS do
    if not far.Show('Продолжить?') then return end -- БЕЗ ЭТОЙ СТРОКИ НЕ ПЕРЕКЛЮЧАЕТСЯ!!!
    if iw > 100 then return end -- "страховка"
    far.AdvControl("ACTL_SETCURRENTWINDOW", iw)
    far.AdvControl("ACTL_COMMIT")
    iw=iw+1
    wi=far.AdvControl("ACTL_GETWINDOWINFO")
   end   
  end;
}
Во-первых, без far.Show вообще ничего не происходит
Во-вторых, и с этой строкой переключение иногда не происходит. Закономерности не нашёл... :-(
Без far.AdvControl("ACTL_COMMIT") вообще ничего не происходит...
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Переключение окон (областей)

Post by HaRT »

buniak_a_h, прошу внимательнее выбирать, в каком подфоруме создавать новую тему. Эту я перенёс.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Переключение окон (областей)

Post by Shmuel »

Code: Select all

Macro {
  description="Выбор файла в панели";
  area="Editor Viewer"; key="F1";
  action=function()
    for i=1,100 do
      local wi = far.AdvControl("ACTL_GETWINDOWINFO", i)
      if not wi then break end
      if wi.Type == far.Flags.WTYPE_PANELS then
        far.AdvControl("ACTL_SETCURRENTWINDOW", i)
        break
      end
    end   
  end;}
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Переключение окон (областей)

Post by sToLp »

Дык вот же ж есть: RecentScreens — переключение между окнами как в MS Windows™ — классный макрос.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Переключение окон (областей)

Post by buniak_a_h »

sToLp wrote:Дык вот же ж: RecentScreens — переключение между окнами как в MS Windows™ — есть классный макрос.
Спасибо, вопрос уже решён.
На самом деле хочу сделать запрос файла (far.Message), а по кнопке - переход в панели, визуальный выбор папки и файла, по CtrlEnter - вставка в диалог, возврат. Пока не знаю, возможно ли переключиться в панели из диалога...
Наверное, такое уже есть (идея просится в реализацию), но искать тут - просто кошмар. Столько всего интересного...
Так что переключение в панели - только часть задачи.
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Переключение окон (областей)

Post by HaRT »

buniak_a_h wrote: возможно ли переключиться в панели из диалога
Вряд ли. Разве что временно закрыть диалог, выбрать файл и затем перевызвать плагин. Однако в диалоге уже есть через плагин DialogTools.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Переключение окон (областей)

Post by buniak_a_h »

HaRT wrote:
buniak_a_h wrote: возможно ли переключиться в панели из диалога
Вряд ли. Разве что временно закрыть диалог, выбрать файл и затем перевызвать плагин. Однако в диалоге уже есть через плагин DialogTools.
Спасибо, тогда не буду делать. Пока. Хотя то, что я задумал, было бы гибче (как в OpenDialog-е: можно не только выбрать файл но и делать с файлами всё, что позволяет проводник, кроме того можно было бы отметить несколько файлов, и они все попали бы в строку).
Но оно того не стоит. Для красоты, если будет время, доделаю... Идея мне нравилась...
Программировать просто. Знай, жми себе на кнопочки... © Владелец IT-компании
Post Reply

Return to “Нужна помощь”