Возможно ли модифицировать консоль?

Shovel
Posts: 141
Joined: 31.12.2019 10:16

Возможно ли модифицировать консоль?

Post by Shovel »

Я хотел попробовать добавить простое auto-completion в консоль, но 'dlg_proc()' не хочеть работать с консолью.
Могу добавить новые виджеты, но на имеющихся DLG_CTL_PROP_GET и DLG_CTL_PROP_SET ничего не делают.
uvviewsoft
Posts: 392
Joined: 01.12.2020 13:46

Post by uvviewsoft »

надо яснее--что именно ты хочешь добавить. что такое "добавить"- это прямо новый контрол добавить между console input/ console log memo? или поверх положить? добавить как новую панельку в низ куды? (PROC_BOTTOMPANEL_*)
Shovel
Posts: 141
Joined: 31.12.2019 10:16

Post by Shovel »

Как обычно - Ctrl+Space, добавить 'on_key_down' в нижний 'edit' консоли (этой консоли 'app_proc(PROC_BOTTOMPANEL_GET_CONTROL, 'Console')' ).
Shovel
Posts: 141
Joined: 31.12.2019 10:16

Post by Shovel »

Ну, по 'on_console_nav' работает (pic)
Еще одна мелоч... если бы возможно еще было бы как-то получить 'locals()' из консоли, было бы отлично.
uvviewsoft
Posts: 392
Joined: 01.12.2020 13:46

Post by uvviewsoft »

даю доступ к консоли через dlg_proc. в 1.123.1 добавил-- см вики в конце "что добавилось". акшен для app_proc.

оно пашет! в консоли я смог вызывать d=dlg_proc(f, DLG_CTL_PROP_GET, index=2) и выводить d (dict).
надо искать по именам-- 'memo', 'input', не индексу.
бета в
http://uvviewsoft.com/c/
жди 10минут
Shovel
Posts: 141
Joined: 31.12.2019 10:16

Post by Shovel »

uvviewsoft wrote:жди 10минут
Ух ты... у меня так буду нереалистичные стандарты к фича-реквестам :D
uvviewsoft
Posts: 392
Joined: 01.12.2020 13:46

Post by uvviewsoft »

о,а теперь можно переделать консоль--прятать 'input' и добавить свой ввод. и положения все можно менять. anchors.
Shovel
Posts: 141
Joined: 31.12.2019 10:16

Post by Shovel »

Вы наверное пропустили, так как одновременно написали, повторюсь:
> Еще одна мелоч... если бы возможно еще было бы как-то получить 'locals()' из консоли, было бы отлично.
uvviewsoft
Posts: 392
Joined: 01.12.2020 13:46

Post by uvviewsoft »

есть вот
PROC_EXEC_PYTHON: Runs Python string in the context of Console. It is not the same as standard exec() call, it uses the same globals/locals as CudaText Console.
PROC_EXEC_PLUGIN: Runs Python plugin's method. Text must be comma-separated: "module_name,method_name,params", where "params" is optional part, it is parameter(s) for the method.

как вернуть локалс--не знаю...
Shovel
Posts: 141
Joined: 31.12.2019 10:16

Post by Shovel »

Все работает, и 'on_key_down' и 'locals()' получил с PROC_EXEC_PYTHON. Спасибо :D
Завтра потестирую и выложу
Post Reply