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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

Разработка » Не получается добавить двойной клик на элементе дерева, как сделать? » 11-12-2011 20:28:58

hydrolizer пишет

Обработчики пользовательских событий обычно вешают на treechildren.

На самый верхний в дереве? А как мне определять по какой веке я кликаю, т.е как мне отличать что я кликнул по ветке а не по группе(у группу установлен атрибут: container=true)?

Разработка » Не получается добавить двойной клик на элементе дерева, как сделать? » 11-12-2011 18:18:44

Доброго времени суток, на форм лежит tree, нужно по двойному нажатию по ветке выполнять своё действие. Обработчик на событие вешаю динамически:

Выделить код

Код:

function makeTreeItem(text, group) {
    group = group || false;
    
    var treeitem = document.createElement("treeitem");
    var treerow = document.createElement("treerow");
    var treecell = document.createElement("treecell");
        
    treecell.setAttribute("label", text);
    treecell.setAttribute("src", "images/user.png");
    if(group) {
        treecell.setAttribute("properties", "group");
        treecell.setAttribute("src", "images/group.png");
        treeitem.setAttribute("container", "true");        
    } else {
        treeitem.addEventListener("dblclick", onTreeItemDoubleClick, false);  // доб. обработчик двойного нажатия
    }
    treeitem.appendChild(treerow);
    treerow.appendChild(treecell);
    
    return treeitem;
}

Это функция добавления элемента в дерево, но почему-то когда я кликаю по ветке, ничего

Разработка » Бордюр Диалогового окна » 08-12-2011 07:15:09

Большой пишет

Да, это спасибо.

Я так понимаю теперь окно нельзя зацепить и переместить, как это можно исправить?

Повешать обработчик на событие onmousemove окна, и если нажата левая кнопка мыши(т.е при нажатии левой кнопки мыши ставим флаг, а в обработчике mousemove проверяем его), то двигаем окно, наверно как-то так :)

Разработка » Стилизовать элементы дерева как в Pidgin » 02-12-2011 13:03:34

Благодарю. Так и думал, что придётся в сторону XBL копать.  :)

Разработка » Стилизовать элементы дерева как в Pidgin » 01-12-2011 15:46:08

Shutnik пишет

стилизовать отдельные элементы интерфейса и делать их не системными — дурной тон.
лучше создать свою тему оформления и стилизовать xul как угодно (в том числе под gtk, как в pidgin).

Я имел ввиду возможность делать такие же элементы дерева, т.е сделать их выше, чтобы влезло пару строк текста(лучше разными шрифтами), сделать две картики(одну слева, одну справа) и т.д. Так с помощью тем можно сделать?

Разработка » Стилизовать элементы дерева как в Pidgin » 01-12-2011 11:59:46

Доброго времени суток, интересует такой вопрос, можно ли в XUL стилизовать элементы дерева как например в IM Pidgin?
Смотрю по докам, судя по всему можно только менять цвета да шрифт :(
contact_window.png

Разработка » Разработка UI с использованием XUL » 15-11-2011 09:50:04

okkamas_knife пишет
xterro пишет

росто не все владеют технологиями, которые вы перечислили

дело не в технологиях а в месте.
полно форумов где тусуются те кто ищет работу кодера но аффтар почемуто решил поискать их тут.
похоже в той конторе в отдел кадров тоже понабирали по объявлениям.

Ну, я думаю большинство XUL кодеров тусуется здесь, поэтому ТС видимо и решил здесь поспрашивать.

Разработка » Разработка UI с использованием XUL » 15-11-2011 08:51:39

mmchief пишет

Удивительный результат. Более 400 просмотров и ни одного желающего подработать. Что никому не нужны деньги?

Просто не все владеют технологиями, которые вы перечислили :D

Разработка » window.openDialog() как проверить что окно уже открыто? » 14-11-2011 14:17:16

hydrolizer пишет
Infocatcher пишет

должн быть глобальным для всех окон, а то пользователь из другого окна сможет открыть еще одно

Разумеется. Например, поле объекта, созданного в jsm-модуле - контекст BackstagePass как раз глобален для всех окон, в отличие от контекста ChromeWindow.

У меня эта переменная определена в самом начале js -файла. Окно одно, так что думаю проблем не возникнет :)
P.S. А если действительно понадобится переменная, которую должны видеть все окна, где её определить? :|

Разработка » window.openDialog() как проверить что окно уже открыто? » 13-11-2011 12:15:51

hydrolizer пишет

xterro
window.openDialog возвращает переменную-ссылку на это окно. Сохраните её где-нибудь после открытия окна, а перед открытием проверяйте сохраненное значение, и если оно не null/undefined - проверяйте у переменной значение свойства closed - если окно было закрыто, то оно будет равно true.

