Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт май 30, 2017 2:11 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 331 сообщение ]  На страницу Пред. 119 20 21 22 23 След.
Автор Сообщение
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Вт июл 07, 2015 8:50 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1138
XProger, мне тоже казалось, что текстовый редактор просто устроен. Но это если использовать готовый элемент edit. А внутри его текст парсится в структуры, ради табуляций, ради выделения... Хотя действительно, нафига стирать окончания?


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Сб июл 11, 2015 3:00 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1138
Похоже, что Марио не имеет отношения к падениям, но его "фикс" создал другой баг. Изучил TinyPad поглубже... Начал уважать IgorA за то, что он не стал принимать участие в этом безумии. К сожалению, несмотря на все его усилия, с TextEdit работы больше, так что придётся разгребать говно...
Для начала, нужно разобраться что баг, а что фича. Прошу высказать мнения по следующим пунктам:

1. Возможность поставить каретку в любом месте окна.
2. Стрелки вправо/влево не позволяют перейти на другую строку.
3. Превращение всех табуляций в пробелы, превращение пробелов в табуляции только при "оптимальном сохранении".
4. Стирание окончаний, запись CRLF при сохранении.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2015 11:28 am 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1054
1. В TinyPad если быть точнее, длина всех строк делается равной длине наиболее длинной строки. И каретку можно поместить только в приделах этой длины (или я что-то не так понял?).
2. Насколько я понимаю, это в некотором роде следствие п.1 Было бы неплохо если бы всеже была возможность перехода с конца строки в начало следующей.
3. Это думаю лучше оставить.
4. Что за стирание окончаний?

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Сб июл 11, 2015 1:22 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 156
4. Думаю, что баг, сохраняться должно без единой потери.


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Сб июл 11, 2015 2:41 pm 
Не в сети
Just Flooding
Аватара пользователя

Зарегистрирован: Чт дек 11, 2014 1:31 am
Сообщения: 173
ИМХО 2 и 4 - баг, как следствие, учитывая слова punk_joker, и 1 тоже баг.


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Сб июл 11, 2015 8:51 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1138
Значит фиксить всё, кроме табуляций? Тогда другой вопрос: кто знает, зачем в конце каждой строки добавляются 10 пробелов?

punk_joker
1. Максимальная ширина редактора = самая длинная строка + 10 пробелов. Но в коротких строках каретку можно ставить там, где нет даже пробела.
2. Не связано.
4. https://ru.wikipedia.org/wiki/Перевод_строки


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 11, 2015 10:02 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1054
1. Про ширину строки писал исключительно из наблюдений за редактором. И у меня он делает строки шириной равной наиболее длинной строки, и ни пробелом больше. Смотрел в r5570
4. Имелось ввиду, что редактор не обрабатывакт данный символ при навигации по документу?

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Вс июл 12, 2015 7:47 am 
Не в сети
Just Flooding
Аватара пользователя

Зарегистрирован: Чт дек 11, 2014 1:31 am
Сообщения: 173
ИМХО как фича (1) хорош только при реакции исключительно на мышь, но не на клавиатуру и как следствие не как стандартный конструктивный элемент...

punk_joker, там есть разные наборы из 2х символов или 1го (символ CR и символ LF) в зависимости от ОС (доисторическая времен DOS, win или *nix) используется один из трех вариантов: CR, LF, CRLF. видимо, имелось в виду, что элемент выполняющий ф-ции стандартного edit стирает один из этих символов и ставит в конец строки (перед ними) кучу пробелов. вероятно, именно это причина многих багов и способ выделения памяти под символы... даже возможно, что переводы строки заменяются на пустые строки максимальной длинны, а при сохранении все пробельные символы обрезаются и замещаются обратно. в любом случае, это только для моноширных шрифтов, что не есть гуд...


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Пн июл 13, 2015 2:48 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1138
punk_joker, имелось ввиду, что TinyPad "немного по-дебильному написан". При открытии файла он копирует содержимое во второй буфер, в начале строк вставляет структуры, превращает табуляции в пробелы, удаляет переводы строк, в конце строк добавляет по 10 пробелов. Половина кода занимается тасованием этого ужаса. В конце процесс обратный. И это вместо того, чтобы просто завести массив структур отдельно. Ширина наиболее длинной строки, таки да, рассчитывается без пробелов в конце.

Вообще, создаётся впечатление, что TinyPad редактировали люди со смутным представлением об ассемлере. Я бы поставил диагноз — рак кода:
Код:
proc key.f3
   call search
   jc   @f
@@:ret
endp

Или вот в самом начале tp-common.asm
Код:
proc clear_selection
   push  eax ebx
   mov   eax,[cur_editor.SelStart.Y]
   mov   ebx,[cur_editor.Caret.Y]
   cmp   eax,ebx
   jle   @f
   xchg  eax,ebx
@@:push  [cur_editor.Caret.X] [cur_editor.Caret.Y]
   pop   [cur_editor.SelStart.Y] [cur_editor.SelStart.X]
   pop   ebx eax
   ret
endp

kiv писал(а):
ИМХО как фича (1) хорош только при реакции исключительно на мышь
Можно сделать. Можно сделать настройку.


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Пн июл 13, 2015 2:51 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1138
Короче, удалил опухоли из key.ctrl_v + пункты 1 и 2 без учёта особенностей. Проверяйте.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 13, 2015 1:49 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1054
При копмровании многострочного текста, и вставки в нем же, редактор вылетает. Когда открываю example.asm (тот что в корне рамдиска), по окончанию строки курсор проходит 10 пробелов и таки пепеходит на новую строку. В документе созданном в самом TinyPad этого не происходит, но наблюдаются глюки с установкой выделения всей строки, или же одного или всех последующих пробелов.

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 13, 2015 1:52 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1054
В общем поведение редактора теперь не предсказуемое, то вставит, иногда не правильно правда, изменит там пару символов строке, другой раз вылетит сразу.

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Пн июл 13, 2015 2:16 pm 
Не в сети
Just Flooding
Аватара пользователя

Зарегистрирован: Чт дек 11, 2014 1:31 am
Сообщения: 173
пока, важно чтобы edit-элемент работал нормально и архитектурно правильно, а сколько при этом выкинешь кода и функционала неважно. :D
он в netsurf пригодится при переходе на версию 1 с чем-то и в куче разных мест...


Вернуться к началу
 Заголовок сообщения: Re: TinyPad 4.0.4
СообщениеДобавлено: Пн июл 13, 2015 6:57 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1138
punk_joker, поведение непредсказуемое с самого начала, потому я и спрашивал уловил ли кто-то закономерность? Файл, координаты источника, размер источника, координаты приёмника. У тебя комп нежный, а мне сейчас вообще не удаётся TinyPad уложить.

Редактор не позволяет установить каретку дальше ширины наиболее длинной строки, которая рассчитывается без пробелов в конце.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 13, 2015 10:16 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1054
Попробуй после запуска, скопировать один символ и вставить в начале любой строки.

_________________
я лишь учусь


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 331 сообщение ]  На страницу Пред. 119 20 21 22 23 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB