Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

13 Ноябрь 2019, 03:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Наследование свойств стилей  (Прочитано 9641 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sab_chel
Участник
**
Offline Offline

Сообщений: 6


« Стартовое сообщение: 11 Ноябрь 2010, 22:36 »

При наследовании стилей можно некоторые свойства переопределять, а некоторые оставлять наследуемыми от родительского. В окне редактирования стилей это никак визуально не различается. Через некоторое время уже и не вспомнишь какие свойства наследуются а какие переопределены. Есть ли в Writer средство для такого визуального разделения наследуемых и переопределенных свойств стилей.       
Записан
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #1: 12 Ноябрь 2010, 10:02 »

Наследуются ВСЕ не переопределённые свойства, а переопределённые перечисляются в окне редактирования стилей. Это единственный способ отображения структуры стиля.
Записан

Свобода информации - свобода личности!
ape
Форумчанин
***
Offline Offline

Сообщений: 2 468


« Ответ #2: 12 Ноябрь 2010, 11:35 »

Кандидат в [memo] или FAQ
Записан
prof-alex
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 354


« Ответ #3: 12 Ноябрь 2010, 13:52 »

Вопрос был не про то что наследуется, а про визуализацию наследования. Как отобразить какие параметры в стиле "свои", а какие унаследованы? Я такого инструмента не знаю. В случае "развестистой" структуры это может стать головной болью.
Записан


«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #4: 12 Ноябрь 2010, 14:48 »

Вопрос был не про то что наследуется
Не совсем - в вопросе предпологалось, что наследуются только некоторые свойства, но наследуюется не некоторые, а ВСЕ, при этом некоторые переопределяются.
Соответственно,  визуализировать наследуемые свойства нет никакого смысла - они как раз визуализаированы лучше всего - видишь его - значит унаследовано, а вот переопределено или нет - это да - вопрос. На на вкладке управления есть список переопределённых свойств.
Возможно ты говоришь о поколениях, наследования - т.е. о том, от в скольких старших поколениях данное свойсвто не переопределено.
Тут возникает определённая сложность - мы говорим, что в ООо нет ничего без стилей. Идиологически это верно. Но технически - враньё. Там полно объектов для которых стиля нет - когда ООо находит такой объект без стиля, то применяет к нему группу настроек конревого стиля.
Смотрим прикреплённые xml. Файлы отличаются только тем, что к тексту во втором применён стиль Базовый. На практике для пользователя они выглядят одинаково, а по факту - нет.
Т.е. в ООо может быть полно объектов без стиля. От чего унаследованы их свойства?
Дальше больше - не все свойства заданы корневым стилем - многие объекты могут вообще не иметь какого-то свойства, так как оно вообще не описывается корневым стилем. Просто для этих свойств есть некоторое состояние при котором оно не влияет на объект, т.е. такое как будто свойства не вовсе.
Отсюда - некоторые свойства в стилях не просто ни откуда не наследуются - их вообще нет ни в одном поколении предков.
Ну и как их визуализировать?

Вот такая вот диалектика...

[вложение удалено Администратором]
« Последнее редактирование: 12 Ноябрь 2010, 15:20 от dr.Faust » Записан

Свобода информации - свобода личности!
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #5: 12 Ноябрь 2010, 15:14 »

Такую визуализацию ни в коем случае не следует встраивать в стандартный интерфейс, а вот расширение, которое могло бы строить "генеалогическое дерево" для выбранного стиля и в каждом узле этого дерева показывать отличия соответствующего узлу стиля от стиля-родителя, - это был бы высокий класс!
Записан
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #6: 12 Ноябрь 2010, 15:58 »

Не сложно хотя и нудно. Но есть один нюанс - кто-нибудь знает как отличить переопределённое свойство - в объектной модели для каждого свойства указано состояние, в отличии от xml, но как-то же он их отличает? Или тупое сравнение с родителями?
Записан

Свобода информации - свобода личности!
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #7: 12 Ноябрь 2010, 16:04 »

Думаю, да, тупое.
Записан
sab_chel
Участник
**
Offline Offline

Сообщений: 6


« Ответ #8: 12 Ноябрь 2010, 16:47 »

Извиняюсь что не полно раскрыл вопрос. Дело вот собственно в чем. Создаю свой базовый стиль абзаца. От него делаю дочерний стиль. Например в базовом стиле высота шрифта 12 пт. Соответственно в  дочернем стиле высота шрифта такая же. По логике ООо если меняешь высоту шрифта в базовом стиле на 10 пт то дальше по цепочке во всех дочерних стилях эта высота также становиться 10 пт. Красота. "Легким движением руки" меняем высоту шрифта во всем документе. Но, если случайно изменить высоту шрифта в дочернем стиле то это свойство перестает наследоваться. И если теперь поменять высоту шрифта в базовом стиле то в дочернем она уже автоматически не измениться. Причем наследование теряется железно. Даже если вернешь в дочернем стиле такую же высоту шрифта как и в базовом это свойство все равно уже не наследуется и автоматически не изменяется, а это не есть хорошо. А поскольку визуально отличить наследуемые и переопределенные свойства нельзя, то создание системы стилей превращается в геморой. Достаточно одного неловкого движения и всю систему стилей можно удалять и выстраивать заново.

ЗЫ: Из сказанного возникает соответственно еще один вопрос. Как вернуть наследование переопределенного свойства, то есть чтобы при его изменении в родителе оно аналогично менялось и в дочернем стиле.   
« Последнее редактирование: 12 Ноябрь 2010, 17:08 от sab_chel » Записан
vesvit
Участник
**
Offline Offline

Сообщений: 15


« Ответ #9: 12 Ноябрь 2010, 16:56 »

Нда.... все таки ООо это не С++ и даже не Паскаль :-)
Записан
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #10: 12 Ноябрь 2010, 17:13 »

