clone

Класс: mlreportgen.dom.Partage
Пакет: 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:806'
                  Id: '806'

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

расширить все

Копируемый объект, заданный как 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. Клонируйте абзац. The 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