Сначала я покажу, как добавить какую-нибудь кнопку в какое-нибудь меню. Для примера, я покажу, как добавить в меню
Правка кнопку, при нажатии на которую будет начинаться математический режим, туда будет вводиться формула $$\dfrac{\sqrt{\pi}}{2}$$
и после этого курсор 2 раза перемещается влево, так, что после окончания выполнения этой команды курсор начинает мигать слева от только что введенной формулы. При этом я хочу, чтобы эта кнопка стояла между кнопками
Вставить и
Вставить недавнее, сверху этой кнопки помещалась полоса, такая, как, ну, знаете, есть же в меню полосы, разделяющие их на блоки, в которых группируются как-то связанные друг с другом кнопки. А отображаемое имя этой кнопки должно быть
drob' s chislitelem . Для того, чтобы выполнить эту задачу - частный случай задач, заявленных в названии этой темы, нам потребуется редактировать файлы, находящиеся в папке
C:\Program Files\LyX 2.0\Resources\ui. Именно, для того, чтобы изменить какое-нибудь меню, нам нужно редактировать файл
stdmenus.inc, находящийся в этой папке. Открываем его в каком-нибудь редакторе, я это все делаю в банальном Блокноте. Где интуитивно, где глядя на код и, держа в уме горячие клавиши, которыми я пользовался в LyX, когда я еще только-только начал изучение этой программы и о создании собственных горячих клавиш не могло быть и речи, я понял, что редактировать нужно блок кода этого файла, начинающийся с
#
# EDIT MENU
#
Menu "edit"
А именно: после строки
Item "Paste" "paste"
добавить 2 строки
Separator
Item "drob' s chislstelem" "command-sequence math-mode; math-insert \dfrac{\sqrt{\pi}}{2}; char-left; char-left;"
Первая из добавленных строк как раз и дает разделяющую полоску, описанную выше. Сохраняем изменения в stdmenus.inc, перезапускиваем) LyX. В результате получаем вот что:
Так, теперь займемся добавлением кнопок на панели задач. Признаюсь, что, как добавлять кнопки на панели задач, я подсмотрел
вот здесь. А процедура добавления кнопок в меню, описанная выше была додумана уже мной на базе этого узнанного материала. И, уж, конечно, я не претендую ни на какое авторство. Ну, и вот... Вероятно, внимательный читатель
вот в этом посте уже заметил отличие одной панели инструментов в окне прогры LyX, которой пользуюсь я (она, эта отличающаяся панель, расположены на фото там точно над рабочей областью, в которой я пишу) от аналогичной панелей инструментов в еще неизмененной прогре LyX. Именно, отличие этой панели сразу бросается в глаза большущей кнопкой, на которой имеется лишь частично вошедшая на фото надпись
Moyacom [Ctrl + 0 1]. Однако, той кнопкой я не ограничился, потому что не ясно было, как на кнопки, созданные пользователем, прикреплять еще и какие хочешь картинки. Поэтому я создал еще одну кнопку. На следующем фото созданные мной на этой панели инструментов кнопки указаны красными стрелками:
Вот для начала я и расскажу, как создать кнопку, покрытую желаемой картинкой (
у картинки должно быть обязательно расширение .png), при нажатии на которую выполняется команда, определенная в
C:\Users\ИВАН\AppData\Roaming\LyX2.0\commands\default.def. Итак, вписываем в этот файл с новой строки следующее:
\define "pina2" "command-sequence math-mode; math-insert \dfrac
{\pi
}{2
}; char- right; char-right;"
Закрываем файл default.def, сохраняем изменения. Далее, в папку
C:\Users\ИВАН\AppData\Roaming\LyX2.0\images\commands копируем фото (повторюсь,
обязательно расширения
.png), под которым мы хотим, чтобы создаваемая нами кнопка появилась в окне прогры LyX, переименовываем это фото в
pina2. Давайте договоримся, что кнопку мы добавляем на панель
Дополнительно (на приведенном выше фото приведена измененная панель инструментов *Дополнительно*). Но сама програ LyX не знает панели инструментов с таким названием. Эта панель в понимании LyX называется
Extra (я это выяснил, смотря на сообщения в не раз упоминавшейся в моих рассказах на этом форуме про прогру LyX области ее окна
Сообщения прогресса/отладки при активации/деактивации этой панели через
Вид>Панели инструментов). Отлично. Идем в уже упомянутую выше папку
C:\Program Files\LyX 2.0\Resources\ui. Открываем файл
stdtoolbars.inc, ищем там что-то, начинающееся со слова
extra (возможно, с большой буквы) или что-то, похожее на, там, заголовок или что-то в этом духе, содержащее это слово. Чтобы не лезть далеко, мы добавим нашу кнопку в самое начало этой команды. Именно, вот участок кода того файла до моего вмешательства:
...................................................................
StickyPopupMenu "update-others" "Update other formats"
End
Toolbar "extra" "Extra"
Item "Default" "layout"
Item "Numbered list" "layout Enumerate"
...................................................................
А вот каким я сделал тот участок кода:
...................................................................
StickyPopupMenu update-others Update other formats
End
Toolbar "extra" "Extra"
Item "Privet moim chitatelyam" "call pina2"
Item "Default" "layout"
Item "Numbered list" "layout Enumerate"
...................................................................
, где многоточия - это строки файла stdtoolbars.inc, стоящие до и после приведенного кода этого файла. В принципе, все, закрываем с сохранением файл
stdtoolbars.inc. Тогда после перезапуска LyX при активации панели
Дополнительно на этой панели появляется новая функционирующая кнопка с тем изображением, которое мы и назначили и выполняющая ту функцию, которую мы и определили. Как видно из последнего фото, всплывающая подсказка определяется написанным нами в первой паре кавычек, относящихся к соответствующему
item. В заключении скажу, что добавленная мной вторая кнопка была определена без участия файла default.def и, как я сказал выше, без умысла назначить на нее картинку, под которой эта кнопка отображалась бы в окне прогры LyX: я просто вставил перед последней строкой блока кода, в котором я делал только что описанные манипуляции, пустую строку и вставил в эту пустую строку следующий код:
item "Moyacom" "command-sequence math-mode; math-insert \dfrac{\sqrt{\pi}}{2}; char-left; char-left;"
А
[Ctrl + 0 1
] на созданной мной кнопке на приведенном мной фото видно потому, что у меня на команду
command-sequence math-mode; math-insert \dfrac{\sqrt{\pi}}{2}; char-left; char-left; Ctrl+
0+
1 (признаться, я появления этой подсказки в этом месте совсем не ожидал.
Комментариев нет:
Отправить комментарий