Базовый шаблон для создания редактора, с поддержкой вкладок

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение sa_t_an » 28.10.2016 12:25:25

Надо было docmanager обозвать... Это типа менеджер работы с документами... Ну... я видал и dokumentprovodnik название...

А монолит... Там практически все связан, toolbar только отдельно, но по ходу для 1300 строк кода это не критично?
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение zub » 28.10.2016 18:17:18

>>Это типа менеджер работы с документами...
понял
>>но по ходу для 1300 строк кода это не критично?
Не думаю что это зависит от колва строк. Если это "базовый шаблон" - должно предпологаться легкое расширение функционала без правки кода "базы"

Допустим возьму я ваш код, но мне нужен поиск по шаблону и замена... переформошлепывать?
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение sa_t_an » 28.10.2016 20:22:05

Так это не "базовый шаблон" - это "до кучи"...
То есть взяли "базовый шаблон" и воткнули туда из "до кучи", благо что посмотреть можно не напрягаясь в 20000 строк...
Например сохранение, открытие и закрытие файлов... :D

Добавлено спустя 16 минут 53 секунды:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
К стати для шаблонных решений нужен архитектор кода. Иначе получим попку с ручками закостылинную под определённое решение. Ну... вроде SynEdit-а.
С неимоверно раздутым кодом который можно было впихнуть строчек в 3000-5000!
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение zub » 28.10.2016 21:05:47

Где он этот архитектор... ато куда не глянь везде жопа с ручкой((
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение Deimos » 28.10.2016 21:49:53

sa_t_an писал(а):для шаблонных решений нужен архитектор кода


Простите мое незнание... О чем идет речь?
Deimos
постоялец
 
Сообщения: 169
Зарегистрирован: 17.01.2010 00:31:30

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение sa_t_an » 28.10.2016 21:56:40

Wiki

Добавлено спустя 15 минут 23 секунды:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
zub писал(а):Где он этот архитектор... ато куда не глянь везде жопа с ручкой((

Это да... Поэтому лучше стараться писать минимум кода с максимумом отдачи.
Если бы в своё время Mike Lischke оттолкнулся от того, что редактор - это представление дерева, то всё было бы в порядке с архитектурой! И фолдинг и строки.
А уж если бы он в своё время высчитывал пиксели отталкиваясь от величины глифа... Оооо... :D Шрифт Arial в SynEdit-е был бы похож на шрифт Arial!!! :)
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение Deimos » 28.10.2016 23:38:19

sa_t_an писал(а):Wiki


Это понятно и самому найти не сложно )

Можно посмотреть пример толковой реализации для простого шаблона? Если-вдруг есть у кого...

ато куда не глянь везде жопа с ручкой((


Добавлено спустя 5 минут 16 секунд:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
выбор структурных элементов и их интерфейсов, с помощью которых составлена система, а также их поведения в рамках сотрудничества структурных элементов;
соединение выбранных элементов структуры и поведения во всё более крупные системы;
архитектурный стиль, который направляет всю организацию — все элементы, их интерфейсы, их сотрудничество и их соединение


Например это, которое из вики... Утверждать, доподлинно, я не в праве, но мне кажется, что нечто подобное есть в одной майкросовфте с их подходами к созданию Осей... Ну может в яблоках тоже... Но в никсах ни разу не видел... Любопытствует конкретный простенький пример ))) Который выходит за рамки "ШАЯ" (если о нем кто помнит)...

Добавлено спустя 3 минуты 54 секунды:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
sa_t_an писал(а):Иначе получим попку с ручками закостылинную под определённое решение.


99% современного софта написаны именно так... я ошибаюсь?
Deimos
постоялец
 
Сообщения: 169
Зарегистрирован: 17.01.2010 00:31:30

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение sa_t_an » 29.10.2016 00:04:16

Deimos писал(а):одной майкросовфте с их подходами к созданию Осей

Не... это поделка...
Пример архитектурного проектирования операционных систем - эээ... Ну это Николай Вольдемарович во всей красе тут Оберон
В нативном Обероне множество подобных шаблонов расширяемых систем! :)

Добавлено спустя 1 минуту 10 секунд:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
sa_t_an писал(а):99% современного софта написаны именно так... я ошибаюсь?

Ага, ошибочка, не 99% а 99.999%
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение Лекс Айрин » 29.10.2016 09:36:49

sa_t_an, боюсь, это тоже ошибка. Идеально правильных расширяемых систем единицы. И, к сожалению, кроссплатформенность только увеличивает хаос.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение sa_t_an » 29.10.2016 12:50:32

