![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
pythonwin |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
Всем доброго времени суток!
помогите, пожалуйста сделать вставку отступов на форуме по питону! есть определённый код - спасибо smartov, но у него есть одна ошибка которую нужно исправиль. задача:
проблема:
Код:
Более подробно: 4 пробела в форуме по питону |
||||||
|
|||||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Модератор: [B]pythonwin, не следует дублировать темы![/B]
|
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
Прошу прощения за это, но это было так задумано: 1) поместил в JS, т.к. проблему в коде могут устранить JS-ники 2) поместил в "Центр помощи", т.к. сюда заходят форумчане, у которых есть свободное время + есть желание помочь ближнему. ![]() 3) устал нажимать 4 пробела в форуме по питону ![]() ![]() |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
решение этой проблемы поможет развитию форума по питону!
![]() Это сообщение отредактировал(а) pythonwin - 26.9.2006, 11:51 |
|||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
Так или иначе, обсуждение реализации лучше делать в одном месте и лучше в Обсуждении ИМХО.
![]() |
|||
|
||||
Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Нужно селекцией добежать до начала строки, затем как было, разбить по строкам добавить пробелы. Для мозиллы просто, бежим с selectionStart пока не упрёмся в \n (10). Для ИЕ геморно, вчера вечером игрался, так и не порешал безглючно.
Что бы к форуму прикрутить быстро нужно пользовать TextAreaSelectionHelper и HotKeyHandler обьекты. Пример на хоткеи:
В TextAreaSelectionHelper добавляем два метода indentBlock и unindentBlock. Это кривое ad-hoc решение, т.к. никогда не думал что в TextAreaSelectionHelper потребуеться копировать селекцию. Копия (скрытая, виртуальная, называй как хочешь) селекция нужна для работы с текстом, не меняя позиции реального курсора. Каркас indent может выглядеть так:
unindentBlock делаем точно также. Редизайном TextAreaSelectionHelper займусь позже (когда найду время ![]() Собстно для ИЕ глючный может быть таким, читать коменты почему в простых текстовых приложениях docment.selection не рулит (но рулит когда работаем вообще с документом):
Сильно не пинать ибо спал вчера 4 часа (сегодня 6, голова гудит... ![]() ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
я был вынужден создать ещё темы на разных подфорумах, т.к. в обсуждении тема перестала развиваться. ![]() ![]() Добавлено @ 06:39 Sardar, а есть полный код, чтобы я его потестировал? ![]() |
|||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
||||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
||||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Да какой полный код, мозилловскую часть напишет любой студент (не напишите сами, сделаю я, но позже). ИЕ'шную часть выложил выше, криво ибо набросок. Ссылкой тут, открываем в IE, ctrl+[ отодвигает как напоминание "не юзать" ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
Скорее, я. ![]() ![]() |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
||||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
Как дело придвигается?
|
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
уже потестировал и сейчас напишу результаты. Добавлено @ 08:03 Sardar, потестировал есть несколько багов: 1) по условию: а в реальности при нажатии "Ctrl+[" пробелы добавляются, хотя должны удаляться ![]() 2) если выделить блок (одна и более строк) и нажать "Ctrl+[", то после добавления пробелов строка ниже блока перемещается в конец последней строки выделеного блока, который сдвигали. ![]() Это сообщение отредактировал(а) pythonwin - 29.9.2006, 08:04 |
|||
|
||||
Zeroglif |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Набросал под IE6/OP9 only - http://www.404.googlepages.com/indent_in_textarea.html
- Отступы = 4 пробела. - Добавляем отступы с помощью TAB или Ctrl+], удаляем с помошью SHIFT+TAB или CTRL+[. - Если выделения нет, то и блока нет, просто добавляем/удаляем отступы слева от курсора. - Если выделение есть, то появляется блок, расширяем блок влево (то есть можно не выделять строку полностью). - Выделение постоянно на виду (мне так удобнее). Отпишитесь пока, то или не то по функционалу, дальше будем в приличный вид приводить и проч. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |