Open source FBE

Программы, утилиты

Re: Open source FBE

Сообщение Sclex » Пн янв 25, 2010 23:49

Есть onselectionchange, но я не понимаю, какой тебе прок от этого события.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение Sclex » Вт янв 26, 2010 0:20

Хотя, почитав описание onselectionchange, вижу, что я его недооценил.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение SeNS » Вт янв 26, 2010 0:32

Sclex писал(а):Мне лично важнее возможность проверить документа от начала до конца с помощью диалога.

Это уже давным-давно есть (сделал на прошлых выходных, правда, пока hardcoded для Russian и English).

Заработало подчеркивание наконец-то нормально (надо все-таки добить!). Доделаю еще выделение misspells на текущей странице - кину тебе на тестирование, если не возражаешь. Еще в планах (касательно спеллера) доделать контекстное меню с вариантами - но там все сравнительно просто, чистый кодинг.
WBR, SeNS
Аватар пользователя
SeNS
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 127
Зарегистрирован: Пт окт 21, 2005 19:20
Откуда: Boston, MA

Re: Open source FBE

Сообщение Sclex » Вт янв 26, 2010 0:40

SeNS писал(а):Это уже давным-давно есть (сделал на прошлых выходных, правда, пока hardcoded для Russian и English).
Это отлично.
Доделаю еще выделение misspells на текущей странице - кину тебе на тестирование, если не возражаешь.
Хорошо, кидай. На имэйл sclex2@gmail.com или личным сообщением.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение SeNS » Вт янв 26, 2010 19:03

Нет, похоже, что сделать подсветку модификацией HTML не получится :( Любое изменение inner или outerHTML приводит к неработоспособности Undo/Redo команд редактора (IE), а эта функциональность, на мой взгляд, куда важнее подсветки.

Посмотрю/попробую (по свободе) рендеринг-хелперы (чтобы самому рисовать волнистую красную черту под неверным словом).

Блин, простейшая ведь задача, но с использованием MSHTM движка становится жутко сложной. Они туда (в интерфесы) насовали столько всяческого говна, нужного и ненужного, а такую простую вещь, как интерфейс спелл-чекера забыли добавить!

Резюмируя: нужны новые идеи.

Update: вроде, получилось сделать через IHighlightRenderingServices и IHighlightSegment , код нашел вот здесь: http://www.itwriting.com/phorum/read.php?3,1775,page=2 , работает.
Теперь нужно понять, как сделать из неверного слова IHTMLElement :-) Sclex, дружище, может ты, пусть даже на джава-скрипте, поможешь? Т.е. я получаю в обработчике selection (которая бывает разная почему-то: то весь абзац, то часть слова. Видимо, зависит от текущего состояния редактора). Вышеприведенный код оперирует display pointer-ами и markup pointer-ами для выделения части для подчеркивания.
WBR, SeNS
Аватар пользователя
SeNS
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 127
Зарегистрирован: Пт окт 21, 2005 19:20
Откуда: Boston, MA

Re: Open source FBE

Сообщение Sclex » Вт янв 26, 2010 21:17

SeNS
Не понял поставленной задачи. Что за selection и что с ним делать? И как джаваскрипт узнает, какое слово "неправильное"? Пожалуйста, поподробней.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение Sclex » Вт янв 26, 2010 21:22

SeNS
IHTMLElement - это, по сути, тег. А ты же сказал, что при варианте с выделением некорректных слов тегами сделать хорошо не получается.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение Sclex » Вт янв 26, 2010 21:32

Ааа... можно обрамить слово тегом, прочитать координаты прямоугольника этого тега, а потом сделать программное Undo. Позиция слова будет известна, и можно будет своими средствами нарисовать под ним рамку. Так? Но я все еще не понимаю, что должен делать код, который ты ожидаешь от меня.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение SeNS » Вт янв 26, 2010 22:23

Вроде получается, экспериментирую (злополучная задачка захватила меня) :) Короче, манипулируя IMarkupPointer-ами, можно выделить слово в элементе, потом они конвертятся в IDisplayPointer-ы, и выделение работает строго между ними. Не до конца пока разобрался, как-то перемещение IMarkupPoiner-а по MOVEUNIT_NEXTCHAR (использую MoveUnit) странно происходит. Если ты с ними работал (с IMarkupPoiner) - расскажи, в чем суть и дело ;)
WBR, SeNS
Аватар пользователя
SeNS
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 127
Зарегистрирован: Пт окт 21, 2005 19:20
Откуда: Boston, MA

Re: Open source FBE

Сообщение Sclex » Вт янв 26, 2010 23:09

Не работал.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение Sclex » Ср янв 27, 2010 0:24

SeNS
Было бы классно иметь спеллчек и последние версии скриптов в одном инсталле FBE. Я выложил две папки, касающиеся скриптов (Scripts и HTML), на обменник - скачать. Эти папки надо положить в каталог files проекта (заменив те, что там есть исходно) и добавить в NSI-файл (сценарий инсталлятора) строки, отвечающие за установку и удаление папки HTML (искать по "Scripts" и делать по аналогии). В общем, если захочешь, то теперь можешь сделать новые скрипты в своем инсталле без особых усилий.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение SeNS » Ср янв 27, 2010 2:24

Спасибо, обязательно добавлю.
Было-бы еще неплохо сформировать список необходимых изменений и пожеланий. В одной ветке форума это делать неудобно. Надо-бы развернуть нормальную систему project managment-а (как на гуглокоде или на http://unfuddle.com ), но без "хозяина" это делать как-то не очень удобно.
WBR, SeNS
Аватар пользователя
SeNS
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 127
Зарегистрирован: Пт окт 21, 2005 19:20
Откуда: Boston, MA

Re: Open source FBE

Сообщение SeNS » Ср янв 27, 2010 5:48

Вот такая проблема возникла: нужно как-то уникально идентифицировать элементы (параграфы), чтобы иметь возможность потом удалять подчеркивание. IHTMLElement.id использовать, к сожалению, нельзя - он используется в fb2 схеме :( Вопрос -как это можно сделать?
WBR, SeNS
Аватар пользователя
SeNS
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 127
Зарегистрирован: Пт окт 21, 2005 19:20
Откуда: Boston, MA

Re: Open source FBE

Сообщение Sclex » Ср янв 27, 2010 10:39

Запомни эти параграфы (как объекты-элементы) в массив.
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: Open source FBE

Сообщение Sclex » Ср янв 27, 2010 10:49

Можно еще сделать так:
Код: выделить все
<p name=aaa>Первый абзац.</p>
<p name=aaa>Второй абзац.</p>
А потом так:
Код: выделить все
var aaas=document.getElementsByName("aaa");
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Пред.След.

Вернуться в Сделано для FB

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1