MCPcopy Create free account
hub / github.com/MediaArea/MediaInfoLib / Element2Html

Function Element2Html

Source/MediaInfo/Export/Export_Graph.cpp:56–108  ·  view source on GitHub ↗

---------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

54
55//---------------------------------------------------------------------------
56Ztring Element2Html(MediaInfo_Internal &MI, stream_t StreamKind, size_t StreamPos, Ztring Element, Ztring Format, Ztring FG, Ztring BG, Ztring HFG, Ztring HBG, bool HasNestedObjects=false)
57{
58 Ztring ToReturn;
59 ToReturn+=__T("<table border='0' cellborder='0' cellspacing='0'>");
60 ToReturn+=__T("<tr>");
61 ToReturn+=__T("<td colspan='2' bgcolor='")+HBG+__T("'>");
62 ToReturn+=__T("<font color='")+HFG+__T("'>");
63 ToReturn+=__T("<b>")+XML_Encode(MI.Get(StreamKind, StreamPos, Element, Info_Name_Text))+__T("</b>");
64 Ztring Sub=XML_Encode(MI.Get(StreamKind, StreamPos, Element, Info_Text));
65 if (!HasNestedObjects || Sub!=__T("Yes"))
66 {
67 ToReturn+=__T("<br/>");
68 if (Sub.size() && Sub[Sub.size()-1]==__T(')'))
69 {
70 if (Sub.FindAndReplace(__T("("), __T("<br/>"), 0))
71 Sub.erase(Sub.size()-1);
72 }
73 Sub.FindAndReplace(__T(" / "), __T("<br/>"), 0, Ztring_Recursive);
74 ToReturn+=Sub;
75 }
76 ToReturn+=__T("</font>");
77 ToReturn+=__T("</td>");
78 ToReturn+=__T("</tr>");
79
80 for (size_t Pos=0; Pos<MI.Count_Get(StreamKind, StreamPos); Pos++)
81 {
82 Ztring Name=MI.Get(StreamKind, StreamPos, Pos, Info_Name);
83 if (Name.find(Element+__T(" "))==0 && Name.SubString(Element+__T(" "), __T("")).find(__T(" "))==string::npos)
84 {
85 Ztring Text=XML_Encode(MI.Get(StreamKind, StreamPos, Pos, Info_Text));
86 Text.FindAndReplace(__T(" / "), __T("<br align='left'/>"), 0, Ztring_Recursive);
87
88 if (Text.empty() ||
89 Name.find(Element+__T(" LinkedTo_"))==0 ||
90 Name.find(Element+__T(" Title"))==0 ||
91 (Format==__T("ED2") && Name.find(Element+__T(" Target"))==0) ||
92 (MI.Get(StreamKind, StreamPos, Pos, Info_Options)[InfoOption_ShowInInform]!=__T('Y') && !MediaInfoLib::Config.Complete_Get()))
93 continue;
94
95 ToReturn+=__T("<tr>");
96 ToReturn+=__T("<td align='text' bgcolor='")+BG+__T("' port='")+XML_Encode(Name.SubString(Element+__T(" "), __T("")))+__T("'>");
97 ToReturn+=__T("<font color='")+FG+__T("'>")+XML_Encode(MI.Get(StreamKind, StreamPos, Pos, Info_Name_Text))+=__T("</font><br align='left'/>");
98 ToReturn+=__T("</td>");
99 ToReturn+=__T("<td align='text' bgcolor='")+BG+__T("'>");
100 ToReturn+=__T("<font color='")+FG+__T("'>")+Text+=__T("</font><br align='left'/>");
101 ToReturn+=__T("</td>");
102 ToReturn+=__T("</tr>");
103 }
104 }
105 ToReturn+=__T("</table>");
106
107 return ToReturn;
108}
109
110//---------------------------------------------------------------------------
111

Callers 1

OBJECT_ENDFunction · 0.85

Calls 6

XML_EncodeFunction · 0.85
Complete_GetMethod · 0.80
GetMethod · 0.65
Count_GetMethod · 0.65
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected