exponenta event banner

клон

Класс: mlreportgen.dom.Параграф
Пакет: 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. Клонируйте абзац. 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