Как отследить, в каком приложении определен обработчик сигнала gtk / gtkmm для некоторой кнопки - PullRequest
0 голосов
/ 03 мая 2020

Проблема: вы хотите внести свой вклад в какой-то проект gnome / gtk / gtkmm, так как вы заметили и знаете, как можно улучшить ситуацию / хотите исправить ошибку. Вот шаги, с которых можно начать.

Пример проблемы: кнопка «Очистить» в Gnome Builder ничего не делает для моего проекта, и с этого момента я считаю, что это просто пустая функция с кнопкой-заполнителем, которую я хочу реализовать фактическое действие.

1 Ответ

0 голосов
/ 03 мая 2020

Вот шаги:

  1. открыть приложение, которое вы хотите изменить в терминале, где установлена ​​среда GTK_DEBUG = переменная интерактивной среды. поэтому запустите GTK_DEBUG=interactive gnome-builder
  2. Инспектор Gtk должен был открыться, и вы должны увидеть кучу объектов. Если вы щелкнете по объекту в Инспекторе, этот объект должен загореться в вашем приложении
  3. Gtk имеет четкую иерархию, поэтому родительский элемент содержит дочерние элементы, и ваша задача состоит в том, чтобы определить, какой родительский элемент является дочерним, который вы хотите изменить
  4. Когда вы решите, какого родителя вы хотите, нажмите стрелку рядом с именем этого родителя, чтобы показать его потомков
  5. Повторите шаги 3. и 4., нажав 2., чтобы добраться до нужного вам ребенка. изменить
  6. Например, мой путь IdePrimaryWorkspace -> GtkPopover -> GtkBox -> DzlPriorityBox -> GbpBuilduiOmniBarSection -> GtkBox -> GtkBox -> GtkButton
  7. Дважды щелкните последнюю интерактивную запись (например, GtkButton
  8. слева, в раскрывающемся списке для просмотра свойств
  9. найдите свойство, которое вы хотите, мое GtkActionable, и его значение равно builder-manager.clean
  10. папка с открытым исходным кодом в интересующем вас терминале приложения (клонированный источник этого приложения)
  11. введите команда tree | grep build-manager
  12. если в find есть записи с таким типом имени файла --name = filenameof.your.file
  13. получить путь к файлу, открыть этот файл в текстовом редакторе / IDE, изменить вещи внутри
  14. отправить патчи
...