ChanServ changed the topic of #libreoffice-ru to: Канал поддержки русскоязычных пользователей LibreOffice | Wiki TDF http://tdf.io/wikiru | On-line документация http://tdf.io/helpru | Логи канала: http://goo.gl/gzwdwU
<mikekaganski> не понял. Там ещё 6 кусков повторяет твою функцию: 2908-2912, 2923-2931, 3333-3337, 3348-3356, 3594-3598, 3609-3617
<mikekaganski> нужно только вынести if из функции
<mikekaganski> и постараться убрать функцию из класса (передавать всё нужное в параметрах)
bormant has joined #libreoffice-ru
bormant_AFK has quit [Ping timeout: 268 seconds]
JohnDoe_71Rus has joined #libreoffice-ru
bormant_ has joined #libreoffice-ru
bormant has quit [Ping timeout: 268 seconds]
<tagezi> ооооо, анализ кода.. а ты уверен что никто не запутается?
<tagezi> и 2908 это немного другое... если только построить дерево, то есть сделать 2 функции, одна из которых будет вкладываться в эти мелкие места, и в функцию, которая будет объединять большие куски
kompi_ has joined #libreoffice-ru
<kompi_> mikekaganski: тут?
<tagezi> ты бы тоже сыном и женой позанимался
<kompi_> такое ощущение что стили, которые я загрузил из другого документа при импорте бьются
<kompi_> tagezi: которым из? обоими? я тока и делаю сегодня, что их по разным комнатам развожу, чтобы они не бесились
tagezi has quit [Remote host closed the connection]
tagezi has joined #libreoffice-ru
JohnDoe0 has joined #libreoffice-ru
JohnDoe_71Rus has quit [Ping timeout: 240 seconds]
<mikekaganski> tagezi: 2908 - это то же самое, где nLeftM и nRightM по нулям, а rEngineWidth не используется. Кстати, зачем тебе отдельные nLeftM и nRightM ?
<tagezi> всмысле?
<tagezi> ты уверен, что они не разные?
<mikekaganski> они могут быть разными, но зачем их передавать в функцию по отдельности, а не одним параметром, как nLeftM + nRightM ,
<tagezi> а, ты про это
<tagezi> ну, тут я тупанул
<tagezi> я бы не стал объединять, оно запутано получиться
<tagezi> а, не, можно попробовать
<kompi_> mikekaganski: есть желание потрещать?
<tagezi> ладно, я попробую сделать
<tagezi> mikekaganski: объясни мне по поводу класса
<tagezi> там вроде все функции находятся в ScOutputData
tagezi has quit [Quit: No Ping reply in 180 seconds.]
tagezi has joined #libreoffice-ru
tagezi has quit [Quit: No Ping reply in 180 seconds.]
tagezi has joined #libreoffice-ru
<mikekaganski> сорри, я тут не всё время дома
JohnDoe0 has quit [Quit: KVIrc 4.9.2 Aria http://www.kvirc.net/]
JohnDoe_71Rus has joined #libreoffice-ru
<kompi_> mikekaganski: без проблем
<JohnDoe_71Rus> еще окошки тайтлами замостить
<kompi_> ну ппц
<kompi_> tagezi: а не помнишь такую мульку, чтобы в диалоге Настройка стилей отображались параметры, которые наследуются без изменений из родительского стиля
<kompi_> ну имеется ввиду, как-то выделялись
kompi_ has quit [Quit: Page closed]
JohnDoe_71Rus has quit [Quit: KVIrc 4.9.2 Aria http://www.kvirc.net/]
<tagezi> mikekaganski: тык
<tagezi> какой префикс у строковый переменных?
<tagezi> у OUString
<tagezi> они как объекст обозначаються?
<mikekaganski> я использую s или a
<tagezi> как ты это видишь?
<tagezi> там нет элса
<tagezi> то есть, при выполнении с элсом значение будет меняться, вместо того чтобы оставить его темже
<mikekaganski> Смотри: здесть роль "rNeededPixel" играет nRepeatSize; только сво "else" он получает до ифа
<mikekaganski> это аналогично тому, если бы сначала присвоить (long) rParam.mpEngine->CalcTextWidth() какой-то другой переменной (nEngineWidth), а потом её значение присвоить либо через трансформацию, либо напрямую в зависимости от условия
<tagezi> nNeededPixel = nEngineWidth;
<tagezi> nNeededPixel += nLeftM + nRightM;
<tagezi> я не вижу ничего подобного
<tagezi> nRepeatSize это понятно
<mikekaganski> nLeftM = 0; nRightM = 0
<mikekaganski> long nRepeatSize = (long) rParam.mpEngine->CalcTextWidth();
<mikekaganski> if (rParam.mbPixelToLogic)
<mikekaganski> nRepeatSize = mpRefDevice->LogicToPixel(Size(nRepeatSize,0)).Width();
<mikekaganski> else
<mikekaganski> nRepeatSize = nRepeatSize;
<mikekaganski> nRepeatSize += 0;
<tagezi> у нас разные версии файла?
<tagezi> ты мне показываешь начиная с этой строки https://opengrok.libreoffice.org/xref/core/sc/source/ui/view/output2.cxx#2923
<tagezi> а нет
<tagezi> да, я понял
<tagezi> и ты думаешь
<tagezi> это кто-то поймет?
<mikekaganski> Понимаешь, мне кажется, если ты находишь общие паттерны, это наоборот станет понятнее. Труднее их найти, а понять готовое, особенно если названия хорошие, проще
<mikekaganski> заодно проще сопровождать. Например, потом кто-то найдёт ошибку в логике. Фиксить все места, особенно если общность паттерна неочевидна - а найдёт ли он их?
<tagezi> да, я с тобой согласен, но с названиями я убьюсь
<mikekaganski> Сделай проще: типа SetEngineTextAndGetWidth, или что-то в этом роде
<mikekaganski> И хрен с ним, что длинное, зато говорящее
<tagezi> ну, это имя функции
<mikekaganski> ну, а остальные оставь как есть
<tagezi> эм
<mikekaganski> можем обсудить имена, не проблема. Там и комментарии нужны
<tagezi> Размет_повторения будет сразу и Размером_локомотива и Высотой_лакомотива :)
<tagezi> ,
<tagezi> ?
<mikekaganski> имена - это одна из двух самых трудных задач в программировании, наряду с очисткой кэша и ошибками смещения на единицу :)
<tagezi> я знаю, я даже в своих мелких проектах с этим всегда мучаюсь
<mikekaganski> если ты уберёшь из функции внешний иф, то мы всегда будем инициализировать nEngineWidth, и тогда мы можем вернуться к идее второго патчсета
<tagezi> а тут большой проекст
<tagezi> иф я убрал
<tagezi> да, тогда и алгоритм будет нагляднее
<tagezi> знаешь что страшно?
<tagezi> вот я сейчас всё исправлю, а потом все как вспомнят что там всё было скопипасчено, но не доделано, и всё коту под хвост :)
<mikekaganski> не парься. Я уже не раз на это натыкался. Это норма
<mikekaganski> :)
<tagezi> mikekaganski: послал драфт
<tagezi> без коментариев пока
<tagezi> так, ладно, больше я не рожу, наверное, уже..
<tagezi> нужно по поводу переменных подумать.. мне пикселы не нравятся.. и по поводу документации, но это завтра, сейчас уже спать пора