Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

Разработка » Взаимодействие расширения с внешней программой » 13-12-2009 13:20:45

Для работы расширения с другими приложениями можно сделать бинарную XPCOM компоненту, она будет лежать как длл в опеределённой папке расширения (components). Расширение будет вызывать функции ДЛЛ, которая, в свою очередь, будет обращаться к внешним программам.
Про оперу ничего сказать не могу, там с виджетами как-то всё не так :))

Разработка » Balloon Tooltip (всплывающие подсказки) » 24-09-2009 23:19:46

почти год прошёл, а не написал... :(
мне бы пригодилось.

Разработка » открыть окно XUL и получить возможность управлять xul содержимым » 27-07-2009 18:00:03

спасибо, lemax, за помощь.

резюмирую.

получилось сделать двумя способами:
1. через nsIWindowWatcher и OpenWindow.
не устраивал, потому что нельзя было сделать окно модальным...

2. а так меня всё устроило:
    nsCOMPtr <nsIWindowMediator> mediator(do_GetService("@mozilla.org/appshell/window-mediator;1"));
    nsIDOMWindowInternal *win;
    mediator->GetMostRecentWindow(L"navigator:browser",&win);
    nsCOMPtr<nsIDOMWindow> tWindow;

    win->OpenDialog(
        NS_LITERAL_STRING("chrome://******.htm"),
        NS_LITERAL_STRING(""),
        NS_LITERAL_STRING("chrome,dialog,modal,centerscreen,resizable=no"),
        args,
        getter_AddRefs(tWindow)
        );

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

Разработка » открыть окно XUL и получить возможность управлять xul содержимым » 08-07-2009 21:04:13

Пытаюсь сделать тоже самое, вызвать диалог из c++. Но я пошёл другим путём:

Выделить код

Код:

nsCOMPtr<nsIWebBrowser> pBrowser (do_GetService("@mozilla.org/embedding/browser/nsWebBrowser;1"));

nsCOMPtr<nsIDOMWindow> domWindow;
pBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));

nsCOMPtr<nsIDOMWindowInternal> domWindowInt;
domWindowPrivate->GetPrivateRoot(getter_AddRefs(domWindowInt));

а уже из domWindowInt пытаюсь вызвать openDialog(.....);

но проблема в строке с методом GetContentDOMWindow, после неё domWindow нуловый.
может кто-нибудь знает в чём проблема?

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]