Благодарю, оказывается всё просто, как всегда :)

Разработка » window.openDialog() как проверить что окно уже открыто? » 13-11-2011 11:46:09

okkamas_knife пишет

покопай тут
https://developer.mozilla.org/en/Code_snippets/Windows
и там еще по ссылкам

там я смотрю у окна ID наличиствует
так что можно при открытии запоминать ид и в следующий раз если ид не пустой то окно открывалось и далее ищем его по ид если находим то лезем к нему если нет то окно  уже закрыли и значит открываем новое.
подробнее с примерами не помогу - надо самому разбираться.

Спасибо за ссылку, по ней понял некоторую мысль - похоже можно использовать nsIWindowWatcher. При первоначальном создании окна задачать ему какое-нибдуь имя, и при следующем нажатии кнопки поискать окно по этому имени, если нашлось, то добавляем вкладку, если нет, то создаём новое :)

Разработка » window.openDialog() как проверить что окно уже открыто? » 13-11-2011 10:38:04

Доброго времени суток. Есть такой момент, нажимаю на кнопку, по ней делаю открытие своего окна(xul файл) через window.openDialog(...). Допустим, я второй раз нажимаю на кнопку, как мне проверить что окно уже открыто? (я хочу, если оно уже открыто, то просто добавить в него вкладку). Думал передавать в openDialog() последним параметром логическую переменную, и повешать на окнообработчик onload,в котором устанавливать её в true, и эту же переменную проверять при нажатии на кнопку, мол если она true то окно не открываем, а работаем с текущим? Только вот ещё один момент, что будет являться текущим то? Или к открытому окну можно как-то обращаться по идентификатору(или имени, оно передаётся вторым параметром в openDialog())?

Разработка » Как загрузить свой xul при создании нового tabs? » 06-11-2011 15:07:44

hydrolizer пишет

xterro
В смысле, если у вас уже есть готовые xul в виде файла, то в чем проблема? Открывать в новом окне - вообще просто:

Выделить код

Код:

window.openDialog("chrome://myextension/content/my-some-file.xul",
    "_blank", "chrome,dialog,modal,resizable,centerscreen");

в новой вкладке - через размещение в новой вкладке iframe, и задание для него contentDocument.location, указывающий на ваш xul (tabbrowser в расширениях использовать нельзя, он только для главного окна).

Я так понимаю это в контексте расширения? А если я делаю отдельное приложение, то методы те же самые(openDialog, iframe и contentDocument)? Ещё такой момент, если я использую xulrunner, сделал структуру каталогов как указано в докуметации, могу ли я при указании пути использовать префикс chrome://, как он используется?

Разработка » Как загрузить свой xul при создании нового tabs? » 06-11-2011 12:34:01

hydrolizer пишет

xterro
У вас xul создается динамически?

В смысле? Задача такая: есть некоторое окно с вкладками и списком(деревом), пользователь кликает по элементы списка и в tabs добавляется вкладка с моим xul, который берётся из файла(по крайней мере я так предполагаю делать, т.е наготовить всех необходимых "форм" и открывать их во вкладке или отдельном окне, если в отдельном окне, то скажем, пользователь кликает правой кнопкой мыши по элементу списка и выбирает - ОТкрыть в новом окне, тогда создаётся новое окно и в него загружается мой xul файл), потому как зашивать в JS код описание xul формы, думаю не есть гуд. Как то так... я думаю.

Разработка » Как загрузить свой xul при создании нового tabs? » 06-11-2011 12:14:06

Присоединяюсь к вопросу, но только интересует добавление своего xul-а на вкладку в отдельном окне(отдельно приложение, запускаемое при помощи xulrunner-а), а не в браузере. Т.е как добавить свой xul на вкладку или открыть его в отдельном окне(не браузера)? :)

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 03-11-2011 13:20:42

hydrolizer пишет
Lain_13 пишет

там-же js и css файлы рядом

Только в css там ссылка на xbl-связку, если что. Окошко просмотра кода страниц не использует для подсветки обычный css, т.к. оно по сути - то же окно браузера (во viewSource.xul внутри и используется xul:browser). В этом окне страницы отображаются по спец. протоколу view-source: - можно набрать в основном окне FF

view-source:http://forum.mozilla-russia.org/viewtopic.php?pid=528106#p528106

- и увидеть то, что можно увидеть в окне просмотра кода. Т.е. подсветка синтаксиса формируется где-то в недрах реализации протокола view-source: , и так просто рассмотреть реализацию этой подсветки вряд ли получится.

