clone

Класс: mlreportgen.dom.Paragraph
Пакет: mlreportgen.dom

Скопируйте объект абзаца

Описание

пример

clonedPara = clone(sourcePara) копии (клоны) заданный абзац. Получившийся клонированный абзац включает дочерние элементы исходного абзаца, но не родительский элемент.

Примеры

развернуть все

import mlreportgen.dom.*;
d = Document('myDoc','html');

para1 = Paragraph('This is a paragraph');
para1.Bold = true;
append(d,para1);
para1Copy = clone(para1);
para1Copy
para1Copy = 
  Paragraph with properties:

        OutlineLevel: []
                Bold: 1
              Italic: []
               Color: []
     BackgroundColor: []
           Underline: []
          WhiteSpace: []
      FontFamilyName: []
            FontSize: []
              Strike: []
              HAlign: []
     OuterLeftMargin: []
     FirstLineIndent: []
           StyleName: []
               Style: {[1x1 mlreportgen.dom.Bold]}
    CustomAttributes: []
              Parent: []
            Children: [1x1 mlreportgen.dom.Text]
                 Tag: 'dom.Paragraph:835'
                  Id: '835'

Входные параметры

развернуть все

Копируемый объект абзаца в виде mlreportgen.dom.Paragraph объект.

Выходные аргументы

развернуть все

Скопированный объект абзаца, представленный mlreportgen.dom.Paragraph объект.

Советы

  • Используйте clone метод, чтобы добавить то же содержимое абзаца несколько раз в документе.

  • Когда вы клонируете абзац, DOM копирует все дочерние объекты исходного абзаца, но не родительский элемент абзаца.

  • Клонированный абзац включает форматы, которые вы устанавливаете в исходном абзаце. Клонированные форматы абзаца используют те же объекты формата в качестве исходного абзаца. Если вы изменяете параметр формата в разделяемом объекте формата, источник и клонированные абзацы отражают то изменение.

    Если вы изменяете параметр формата в клонированном абзаце, то DOM создает новый объект формата для клонированного абзаца, с помощью нового параметра формата. Для того формата источник и клонированный абзац больше не совместно используют тот же объект формата.

    Этот пример показывает отношение между форматами для источника и клонированных абзацев.

    1. Создайте абзац, который использует стиль, который устанавливает Bold и Italic форматы к true.

      import mlreportgen.dom.*;
      myReport = Document('myDoc','html');
      p = Paragraph('This is a paragraph');
      append(myReport,p);
      MyStyle = {Bold,Italic};
      p.Style = MyStyle;
      p.Bold
      ans =
      
           1
      p.Italic
      ans =
      
           1
    2. Клонируйте абзац. Bold и Italic форматы совпадают с теми из исходного абзаца.

      pClone = clone(p);
      pClone.Bold
      ans =
      
           1
      p.Italic
      ans =
      
           1
    3. Для клонированного абзаца изменение выключает полужирный текст. Изменение в Bold формат в клонированном абзаце не влияет на текст для исходного абзаца. Исходный текст абзаца все еще полужирен.

      pClone.Bold = false;
      p.Bold
      ans =
      
           1
    4. В объекте стиля (MyStyle) для исходного абзаца выключите курсив. Теперь клонированный абзац не использует курсив, потому что он совместно использует MyStyle установка для Italics формат.

      MyStyle(2).Value = false
      pClone.Italic
      ans =
      
           0
Введенный в R2014b