View previous topic :: View next topic |
Author |
Message |
VJet
Joined: 29 Sep 2011 Posts: 1
|
(Separately) Posted: Sat Oct 08, 2011 14:25 Post subject: как создать пункт в меню с галочками (чекбоксами) |
|
|
хотелось бы создать пункт в меню, который:
а. после первого нажатия выполнял бы первый скрипт и напротив него появлялась бы галочка.
б. после второго нажатия выполнялся бы второй скрипт и галка бы пропадала.
т.е. чтобы все получилось как с "Панель инструментов: вкл/выкл" на картинке.
(список с такими пунктами будет размещен в меню "Запуск")
заранее спасибо за любой совет в нужную сторону.
http://i30.fastpic.ru/big/2011/1008/aa/c59f890055da5f946f633e5c3e589eaa.png |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sat Oct 08, 2011 14:36 Post subject: |
|
|
VJet
Нет. Пользовательские команды с состояниями в Тотале не реализованы, это поддерживается только для внутренних команд.
PS: Ссылку на картинку поправил. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
ask-rus

Joined: 10 Nov 2009 Posts: 2077 Location: Russian Federation
|
(Separately) Posted: Sat Oct 08, 2011 14:43 Post subject: |
|
|
VJet
Да. Можно нарисовать значок с галочкой и без, а скриптом менять. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Mon Oct 10, 2011 09:38 Post subject: |
|
|
CaptainFlint wrote: | Пользовательские команды с состояниями в Тотале не реализованы |
А может уже настала пора сильно попросить Гислера это сделать?
На нашем форуме в который раз поднимается вопрос о реализации такой возможности. И каждый раз в качестве ответа предлагаются "танцы с бубном". На оффоруме идея выдвигалась? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 09:39 Post subject: |
|
|
Batya
По принципу "нажал-отжал" с флагом в ini? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 10:14 Post subject: |
|
|
Если - 0, то отжимать, если 1, то вдавливать.
Функция будет активироваться ключом в секциях usercmd.ini/wcmd_lng.ini.
Last edited by Flasher on Mon Oct 10, 2011 10:18; edited 1 time in total |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 10:17 Post subject: |
|
|
Batya wrote: | А может уже настала пора сильно попросить Гислера это сделать? |
Может, и пора, но вряд ли он в 8.0 сподобится (война с Лазарусом, судя по всему, отнимает у него все силы и время). А к 8.5 успеет забыть.
Ну и, само собой, надо сначала прикинуть, как это вообще должно работать, чтобы этим было удобно пользоваться.
MVV wrote: | И как тотал будет узнавать, что состояние изменилось, и надо изменить иконку? |
Например, состояния — независимые команды, а в коде кнопки прописаны несколько команд, которые Тотал переключает циклически. Со значками только надо продумать. Например, если команды две, и у второй значок отсутствует, то для неё берётся значок первой и отрисовывается нажатым (и наоборот, для случая, когда начальным должно быть ненажатое состояние). Неясно пока, как запоминать состояния, как контролировать синхронизацию команд в меню/тулбаре/хоткеях (особенно если учесть, что последовательности команд там могут быть разными), как отображать состояния трёх и более команд… В общем, на 8.0 я бы не рассчитывал. Но идея в целом, мне кажется, интересная. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 10:24 Post subject: |
|
|
CaptainFlint wrote: | Неясно пока, как запоминать состояния, как контролировать синхронизацию команд в меню/тулбаре/хоткеях (особенно если учесть, что последовательности команд там могут быть разными) | Выше написал как.
CaptainFlint wrote: | как отображать состояния трёх и более команд… | Можно обойтись и без этого извращения. Да и вряд ли у автора появится желание колупаться более чем с двумя командами. Здесь же проводится аналогия с уже существующим функционалом.
Я так вижу, что вообще одна команда нужна. Скрипт должен быть один, и он, кстати, и будет читать значение ключа, чтобы выполнить соотв. действие. Т.е. флаги и для скрипта и для команды должны располагаться в одном месте для верного срабатывания и установки маркера. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 10:29 Post subject: |
|
|
Flasher
Вариант с флагами интересен, но он может работать исключительно на скриптах. А мой хорош ещё тем, что позволит переключать и внутренние команды (например, создать команду переключения между пользовательким набором колонок и стандартным режимом станет плёвым делом).
Впрочем, ни на чём пока не настаиваю. Говорю же, это надо тщательно продумать. Явные флаги состояний тоже могут быть полезны, чтобы не дублировать скрипты и команды, когда они оказываются почти одинаковыми. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 10:44 Post subject: |
|
|
CaptainFlint wrote: | А мой хорош ещё тем, что позволит переключать и внутренние команды (например, создать команду переключения между пользовательким набором колонок и стандартным режимом станет плёвым делом). | А команды как записывать? Через пробел? А если вн. команда поддерживает параметры?
CaptainFlint wrote: | Явные флаги состояний тоже могут быть полезны, чтобы не дублировать скрипты и команды, когда они оказываются почти одинаковыми. | В том-то и дело. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Mon Oct 10, 2011 10:49 Post subject: |
|
|
А если команда не отработала и переключать состояние не нужно? Тонкий это момент, без путаниц не обойдёшься.
Думаю, более полезной была бы возможность изменения значка пункта меню на лету. Например, возможность указания пути к значку в usercmd.ini. И чтобы тотал не кэшировал такой значок. Тогда скриптом можно было бы переключать значки при вызове команды.
Хм, а ведь по идее можно подменять иконки и флажки пунктов меню непосредственно перед его отображением... Правда, нужно будет точно определить, какой именно пункт меню соответствует какой команде. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 11:04 Post subject: |
|
|
MVV wrote: | А если команда не отработала и переключать состояние не нужно? | Значит, это проблема того, кто написал такую кривую команду.
MVV wrote: | Например, возможность указания пути к значку в usercmd.ini. И чтобы тотал не кэшировал такой значок. Тогда скриптом можно было бы переключать значки при вызове команды. | В unercmd.ini и так можно путь к значку указывать. Ты о чём? Переписывать путь к значку скриптом? Ну, вот это точно лишнее. Да и вообще речь шла о нажатом/отжатом состоянии, значок сам по себе должен быть один.
MVV wrote: | Хм, а ведь по идее можно подменять иконки и флажки пунктов меню непосредственно перед его отображением... Правда, нужно будет точно определить, какой именно пункт меню соответствует какой команде. | Не совсем понял. Приведи пример, плз. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Mon Oct 10, 2011 11:13 Post subject: |
|
|
Quote: | В unercmd.ini и так можно путь к значку указывать. |
Точно. Тогда требуется лишь научить тотал отображать эти значки в меню.
Не вижу существенной разницы между изменением флага в INI и изменением пути к значку. В любом случае требуется правка INI.
Quote: | Не совсем понял. Приведи пример, плз. |
Это можно реализовать и без Гислера - через TWinKey или другой плагин, который встраивается в обработчик сообщений окна тотала. Менять значки или ставить/снимать галочки в зависимости от тех или иных параметров в каком-то конфиге, или ещё как-нибудь.
Перед отображением каждой менюшки винда посылает окну сообщение, где передаёт дескриптор менюшки, и можно внести изменения прямо перед отображением - например, поменять значок или поставить/снять галочку. Нужно лишь понять, какому пункту меню нужно что-то менять. Пока вижу только 1 вариант - по названию пункта меню. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Oct 10, 2011 11:22 Post subject: |
|
|
MVV wrote: | Не вижу существенной разницы между изменением флага в INI и изменением пути к значку. | Разница
а) в кол-ве символов
б) в необходимости плодить значки для команд вкл./выкл.
MVV wrote: | где передаёт дескриптор менюшки | Всё, теперь понял, о чём ты. Мы же с тобой этот вопрос как-то решали. Но для скриптов всё равно флаги нужны. Кстати, не проверял в 8-ке, баг, проявившийся в TcMenuPopup, исправлен?
Last edited by Flasher on Mon Oct 10, 2011 11:51; edited 1 time in total |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|