Mac上的Mozilla插件中的事件路径

时间:2010-03-04 19:46:09

标签: objective-c cocoa interface-builder npapi

我在mac上写了一个mozilla插件。我正在尝试捕获按钮点击等事件。我已经完成了在inteface构建器中创建视图,并将sentActions链接到程序中的方法的正常操作。这适用于独立程序。

但是,在我的NPAPI插件中,这些方法永远不会被调用。按钮会做出反应,抑制,等等,但它不会起作用。

相反,NPP_HandleEvent方法被调用,但我从来没有得到MouseDown或MouseUp事件,只有UpdateEvt。

我设置按钮以通过以下方式接受点击:( superview是Mozilla视图,topview是我视图层次结构的顶部。)

[superView setNextResponder:topView];  [topView setNextResponder:nil];  [browserWindow makeFirstResponder:topView];

永远的心情:我是个白痴。它正在调用按钮发送的动作。我在看错了方法。当我实际使用doZoom时,这会教我放弃缩放:方法... D'哦,。

1 个答案:

答案 0 :(得分:1)

所以,问题是我无法让按钮工作。这些按钮应该(例如)缩放IKImageView中的图像。 (或者说,放大视图)。它似乎没有起作用。屏幕闪烁了很多,但没有发生任何事情......我在我的缩放方法中放了一个printf,它从来没有被打过电话!所以我问了这个问题。

后来,我注意到我没有 TRYING 来调用缩放,我正在调用doZoom! doZoom被称为。而且它不是缩放的原因是一个无关的问题。

问题最终是我在每个事件上向我的IKImageView发送setImage,将视图重新设置为1-1,正面向上模式。一旦我拿出额外的setImage调用,事情就开始起作用了。

万一其他人都经历过这种情况,答案就是我对世界统治的狡猾计划:

第1步:不要做白痴。

第2步:???????

第3步:统治世界。

(如果我能掌握第1步,我可能只能弄清楚第2步是B - )