AddRefChildNodeDefinition linia 508, TSInfoFiles.pp

private procedure AddRefChildNodeDefinition(AChildNode: TTSInfoNode);

Metoda umożliwiająca zapis definicji referencjonowanego węzła potomnego.

parametry
AChildNode referencja do instancji klasy TTSInfoNode zapisywanego referencjonowanego węzła potomnego

Służy do zapisu do docelowej listy z pola FOutput kompletnej definicji referencjonowanego węzła potomnego, do obiektu którego referencja przekazana jest w parametrze AChildNode klasy TTSInfoNode.

Jeśli węzeł posiada komentarz definicji, zapisywany jest za pomocą metody AddComment jako pierwszy. Następnie dodawana jest do listy linia z nagłówkiem węzła, zawierającym odpowiednią frazę kluczową oraz identyfikator. W następnej kolejności, za pomocą metody IncIndentation zwiększany jest pomocniczy łańcuch znaków wcięcia o jeden poziom i zapisywane są dane wszystkich elementów zawartych w serializowanym węźle. Do tego celu wykorzystywane są metody AddChildNodeAttributes oraz AddChildNodeChildNodes. Po zapisie danych elementów, wcięcie zmniejszane jest z powrotem o jeden poziom za pomocą metody DecIndentation oraz dodawana jest linia z odpowiednią frazą kluczową, zakańczającą ciało referencjonowanego węzła.

Metoda zawsze dodaje pustą linię przed definicją serializowanego węzła, a także zawsze ustawia wartość pola FExtraSpaceNeeded na wartość True. Dzięki temu definicja każdego węzła referencjonowanego poprzedzona jest pustą linią, a także każdy element definiowany po referencjonowanym węźle także będzie pustą linią poprzedzony.

W tej metodzie inicjowana jest także wartość pola FNestedRefElementsCount, służącego do przechowywania liczby referencjonowanych elementów, bezpośrednio zagnieżdżonych w serializowanym węźle referencjonowanym.

Wykorzystywana jest jedynie w metodzie ProcessReferencingPart, do zapisu definicji wszystkich referencjonowanych węzłów istniejących w serializowanym drzewie.

zobacz też:

copyright © furious programming 2013—2018