Страницы: 1
Есть кнопка:
<toolbarpalette id="BrowserToolbarPalette"> <toolbarbutton id="TransBar-Button" type="menu-button" class="toolbarbutton-1 chromeclass-toolbar-additional" tooltiptext="&transbar.button.tooltip;" oncommand="TranslatePage();" label="&transbar.button.text;"/> </toolbarpalette>
Для кнопки определен стиль:
#TransBar-Button { list-style-image: url("chrome://translatebar/skin/button.gif"); } toolbar[iconsize="small"] #TransBar-Button { list-style-image: url("chrome://translatebar/skin/button_small.gif"); }
А как теперь из скрипта поменять изображение на кнопке? При этом нужно поменять изображение и для маленького и для большого варианта.
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
Ну, например добавить в *.css что-то вроде
#TransBar-Button[transbarstate="1"] { list-style-image: url("chrome://translatebar/skin/state_1_button.gif"); } toolbar[iconsize="small"] #TransBar-Button[transbarstate="1"] { list-style-image: url("chrome://translatebar/skin/state_1_button_small.gif"); }
А при необходимости сменить изображение устанавливать/удалять кнопке атрибут transbarstate:
... if (...) { ... document. getElementById ("BrowserToolbarPalette"). setAttribute ("transbarstate", "1"); ... } ... ... if (...) { ... document. getElementById ("BrowserToolbarPalette"). removeAttribute ("transbarstate"); ... } ...
Отредактировано Anton (03-05-2006 14:24:38)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Спасибо!
Еще один вопрос (уже, правда, по другой теме )
Добавляю контекстное меню:
<popup id="contentAreaContextMenu"> <menuseparator/> <menuitem label="123456" oncommand="TranslateSelection();" id="TransBar-PM-Item"/> </popup>
Пункт появляется в меню. А вот как сделать, чтобы он появлялся только в том, случае, когда в окне выделен фрагмент текста?
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
Sky
А вот как сделать, чтобы он появлялся только в том, случае, когда в окне выделен фрагмент текста?
В Autocopy можно посмотреть как сделано.
Только как это будет выглядеть, если стоят оба расширения...
Отсутствует
В Autocopy можно посмотреть как сделано.
У меня есть расширение, которое добавляет пункт в контекстное меню, смотрел его исходники, но что-то тольку ноль.
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
vladmir
Вообще функция Autocopy кажется встроена в fx Так что подозреваю, что autocopy меняет всего лишь одну настройку
жЫзнь рандомна... и ничего с этим не поделаешь ;)
Отсутствует
Sky
Нет невтуды я с Autocopy - оно же своё контекстное выбрасывает автоматом, а нужно чтоб в обычное контекстное добавлялось.
Так Quick Note делает.
но что-то тольку ноль.
От меня, тогда - ваще минус.)))
Lynxx
Вообще функция Autocopy кажется встроена в fx
Что-то сомневаюсь...
Отсутствует
document. getElementById ("contentAreaContextMenu"). addEventListener ("popupshowing", setMenuitemsVisible, true); function setMenuitemsVisible () { document. getElementById ("needed_menuitem_id"). hidden = (window. getSelection () == ""); }
Разумеется, "needed_menuitem_id" должен быть в оверлее contentAreaContextMenu.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Спасибо.
2 vladmir
QuickNote помог.
Сделал так:
document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", OnContextMenuShowing, false); function OnContextMenuShowing() { var SelItem = document.getElementById("TransBar-PM-Item"); var IsSelection = false; if(gContextMenu) IsSelection = gContextMenu.isTextSelected; if(SelItem) SelItem.hidden = !IsSelection; }
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
у меня странный эффект проявляется, при вставке в код фрагмента
document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", OnContextMenuShowing, false);
(функция обработчик - OnContextMenuShowing ничего не делает) у меня из контекстного меню исчезает куча пунктов (вместе с моими). Ни у кого нет идей с чем это может быть связано?
я ваще без вариантов
Отредактировано cesspit (05-05-2006 16:27:33)
Отсутствует
у меня странный эффект проявляется, при вставке в код фрагмента
Выделить кодКод:
document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", OnContextMenuShowing, false);(функция обработчик - OnContextMenuShowing ничего не делает) у меня из контекстного меню исчезает куча пунктов (вместе с моими). Ни у кого нет идей с чем это может быть связано?
я ваще без вариантов
разобрался, точнее подсмотрел в transbar &), тока я вот подумал что скрывать элемент в меню это не очень красиво выглядит, гораздо симпатичнее было бы дизаблить его, но как удалось установить, установка(масло маслянное блин ) disabled=true для xul-элемента(пункта меню) не означает замены цвета шрифта на серый. То есть если я хочу добится вида задизабленного пункта меню как, например "Назад", "Вперёд" на пустой странице мне нужно руками менять цвет пункта меню?
Отсутствует
скрывать элемент в меню это не очень красиво выглядит
Почему-то принято в контекстном меню не дизаблить элементы, а скрывать.
В данном случае при попытке изменить свойство элемента
var SelItem = document.getElementById("TransBar-Context-SelectionItem"); SelItem="true";
ничего не происходит.
А при изменении аттрибута
или установке этого аттрибута статически, в .xul пункт меню пропадает.
Видимо единственный выход менять вручную его цвет.
Отредактировано Sky (06-05-2006 13:04:49)
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
Страницы: 1