diff options
Added files from project 2 (mirror)
1 files changed, 403 insertions, 0 deletions
| -rw-r--r-- | Year 1/Object-oriented Programming/Project 2/docs/images/FMI-OOP-P2_Table Overview.svg | 403 |
diff --git a/Year 1/Object-oriented Programming/Project 2/docs/images/FMI-OOP-P2_Table Overview.svg b/Year 1/Object-oriented Programming/Project 2/docs/images/FMI-OOP-P2_Table Overview.svg new file mode 100644 index 0000000..89459ee --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 2/docs/images/FMI-OOP-P2_Table Overview.svg @@ -0,0 +1,403 @@ +<svg version="1.1" baseProfile="full" width="1180.0" height="794.0" viewbox="0 0 1180 794" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"> + <title >FMI-OOP-P2_Table Overview</title> + <desc >#title: FMI-OOP-P2_Table Overview + #background: #fdf6e3 + #bendSize: 0 + #fillArrows: true + #lineWidth: 2 + #leading: 1.3 + + #.groupui: title=italic fill=#b2ee97 direction=right + #.groupes: title=italic fill=#97c8ee direction=right + #.groupm: title=italic fill=#ee9797 direction=down + #.groupv: title=italic fill=#eee997 direction=right + #.groupgc: title=italic fill=#c0baac direction=right + + [<groupui> User Interface| + [ConsoleUI.cpp| + run() + > open + > close + > save + > saveas + > help + > exit + -- + > print + > edit + ] + ] + + [<groupm> Models| + [Table| + List<List<Cell>> cells + ] + [Table]--[Cell] + + [<abstract>Cell| + String getValueForPrint() = 0 + setValue(char*) = 0 + openFromFile(char*) = 0 + saveToFile(char*) = 0 + ] + + [CellString| + ] + [Cell]<:--[CellString] + + [CellInt| + ] + [Cell]<:--[CellInt] + + [CellDouble| + ] + [Cell]<:--[CellDouble] + + [CellFormula| + List<Cell*> referencedCells + ] + [Cell]<:--[CellFormula] + ] + [User Interface]<--[Models] + + [<groupgc> Generic Classes| + [List<T>| + add(elem) + insertAt(elem, index) + removeAt(index) + findIndex(elem); + contain(elem); + operator\[\](index) + ] + + [String| + char* str + unsigned length + unsigned count + ] + [List<T>]-/-[String] + + [Command| + String name + void (*exec)() + ] + + [Menu| + List<Command> commands + navigate() + ] + [Menu]-->[Command] + ] + [<hidden>H1]-/-[Generic Classes]</desc> + <g stroke-width="1.0" text-align="left" font="12pt Helvetica, Arial, sans-serif" font-size="12pt" font-family="Helvetica" font-weight="bold" font-style="normal"> + <g font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="round" stroke="#33322E"> + <g stroke="transparent" fill="#fdf6e3"> + <rect x="0.0" y="0.0" height="794.0" width="1180.0" stroke="none"></rect> + </g> + <g transform="translate(8, 8)" fill="#33322E"> + <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal"> + <g stroke-dasharray="4 4"> + <path d="M321.5 298.7 L321.5 312 L321.5 332 L321.5 332.0 " fill="none"></path> + </g> + <path d="M326.8 305.3 L321.5 305.3 L316.2 305.3 L321.5 292.0 Z"></path> + <g data-name="User Interface"> + <g fill="#b2ee97" stroke="#33322E" data-name="User Interface"> + <rect x="230.0" y="0.0" height="292.0" width="184.0" data-name="User Interface"></rect> + <path d="M230.0 32.0 L414.0 32.0" fill="none" data-name="User Interface"></path> + </g> + <g transform="translate(230, 0)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="User Interface"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="User Interface"> + <text x="84.0" y="13.8" stroke="none" text-anchor="middle" data-name="User Interface">User Interface</text> + + </g> + </g> + <g transform="translate(230, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="User Interface"> + <g transform="translate(8, 8)" fill="#33322E" data-name="User Interface"> + <g transform="translate(20, 20)" data-name="User Interface"> + <g data-name="ConsoleUI.cpp"> + <g fill="#fdf6e3" stroke="#33322E" data-name="ConsoleUI.cpp"> + <rect x="0.0" y="0.0" height="204.0" width="128.0" data-name="ConsoleUI.cpp"></rect> + <path d="M0.0 32.0 L128.0 32.0" fill="none" data-name="ConsoleUI.cpp"></path> + </g> + <g transform="translate(0, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="ConsoleUI.cpp"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="ConsoleUI.cpp"> + <text x="56.0" y="13.8" stroke="none" text-anchor="middle" data-name="ConsoleUI.cpp">ConsoleUI.cpp</text> + + </g> + </g> + <g transform="translate(0, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="ConsoleUI.cpp"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="ConsoleUI.cpp"> + <text x="0.0" y="13.8" stroke="none" data-name="ConsoleUI.cpp">run()</text> + <text x="0.0" y="29.4" stroke="none" data-name="ConsoleUI.cpp">> open</text> + <text x="0.0" y="45.0" stroke="none" data-name="ConsoleUI.cpp">> close</text> + <text x="0.0" y="60.6" stroke="none" data-name="ConsoleUI.cpp">> save</text> + <text x="0.0" y="76.2" stroke="none" data-name="ConsoleUI.cpp">> saveas</text> + <text x="0.0" y="91.8" stroke="none" data-name="ConsoleUI.cpp">> help</text> + <text x="0.0" y="107.4" stroke="none" data-name="ConsoleUI.cpp">> exit</text> + <text x="0.0" y="123.0" stroke="none" data-name="ConsoleUI.cpp">--</text> + <text x="0.0" y="138.6" stroke="none" data-name="ConsoleUI.cpp">> print</text> + <text x="0.0" y="154.2" stroke="none" data-name="ConsoleUI.cpp">> edit</text> + + </g> + </g> + </g> + </g> + </g> + </g> + </g> + <g data-name="Models"> + <g fill="#ee9797" stroke="#33322E" data-name="Models"> + <rect x="0.0" y="332.0" height="406.0" width="643.0" data-name="Models"></rect> + <path d="M0.0 364.0 L643.0 364.0" fill="none" data-name="Models"></path> + </g> + <g transform="translate(0, 332)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Models"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Models"> + <text x="313.5" y="13.8" stroke="none" text-anchor="middle" data-name="Models">Models</text> + + </g> + </g> + <g transform="translate(0, 364)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Models"> + <g transform="translate(8, 8)" fill="#33322E" data-name="Models"> + <g transform="translate(20, 20)" fill="#eee8d5" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Models"> + <g stroke-dasharray="4 4" data-name="Models"> + <path d="M225.8 64.0 L225.75 84 L225.75 104 L225.8 104.0 " fill="none" data-name="Models"></path> + </g> + <g stroke-dasharray="4 4" data-name="Models"> + <path d="M103.9 209.8 L46 234 L46 266 L46.0 266.0 " fill="none" data-name="Models"></path> + </g> + <path d="M106.0 214.7 L103.9 209.8 L101.9 204.9 L116.3 204.7 Z" data-name="Models"></path> + <g stroke-dasharray="4 4" data-name="Models"> + <path d="M172.4 224.3 L164.5 234 L164.5 266 L164.5 266.0 " fill="none" data-name="Models"></path> + </g> + <path d="M176.5 227.7 L172.4 224.3 L168.3 221.0 L180.8 214.0 Z" data-name="Models"></path> + <g stroke-dasharray="4 4" data-name="Models"> + <path d="M279.1 224.3 L287 234 L287 266 L287.0 266.0 " fill="none" data-name="Models"></path> + </g> + <path d="M283.2 221.0 L279.1 224.3 L275.0 227.7 L270.7 214.0 Z" data-name="Models"></path> + <g stroke-dasharray="4 4" data-name="Models"> + <path d="M348.0 194.8 L482 234 L482 254 L482.0 254.0 " fill="none" data-name="Models"></path> + </g> + <path d="M349.5 189.7 L348.0 194.8 L346.5 199.9 L335.3 191.0 Z" data-name="Models"></path> + <g data-name="Table"> + <g fill="#fdf6e3" stroke="#33322E" data-name="Table"> + <rect x="142.0" y="0.0" height="64.0" width="167.0" data-name="Table"></rect> + <path d="M142.0 32.0 L309.0 32.0" fill="none" data-name="Table"></path> + </g> + <g transform="translate(142, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Table"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Table"> + <text x="75.5" y="13.8" stroke="none" text-anchor="middle" data-name="Table">Table</text> + + </g> + </g> + <g transform="translate(142, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Table"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Table"> + <text x="0.0" y="13.8" stroke="none" data-name="Table">List<List<Cell>> cells</text> + + </g> + </g> + </g> + <g data-name="Cell"> + <g fill="#fdf6e3" stroke="#33322E" data-name="Cell"> + <rect x="116.0" y="104.0" height="110.0" width="219.0" data-name="Cell"></rect> + <path d="M116.0 136.0 L335.0 136.0" fill="none" data-name="Cell"></path> + </g> + <g transform="translate(116, 104)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Cell"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Cell"> + <text x="101.5" y="13.8" stroke="none" text-anchor="middle" data-name="Cell">Cell</text> + + </g> + </g> + <g transform="translate(116, 136)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Cell"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Cell"> + <text x="0.0" y="13.8" stroke="none" data-name="Cell">String getValueForPrint() = 0</text> + <text x="0.0" y="29.4" stroke="none" data-name="Cell">setValue(char*) = 0</text> + <text x="0.0" y="45.0" stroke="none" data-name="Cell">openFromFile(char*) = 0</text> + <text x="0.0" y="60.6" stroke="none" data-name="Cell">saveToFile(char*) = 0</text> + + </g> + </g> + </g> + <g data-name="CellString"> + <g fill="#fdf6e3" stroke="#33322E" data-name="CellString"> + <rect x="0.0" y="266.0" height="40.0" width="92.0" data-name="CellString"></rect> + <path d="M0.0 298.0 L92.0 298.0" fill="none" data-name="CellString"></path> + </g> + <g transform="translate(0, 266)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="CellString"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="CellString"> + <text x="38.0" y="13.8" stroke="none" text-anchor="middle" data-name="CellString">CellString</text> + + </g> + </g> + <g transform="translate(0, 298)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="CellString"> + <g transform="translate(8, 8)" fill="#33322E" data-name="CellString"> + + </g> + </g> + </g> + <g data-name="CellInt"> + <g fill="#fdf6e3" stroke="#33322E" data-name="CellInt"> + <rect x="132.0" y="266.0" height="40.0" width="65.0" data-name="CellInt"></rect> + <path d="M132.0 298.0 L197.0 298.0" fill="none" data-name="CellInt"></path> + </g> + <g transform="translate(132, 266)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="CellInt"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="CellInt"> + <text x="24.5" y="13.8" stroke="none" text-anchor="middle" data-name="CellInt">CellInt</text> + + </g> + </g> + <g transform="translate(132, 298)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="CellInt"> + <g transform="translate(8, 8)" fill="#33322E" data-name="CellInt"> + + </g> + </g> + </g> + <g data-name="CellDouble"> + <g fill="#fdf6e3" stroke="#33322E" data-name="CellDouble"> + <rect x="237.0" y="266.0" height="40.0" width="100.0" data-name="CellDouble"></rect> + <path d="M237.0 298.0 L337.0 298.0" fill="none" data-name="CellDouble"></path> + </g> + <g transform="translate(237, 266)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="CellDouble"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="CellDouble"> + <text x="42.0" y="13.8" stroke="none" text-anchor="middle" data-name="CellDouble">CellDouble</text> + + </g> + </g> + <g transform="translate(237, 298)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="CellDouble"> + <g transform="translate(8, 8)" fill="#33322E" data-name="CellDouble"> + + </g> + </g> + </g> + <g data-name="CellFormula"> + <g fill="#fdf6e3" stroke="#33322E" data-name="CellFormula"> + <rect x="377.0" y="254.0" height="64.0" width="210.0" data-name="CellFormula"></rect> + <path d="M377.0 286.0 L587.0 286.0" fill="none" data-name="CellFormula"></path> + </g> + <g transform="translate(377, 254)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="CellFormula"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="CellFormula"> + <text x="97.0" y="13.8" stroke="none" text-anchor="middle" data-name="CellFormula">CellFormula</text> + + </g> + </g> + <g transform="translate(377, 286)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="CellFormula"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="CellFormula"> + <text x="0.0" y="13.8" stroke="none" data-name="CellFormula">List<Cell*> referencedCells</text> + + </g> + </g> + </g> + </g> + </g> + </g> + </g> + <g data-name="Generic Classes"> + <g fill="#c0baac" stroke="#33322E" data-name="Generic Classes"> + <rect x="683.0" y="361.0" height="349.0" width="441.0" data-name="Generic Classes"></rect> + <path d="M683.0 393.0 L1124.0 393.0" fill="none" data-name="Generic Classes"></path> + </g> + <g transform="translate(683, 361)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="italic" data-name="Generic Classes"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Generic Classes"> + <text x="212.5" y="13.8" stroke="none" text-anchor="middle" data-name="Generic Classes">Generic Classes</text> + + </g> + </g> + <g transform="translate(683, 393)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Generic Classes"> + <g transform="translate(8, 8)" fill="#33322E" data-name="Generic Classes"> + <g transform="translate(20, 20)" fill="#33322E" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Generic Classes"> + <g stroke-dasharray="4 4" data-name="Generic Classes"> + <path d="M216.0 221.5 L236 221.5 L258.3333333333333 221.5 L258.3 221.5 " fill="none" data-name="Generic Classes"></path> + </g> + <path d="M251.7 226.8 L251.7 221.5 L251.7 216.2 L265.0 221.5 Z" data-name="Generic Classes"></path> + <g data-name="List<T>"> + <g fill="#fdf6e3" stroke="#33322E" data-name="List<T>"> + <rect x="27.0" y="0.0" height="142.0" width="163.0" data-name="List<T>"></rect> + <path d="M27.0 32.0 L190.0 32.0" fill="none" data-name="List<T>"></path> + </g> + <g transform="translate(27, 0)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="List<T>"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="List<T>"> + <text x="73.5" y="13.8" stroke="none" text-anchor="middle" data-name="List<T>">List<T></text> + + </g> + </g> + <g transform="translate(27, 32)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="List<T>"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="List<T>"> + <text x="0.0" y="13.8" stroke="none" data-name="List<T>">add(elem)</text> + <text x="0.0" y="29.4" stroke="none" data-name="List<T>">insertAt(elem, index)</text> + <text x="0.0" y="45.0" stroke="none" data-name="List<T>">removeAt(index)</text> + <text x="0.0" y="60.6" stroke="none" data-name="List<T>">findIndex(elem)</text> + <text x="0.0" y="76.2" stroke="none" data-name="List<T>">contain(elem)</text> + <text x="0.0" y="91.8" stroke="none" data-name="List<T>">operator[](index)</text> + + </g> + </g> + </g> + <g data-name="String"> + <g fill="#fdf6e3" stroke="#33322E" data-name="String"> + <rect x="256.0" y="24.0" height="95.0" width="129.0" data-name="String"></rect> + <path d="M256.0 56.0 L385.0 56.0" fill="none" data-name="String"></path> + </g> + <g transform="translate(256, 24)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="String"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="String"> + <text x="56.5" y="13.8" stroke="none" text-anchor="middle" data-name="String">String</text> + + </g> + </g> + <g transform="translate(256, 56)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="String"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="String"> + <text x="0.0" y="13.8" stroke="none" data-name="String">char* str</text> + <text x="0.0" y="29.4" stroke="none" data-name="String">unsigned length</text> + <text x="0.0" y="45.0" stroke="none" data-name="String">unsigned count</text> + + </g> + </g> + </g> + <g data-name="Command"> + <g fill="#fdf6e3" stroke="#33322E" data-name="Command"> + <rect x="265.0" y="182.0" height="79.0" width="111.0" data-name="Command"></rect> + <path d="M265.0 214.0 L376.0 214.0" fill="none" data-name="Command"></path> + </g> + <g transform="translate(265, 182)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Command"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Command"> + <text x="47.5" y="13.8" stroke="none" text-anchor="middle" data-name="Command">Command</text> + + </g> + </g> + <g transform="translate(265, 214)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Command"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Command"> + <text x="0.0" y="13.8" stroke="none" data-name="Command">String name</text> + <text x="0.0" y="29.4" stroke="none" data-name="Command">void (*exec)()</text> + + </g> + </g> + </g> + <g data-name="Menu"> + <g fill="#fdf6e3" stroke="#33322E" data-name="Menu"> + <rect x="0.0" y="182.0" height="79.0" width="216.0" data-name="Menu"></rect> + <path d="M0.0 214.0 L216.0 214.0" fill="none" data-name="Menu"></path> + </g> + <g transform="translate(0, 182)" font-family="Helvetica" font-size="12pt" font-weight="bold" font-style="normal" data-name="Menu"> + <g transform="translate(8, 8)" fill="#33322E" text-align="center" data-name="Menu"> + <text x="100.0" y="13.8" stroke="none" text-anchor="middle" data-name="Menu">Menu</text> + + </g> + </g> + <g transform="translate(0, 214)" font-family="Helvetica" font-size="12pt" font-weight="normal" font-style="normal" data-name="Menu"> + <g transform="translate(8, 8)" fill="#33322E" text-align="left" data-name="Menu"> + <text x="0.0" y="13.8" stroke="none" data-name="Menu">List<Command> commands</text> + <text x="0.0" y="29.4" stroke="none" data-name="Menu">navigate()</text> + + </g> + </g> + </g> + </g> + </g> + </g> + </g> + <g data-name="H1"> + + </g> + </g> + </g> + </g> + </g> +</svg>
\ No newline at end of file |
