Страницы: 1
Подскажите как реализовать в xul приложении вкладки как в FF.
Меня интересует как добавить к <tab> кнопки и если возможно другие елементы.
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
Или сделать собственную привязку на нужные tab'ы (не пробовал, но мне кажется, достаточно добавить в <content.. <children/>), или вместо <tab'ов помещать в <tabs> нужные элементы.
p.s. проверил, почти достаточно, кроме добавления <children/> нужно изменить атрибут display на xul:box
Отредактировано Anton (29-06-2007 23:50:30)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Или сделать собственную привязку на нужные tab'ы (не пробовал, но мне кажется, достаточно добавить в <content.. <children/>), или вместо <tab'ов помещать в <tabs> нужные элементы.
p.s. проверил, почти достаточно, кроме добавления <children/> нужно изменить атрибут display на xul:box
а можно примером кода?
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
1. Берём из toolkit.jar файл tabbox.xml, делаем его копию, скажем, ctabs.xml.
2. В файле ctabs.xml оставляем директиву xml, DOCTYPE, обрамляющий элемент bindgings и в нём только элемент binding с id="tab", меняем обоим элементам id, на всякий случай.
3. Элементу binding меняем также значение атрибута 'display' значением "xul:box".
4. В элемент xul:hbox добавляем тег <children/>.
5. Нужным tab'ам добавляем в стиль "-moz-binding: url(путь-к-ctabs.xml#id-элемента-binding);", в сами tab'ы добавляем нужные элементы управления, что-нибудь вроде:
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <tabbox> <tabs> <tab label="1"> <button label="11" oncommand="alert(11)"/> <button label="12"/> </tab> <tab label="2"> <vbox> <button label="21"/> <button label="22"/> </vbox> </tab> </tabs> </tabbox> </window>
ctabs.xml должен находится где-нибудь в chrome.
Вроде всё.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
распотраши tabbrowser.xml
!
Отсутствует
1. Берём из toolkit.jar файл tabbox.xml, делаем его копию, скажем, ctabs.xml.
2. В файле ctabs.xml оставляем директиву xml, DOCTYPE, обрамляющий элемент bindgings и в нём только элемент binding с id="tab", меняем обоим элементам id, на всякий случай.
3. Элементу binding меняем также значение атрибута 'display' значением "xul:box".
4. В элемент xul:hbox добавляем тег <children/>.
Ничего не выходит
Можно листинг готового ctabs.xml?
вот мой ctabs.xml
<?xml version="1.0"?> <bindings id="s_tabBindings" xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xbl="http://www.mozilla.org/xbl"> <binding id="s_tab" display="xul:box"> <xul:hbox align="center" flex="1"> <children> <xul:image/> <xul:label/> <xul:button/> </children> </xul:hbox> </binding> </bindings>
<tabbox> <tabs> <tab label="1" style="-moz-binding: url(chrome://content/ctabs.xml#s_tab-binding);"> <button label="11" oncommand="alert(11)"/> <button label="12"/> </tab> <tab label="2"> <vbox> <button label="21"/> <button label="22"/> </vbox> </tab> </tabs> </tabbox>
но ничего не выходит. поправте, что неправильно делаю.
получаеться вот что:
Отредактировано Василий Литвинов (01-07-2007 15:52:38)
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
листинг готового ctabs.xml
http://pastebin.mozilla-russia.org/61131
получаеться вот что:
И у меня тоже самое получается. То же самое получится и без ctabs.xml, единственное, для чего нужна правка стандартного binding tab - чтобы дочерние элементы tab'ов могли обрабатывать пользовательский ввод.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
А куда девается обрисовка вкладки. Остаются только кнопки, а стандартный вид кудато пропадает.
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
стандартный вид кудато пропадает
может, новый binding "подшивается" неправильно ?
Вот мой скриншот: http://forum.mozilla-russia.org/uploaded/tabs.png
Нечётные tab'ы - стандартные, чётные - с изменённым binding'ом. Выглядят, по-моему, идентично.
Я, правда, не стал выяснять, где в xulrunner'е chrome, сделал в tabbox.xml копию <binding id="tab".., сделал ему id="tab2", display="xul:box" и добавил <children/> в <xul:hbox..., в xul-файле к tab'ам подшил так:
<tab label="1" style="-moz-binding:url(chrome://global/content/bindings/tabbox.xml#tab2);">
Добавлено Вск 01 Июл 2007 17:10:16 :
p.s. сейчас только заметил:
id'ы разные - у binding'а "s_tab", а "подшивается" "s_tab-binding".
Добавлено Вск 01 Июл 2007 17:12:46 :
p.p.s: действительно, неправильно : )
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
а я все голову ломал. Спасибо!
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
А как сделать вкладки снизу, а не сверху как стандартные?
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
Василий Литвинов
А поиском воспользоваться? Не ты первый спрашиваешь, например, http://forum.mozilla-russia.org/viewtopic.php?pid=84157#p84157
Добавлено Пнд 02 Июл 2007 19:03:12 :
Или http://forum.mozilla-russia.org/viewtopic.php?id=1849
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
Подскажите как перевернуть сами вкладки в <tabbrowser>.
Я их сделал снизу
Но они сами все равно смотрят вниз.
Я пробовал применить к ним стили css, но ничего не выходит реакции ноль.
#s_browser_bottom > tab { -moz-appearance: none !important; /*background: url("chrome://multiviews/skin/images/tabstrip/tab-background.png") center repeat-x;*/ border: 1px solid; border-bottom: 3px solid; -moz-border-top-colors: #B5B5B5; -moz-border-right-colors: #91A7B4; -moz-border-bottom-colors: #91A7B4 transparent transparent; -moz-border-left-colors: #91A7B4; -moz-border-radius-bottomleft: 2px; -moz-border-radius-bottomright: 2px; padding: 0px 3px 1px 4px; margin-top: 0px; margin-bottom: 3px; }
А еще при добавлении первой(!) новой владки :
Добавляю я ее так:
function s_NewTab_bottom() {try{var myBrowser = document.getElementById('s_browser_bottom'); myBrowser.selectedTab = myBrowser.addTab(); }catch(e){alert(e);} }
Подскажите пожалуйста, что я неправильно делаю?
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
1.
Подскажите как перевернуть сами вкладки в <tabbrowser>.
Я их сделал снизу
Вроде бы надо #s_browser_bottom > tabbox
Или
распотраши tabbrowser.xml
по аналогии с <tab>
2.
А еще при добавлении первой(!) новой владки :...
Надо добавить в документ элемент <menu id="menu_closeWindow"/>. Потом будет ругань на отсутствие id="menu_close". Добавить его. Потом позаботиться о наличии в prefs.js настроек browser.chrome.site_icons, browser.chrome.favicons. Потом ещё ошибки вылезут, разобраться с ними и т. д.
В общем, насколько я понимаю, тут два варианта: либо перетащить какую-то часть кода Firefox на поддержку tabbrowser, либо обкастрировать его под свои нужды. Иначе он работать не хочет.
Отредактировано Anton (04-07-2007 19:53:34)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Вроде бы надо #s_browser_bottom > tabbox
Что с ">", что без нее кладки получаются снизу(чего и добивался). Но мне нужно чтобы сами вкладки смотрели вверх, а не вниз.
есть:
хотелось бы:
Так подскажите как я могу это сделать.
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
Так подскажите как я могу это сделать.
Так уже подсказал. Берем tabbrowser.xml, делаем копию <binding id="tabbrowser"..., меняем местами что нужно, вырезаем код, который даёт ошибки и т. д.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Василий Литвинов, открой архив со скином и переверни соответствующие картинки.
!
Отсутствует
....соответствующие картинки
где ты интересно увидел там картинки? по моему это все реализуется при помощи css!
Я бы изменил Мир, но Бог исходники не дает.
Отсутствует
через css подключаются картинки.
!
Отсутствует
Страницы: 1