Но, если случайно изменить высоту шрифта в дочернем стиле то ...
1. Если на Т-образном перекрестке случайно повернуть не в ту сторону, последствия могут оказаться еще более катастрофичными, нежели падение системы стилей...
2. Никакого разрушения системы стилей не происходит. Если Вы испортили N-ный стиль в иерархии, Вам нужно просто создать заново именно его, наследуя (N-1)-му стилю, и восстановить связь (N+1)-го стиля с N-ным. Система восстановится в первозданном виде. ИМХО, невысокая плата за случайность действий ...
Записан
sab_chel
Участник
**
Offline Offline

Сообщений: 6


« Ответ #11: 12 Ноябрь 2010, 17:45 »

Насчет "случайно изменить" это я конечно погорячился. Но отсутствие возможности восстановить наследование значения свойства огорчает. Согласитесь гораздо удобнее определять стили непосредственно "играя" значениями свойств - изменил - посмотрел как выглядит - понравилось оставил, не понравилось вернул все как было. но вот вернуть как было и не получается. Приходится удалять стиль и определять заново. При этом приходиться восстанавливать значения свойств, которые "удачно" переопределились, то есть их запоминать (записывать). При развесистой системе стилей удержать каждое свойство в голове невозможно, а писать для всех стилей  "портянку" как то не айс.         
Записан
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #12: 12 Ноябрь 2010, 18:59 »

1. Это как-то возможно сделать - помню, что делал,но как не помню... Надо потыкаться - сначала ставишь такое же значение как у родителя, а потом что-то - возможно даже с родителем.
2. Можно же выставить % а не пт - он наследуется всегда - меняй не хочу.
Записан

Свобода информации - свобода личности!
AcetonKZ
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Караганда
Сообщений: 66


WWW
« Ответ #13: 13 Ноябрь 2010, 13:32 »

Цитата:
Нда.... все таки ООо это не С++ и даже не Паскаль :-)
Это сладкое слово ПАСКАЛЬ Смеющийся
Я никогда стилями не пользовался, всегда ручками,видимо не нужны были, поэтому проблему понять не могу, но думаю ,что легко решается, если всегда точно знать Что и Зачем делаешь!
Записан
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #14: 13 Ноябрь 2010, 13:45 »

гораздо удобнее определять стили непосредственно "играя" значениями свойств - изменил - посмотрел как выглядит - понравилось оставил, не понравилось вернул все как было. но вот вернуть как было и не получается.
Создаем копию документа и играемся с ней, сколь душе будет угодно. А в рабочий документ переносим только готовые решения.


2. Можно же выставить % а не пт - он наследуется всегда - меняй не хочу.
Про % можно подробнее? Где это?
« Последнее редактирование: 13 Ноябрь 2010, 13:49 от VlhOwn » Записан
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!