2010-03-04 1 views
-1

Я пишу плагин mozilla на Mac. Я пытаюсь захватить события, такие как нажатия кнопок и т. Д. Я сделал обычную задачу создания своих представлений в построителе inteface и связывания sentActions с методами в моей программе. Это работает в автономных программах.Путь к событию в плагине Mozilla на Mac

Однако в моем плагине NPAPI эти методы никогда не вызываются. Кнопка реагирует, подавляет, что угодно, но она не делает свое действие.

Вместо этого вызывается метод NPP_HandleEvent, но я никогда не получаю событие MouseDown или MouseUp, а только UpdateEvt.

настроить кнопки, чтобы принять щелчки через: (SuperView это вид Mozilla, Topview это вершина моей точки зрения иерархии.)

[SuperView setNextResponder: Topview]; [topView setNextResponder: nil]; [browserWindow makeFirstResponder: topView];

НИКОГДА НЕ УМЕР: Я идиот. Он вызывает действия, отправленные с помощью кнопки. Я искал неправильный метод. Это научит меня уходить от метода zoom: когда я на самом деле использую doZoom: метод ... D'oh ,.

+0

Если вы обнаружили, что вызвало проблему, почему бы не опубликовать его в качестве ответа? –

+0

Я пропустил сообщение, что вызвало проблему ... просто не как ответ, я думаю ... Я разберусь в ответ. –

+0

Я знаю, это было просто предложение следовать формату вопросов/ответов. –

ответ

1

Итак, проблема заключалась в том, что я не мог получить кнопки для работы. Кнопки должны были (например) увеличить изображение в IKImageView. (точнее, увеличьте представление). Казалось, что он не работает. Экран много мигал, но ничего не происходило ... Я поместил printf в свой метод масштабирования, и НИКОГДА НЕ ПОЛУЧАЛ! и поэтому я задал вопрос.

Позже, я заметил, что я не был TRYING для вызова увеличения, я звонил doZoom! doZoom WAS называется. И причина, по которой это не было масштабирование, была несвязанной проблемой.

Проблема заключалась в том, что я отправлял setImage в свой IKImageView на каждое событие, которое переустанавливает представление в 1-1, режим прав. Как только я вынул дополнительный вызов setImage, все начало работать.

В маловероятном случае, если кто-нибудь еще раз опыт это, ответ мой хитрый план мирового господства:

шаг 1: Не будь идиотом.

Этап 2: ???????

Шаг 3: Доминируют миру.

(Если бы я мог освоить шаг 1, я мог бы просто быть в состоянии понять, что шаг 2 был B-)

 Смежные вопросы

  • Нет связанных вопросов^_^