Несколько маркеров в тексте объекта IBM-DOORS не отображаются, но последний маркер после замены richText - PullRequest
0 голосов
/ 25 апреля 2019

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

Все параметры верны при входе в функцию applyTextFormattingToParagraph (), разметка richText идентична в маркированных и ненулевых строках абзаца в буфере аккумулятора.

Buffer Process_Rich_Paragraph(RichTextParagraph  rtp, int paraNo) {
    Buffer aPara = create
    aPara += rtp.text
    if(rtp.isBullet) {
        return applyTextFormattingToParagraph(aPara,true,360,paraNo,250)
    } else return applyTextFormattingToParagraph(aPara,false,0,paraNo,0)
    delete aPara
}
//Main Program
Buffer ParaAccum = create
Object o = current
RichTextParagraph  rtp
int paraNo = 0
string s = probeRichAttr_ (o, "Object Text", false)
for rtp in s do {
    if (paraNo == 0) {
        ParaAccum += Process_Rich_Paragraph (rtp, paraNo)
        paraNo++
    } else {
        ParaAccum += "\\par\\pard"
        ParaAccum += Process_Rich_Paragraph (rtp, paraNo)
    }
}
o."Object Text" = richText ParaAccum
delete ParaAccum

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

На самом деле маркируется только последняя строка.

...