Да и у элемента browser, судя по документации нет свойства разрешающего редактирование документа :(

А вот что такое source-view:

View-source (англ.Просмотр источника) — это URL схема используемая некоторыми браузерами для построения URL-адреса web-страницы, который ссылается на источник данно

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 03-11-2011 12:50:57

Lain_13 пишет

xterro
omni.jar\chrome\toolkit\content\global\viewSource.xul (там-же js и css файлы рядом)
Файл omni.jar лежит в папке фокса, переименуй его в zip и распакуй.

Благодарю, уже копаюсь там. Нашёл там ещё какой-то scratchpad :o

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 03-11-2011 11:48:17

Lain_13 пишет

Кстати, ещё стоит посмотреть на код окна просмотра кода страницы самого FireFox — там уже есть подсветка синтаксиса.

Кстати да, на него я тоже гляну . спасибо. А как он называется?

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 03-11-2011 07:33:28

Т.е как я понял можно использовать либо RichTextEdit из XUL, либо просто стандартный TEXTAREA с JS. И последний момент, а нумерацию строк сильно сложно реализовывать? Я так понимаю, что на элементе, будь то XUL элемент или стандартный textarea рисовать нельзя(чтобы отрисовать номера строк). :sick:

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 02-11-2011 21:36:02

Lain_13 пишет

xterro
Обычно подсветка крутится отдельным фоновым потоком и после первого глобального прохода рассматриваются только изменения в текущей строке. Это не ресурсоёмкая операция. Т.е. главное правильно воспользоваться найденным скриптом, а не тупо переанализировать весь документ из-за изменения одной буквы. Можно даже навернуть анализ структуры документа для упрощения поиска потерянных закрывающих тэгов. Это же поможет выделять блоки комментариев и подобную блоковую многострочную чушь. Потом можно сверху навернуть анализ валидности объявления всяческих объектов, но это уже сложно и нудно, зато даёт возможность реализовать простенькое автодополнение.

02-11-2011 18:39:37
Вот, кстати, тут поищи.

Благодарствую, только там я уже сморел. Все проекты - это просто рисовалки интерфейса, с внешними редакторами. Единственное - Komodo, но там код закрыт. ещё такой момент, какой-нибудь из текстовых полей вообще поддерживает раск

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 02-11-2011 17:26:57

hydrolizer пишет

А как соотносятся цель задачи, и инструмент написания кода?

Инструмент написания кода - никак. Текстовый редактор хочу иметь "встроенным"(родным).Я понимаю, что можно вызывать внешний, но хочется "нативный",  и это принципиальная позиция. Возможно ли такое вообще?

P.S. Смотрю на скрипты подсветки синтаксина(написаны на JS), там,  некий текст загрузился, скрипт его обработал, "обрамил стилями" и готово, а в редакторе же нужно как-то отслеживать то что набирает пользователь в поле ввода, то-ли он ввёл ключевое слово и к нему нужно применить тег подсветки, то-ли это не ключевое и подсвечиваь его не надо. И получаеся так нужно на каждый ввод символа. (

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 02-11-2011 16:11:48

Lain_13 пишет

У меня даже приблизительно не получается догадаться зачем тебе _на столько_ громоздкий текстовый редактор.
Это как если бы мне для хранения таблицы из БД в памяти понадобился бы MS Excel.
Вы будете смеяться, но в софтине BO Excelsius он кому-то именно в такой форме и понадобился.

Вам правда мало хороших быстрых редакторов?

Или ты неправильно сформулировал вопрос и тебе нужен текстовый редактор с подстветкой синтаксиса XUL? Так это обычный XML.

Просто изучаю возможность создания морды к БД именно на XUL+JS. Отображение табличной информации в элементе типа listbox или tree(если понадобится группировка). С возможностью править некоторые многострочные записи, в которых нужно подсветить некоторые ключевые слова. Конечно, пока только изучаю возможность создания такового. Вот в связи с этим и появился такой вопрос. Например есть же <editor>. На его базе можно как-нибудь сделать? Так-же интересует вопрос: "потянет" ли listbox(tree) отображение, скажем 1000 (2000, 5000,

Разработка » Существует ли текстовый редактор на XUL с подсветкой синтаксиса? » 02-11-2011 13:58:07

Доброго времени суток. Интересует текстовый редактор на XUL с подсветкой синтаксиса. Существует ли такой в природе. Меня больше интересует сам компонент-"редактор" с возможностью подсветки синтаксиса и нумерацией строк. Или если не существует такого, может натолкнёте на идею как создать? Зараннее благодарен [mozilla]

Board footer

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