Так я ж сейчас не про идеал... А про грамотное проектирование систем. Например Native Oberon. Если посмотреть исходный код, то в принципе понимаешь, что и как там грамотно всё спроектировано. С учётом на будущее. При этом, учитывая, что он писался 20 лет назад. При этом, тогда и понятия никто не имел про FAT32-NTFS и т.д. а вкрутить можно очень запросто. Да и вообще, если изучать как работают операционные системы, то проще, легче и приятнее на Оберонах, чем на Никсах...

Добавлено спустя 10 минут 29 секунд:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
Ну вот например, про Lazarus и SynEdit... Ну почему не сделать изначально как то так...

Код: Выделить всё
TSynItem = class
  srt: string;
  left,right,prev: TSynItem;
  expanded: boolean;
  charwidth: array [0..255] of integer;
  .......
end;


Вот уже тебе и фолдинг в будущем, и бегай по строчкам туда-сюда. И код в 2000 строк. Понять можно за два часа как что работает.
При изменении шрифта - for i:=0 to 255 do charwidth[i]:=Canvas.TextWidth(char(i));
вот и прорисовка любого шрифта в любой системе.

И это учитывая, что я не архитектор и не планировщик, а просто логически продумал что надо от текстового отображения!
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение zub » 29.10.2016 13:11:30

>>Ну почему не сделать изначально как то так...
Я не понял про что это но почему у вас всего 256 букв? их чуток побольше))
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение sa_t_an » 29.10.2016 13:50:44

Ну... я ж про изначально... Utf8 и т.д. только грузят систему...
Вы любите читать комментарии на китайском?
А если учитывать и Utf то символов отображения все равно 256... Так вот устроен контроллер клавиатуры...

Добавлено спустя 5 минут 48 секунд:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
Но строку charwidth: array [0..255] of integer; заменить в одном месте на charwidth: array [0..255,0..codebase] of integer проще намного

Добавлено спустя 2 минуты 8 секунд:
Re: Базовый шаблон для создания редактора, с поддержкой вкладок
Я вообще не могу до конца понять прелестей utf? Мож кто разъяснит поподробнее...?
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение zub » 29.10.2016 17:22:05

>>Вы любите читать комментарии на китайском?
А вы писать на русском?
>>А если учитывать и Utf то символов отображения все равно 256... Так вот устроен контроллер клавиатуры...
Вы изобрели машину времени и пишете из девяностых? при чем тут клавиатура?
>>Но строку charwidth: array [0..255] of integer; заменить в одном месте на charwidth: array [0..255,0..codebase] of integer проще намного
проще не использовать массив для этого. экономней. и о "все равно 256" можно будет забыть

>>Ну почему не сделать изначально как то так...
а как там сделано изначально?
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение sa_t_an » 29.10.2016 20:30:52

zub писал(а):при чем тут клавиатура?


Потому, что средством отображения информации является терминал (как бы он не выглядел, в этом случае SynEdit) а устройством ввода (как бы оно не выглядело) является клавиатура.
zub писал(а):проще не использовать массив для этого. экономней.

Так проще или экономней? И что использовать для экономии? Проще массива только одиночная переменная?
И чем отличается программирование 90-х и 16-х? Алгоритмы всегда одинаковы.

К стати Брезенхейм от времени не стареет почему-то! :)
sa_t_an
новенький
 
Сообщения: 37
Зарегистрирован: 03.10.2009 12:04:55

Re: Базовый шаблон для создания редактора, с поддержкой вкла

Сообщение zub » 29.10.2016 21:19:22

sa_t_an писал(а):Потому, что средством отображения информации является терминал (как бы он не выглядел, в этом случае SynEdit) а устройством ввода (как бы оно не выглядело) является клавиатура.

Не уловил, ну да ладно
sa_t_an писал(а):Так проще или экономней? И что использовать для экономии? Проще массива только одиночная переменная?
И чем отличается программирование 90-х и 16-х? Алгоритмы всегда одинаковы.

Отличается размерами - pаньше 640кб хватало всем. 255 байтов хватало на описание ширин всех знаков.
Сейчас и проще и экономнее использовать чтонибудь вроде TMap для этого
sa_t_an писал(а):К стати Брезенхейм от времени не стареет почему-то!

Нифига, сейчас всем с алиасингом подавай. И вытянулся он конкретно - осваивал я его га экране 256×192 сейчас не использую на 2560x1440))
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Пред.След.

Вернуться в Разработки на нашем сайте

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 11

Рейтинг@Mail.ru