diff --git a/WsNovelParser/WsNovelParser.vcxproj.user b/WsNovelParser/WsNovelParser.vcxproj.user index 3d65b7a..ceb8a0e 100644 --- a/WsNovelParser/WsNovelParser.vcxproj.user +++ b/WsNovelParser/WsNovelParser.vcxproj.user @@ -6,9 +6,9 @@ -path "D:\手作小说\科学+修仙+创造世界" - 2024-05-21T04:45:42.0274209Z + 2024-05-26T03:00:46.1252886Z - 2024-05-21T04:45:42.3032065Z + 2024-05-26T03:00:46.2759396Z \ No newline at end of file diff --git a/WsNovelParser/htmlprint.cpp b/WsNovelParser/htmlprint.cpp index 439082e..a2918d3 100644 --- a/WsNovelParser/htmlprint.cpp +++ b/WsNovelParser/htmlprint.cpp @@ -433,7 +433,7 @@ QString printer::tools_printer::storylines_paint(const QList(story->accessPeers()->element()); node_records[story_elem->signature()] = story; - nodes_description += get_node_name(story) + QString(u8"[fillcolor=pink,label=\"%1\",shape=\"cds\"]\n").arg(story_elem->name()); + nodes_description += get_node_name(story) + QString(u8"[fillcolor=pink,label=\"%1{%2}\",shape=\"cds\"]\n").arg(story_elem->name()).arg(story_elem->sort()); for (auto &frag : story->elements()) { auto fragment_peers = frag->accessPeers()->element(); diff --git a/WsNovelParser/main.cpp b/WsNovelParser/main.cpp index acd7363..c343cc2 100644 --- a/WsNovelParser/main.cpp +++ b/WsNovelParser/main.cpp @@ -124,13 +124,20 @@ int main(int argc, char* argv[]) { dom_storyline.appendChild(dom_storyline_title); body.appendChild(dom_storyline); - for (auto& inst_line : tool.storyline_defines) { + auto lines = tool.storyline_defines.values(); + std::sort(lines.begin(), lines.end(), [](std::shared_ptr a, std::shared_ptr b)->bool{ + auto a_elm = std::dynamic_pointer_cast(a->accessPeers()->element()); + auto b_elm = std::dynamic_pointer_cast(b->accessPeers()->element()); + return a_elm->sort() < b_elm->sort(); + }); + for (auto& inst_line : lines) { auto dom_line = doc_inst.createElement("p"); dom_storyline.appendChild(dom_line); auto line_href = doc_inst.createElement("a"); line_href.setAttribute(u8"href", u8"file:///" + inst_line->pageRefers()); - line_href.appendChild(doc_inst.createTextNode(inst_line->accessPeers()->element()->signature())); + auto a_elm = std::dynamic_pointer_cast(inst_line->accessPeers()->element()); + line_href.appendChild(doc_inst.createTextNode(QString(u8"%1.%2").arg(a_elm->sort()).arg(a_elm->signature()))); dom_line.appendChild(line_href); } @@ -197,5 +204,6 @@ int main(int argc, char* argv[]) { delete e; } } - return a.exec(); + return 0; + //return a.exec(); } diff --git a/libParse/libParse.vcxproj.user b/libParse/libParse.vcxproj.user index eb5e355..c598050 100644 --- a/libParse/libParse.vcxproj.user +++ b/libParse/libParse.vcxproj.user @@ -5,9 +5,9 @@ WindowsLocalDebugger - 2024-05-21T04:45:42.4291618Z + 2024-05-26T03:00:46.6593548Z - 2024-05-21T04:45:42.6149103Z + 2024-05-26T03:00:46.7674012Z \ No newline at end of file diff --git a/libSyntax/libSyntax.vcxproj.user b/libSyntax/libSyntax.vcxproj.user index cbe8f18..99e8eaf 100644 --- a/libSyntax/libSyntax.vcxproj.user +++ b/libSyntax/libSyntax.vcxproj.user @@ -5,9 +5,9 @@ WindowsLocalDebugger - 2024-05-21T04:45:43.0048786Z + 2024-05-26T03:00:46.5033717Z - 2024-05-21T04:45:43.1820127Z + 2024-05-26T03:00:46.6093560Z \ No newline at end of file diff --git a/libToken/libToken.vcxproj.user b/libToken/libToken.vcxproj.user index 12dcc57..7dce963 100644 --- a/libToken/libToken.vcxproj.user +++ b/libToken/libToken.vcxproj.user @@ -2,9 +2,9 @@ - 2024-05-21T04:45:42.7152812Z + 2024-05-26T03:00:46.3513401Z - 2024-05-21T04:45:42.9136302Z + 2024-05-26T03:00:46.4494964Z \ No newline at end of file