From 44c4c47872cae22d5c63b7635258a5f7276560e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=BE=D1=80=D0=BE=D0=B7=D0=BE=D0=B2=20=D0=90=D0=BD?= =?UTF-8?q?=D0=B4=D1=80=D0=B5=D0=B9?= Date: Thu, 11 Nov 2021 10:35:34 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20'flu?= =?UTF-8?q?tter/lib/pages'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flutter/lib/pages/drawing_page.dart | 54 +++++++++++++++++------------ 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/flutter/lib/pages/drawing_page.dart b/flutter/lib/pages/drawing_page.dart index d503239..b9042c6 100644 --- a/flutter/lib/pages/drawing_page.dart +++ b/flutter/lib/pages/drawing_page.dart @@ -6,9 +6,9 @@ import 'package:flutter/material.dart'; Graphs getGraph() { List d = []; - d.add(Dot.fromTwoLists("1", [2, 3], [5, 1])); - d.add(Dot.fromTwoLists("2", [1, 3], [1, 1])); - d.add(Dot.fromTwoLists("3", [1, 2], [1, 2])); + d.add(Dot.fromTwoLists("1", [2], [3])); + d.add(Dot.fromTwoLists("2", [3], [1])); + d.add(Dot.fromTwoLists("3", [1], [2])); //d.add(Dot.fromTwoLists("Name1", [], [])); //d.add(Dot.fromTwoLists("Name2", [], [])); return Graphs.fromList("Имя графа", d, true, true); @@ -77,8 +77,11 @@ class _DrawingPageState extends State { void showPopUp(String alertTitle, String err) => showDialog( context: context, builder: (BuildContext context) => AlertDialog( - title: Text(alertTitle), - content: Text(err), + title: Text(alertTitle, style: const TextStyle(fontSize: 26)), + content: Text( + err, + style: const TextStyle(fontSize: 18), + ), actions: [ TextButton( onPressed: () => Navigator.pop(context, 'OK'), @@ -146,7 +149,7 @@ class _DrawingPageState extends State { SizedBox dropList1(double width) { var button = DropdownButton( hint: const Text( - 'Select Dot', + 'Select dot', style: TextStyle(color: Colors.white, fontSize: 13), ), //icon: const Icon(Icons.fiber_manual_record, color: Colors.white), @@ -211,7 +214,7 @@ class _DrawingPageState extends State { width: width, ); } - // *************inputs************* +// *************inputs************* //*********ButtonsFunctions********* void addDotPushed() { @@ -232,9 +235,9 @@ class _DrawingPageState extends State { void addPathPushed() { clearDropDownVals(); if (dropdownValue1 == null) { - showPopUp("Error", "Select output dot"); + showPopUp("Error", "No dot in first box selected"); } else if (dropdownValue2 == null) { - showPopUp("Error", "select input dot"); + showPopUp("Error", "No dot in second box selected"); } else if (_textLnthController.text == "" && graphData.getUseLengthBool()) { showPopUp("Error", "No length in \"Input length\" box"); } else { @@ -243,7 +246,7 @@ class _DrawingPageState extends State { int? len = int.tryParse(_textLnthController.text); if (len == null && graphData.getUseLengthBool()) { showPopUp("Error", - "Can't parse input.\nInts only allowed in \"Dot number\", \"Destination number\" and \"Input length\""); + "Can't parse input.\nInts only allowed in \"Input length\""); } else { len ??= 0; setState(() { @@ -272,9 +275,9 @@ class _DrawingPageState extends State { void delPathPushed() { clearDropDownVals(); if (dropdownValue1 == null) { - showPopUp("Error", "No number in \"Dot number\" box"); + showPopUp("Error", "No dot in first box selected"); } else if (dropdownValue2 == null) { - showPopUp("Error", "No name in \"Dot name\" box"); + showPopUp("Error", "No dot in second box selected"); } else { int? from = int.tryParse(dropdownValue1!); int? to = int.tryParse(dropdownValue2!); @@ -350,9 +353,9 @@ class _DrawingPageState extends State { void bfsPushed() { clearDropDownVals(); if (dropdownValue1 == null) { - showPopUp("Error", "No number in \"Dot number\" box"); + showPopUp("Error", "No dot in first box selected"); } else if (dropdownValue2 == null) { - showPopUp("Error", "No number in \"Destination number\" box"); + showPopUp("Error", "No dot in second box selected"); } else { setState(() { startDot = int.parse(dropdownValue1!); @@ -372,7 +375,7 @@ class _DrawingPageState extends State { void dfsPushed() { clearDropDownVals(); if (dropdownValue1 == null) { - showPopUp("Error", "No number in \"Dot number\" box"); + showPopUp("Error", "No dot in first box selected"); } else { setState(() { startDot = int.parse(dropdownValue1!); @@ -396,7 +399,7 @@ class _DrawingPageState extends State { } else { setState(() { startDot = int.parse(dropdownValue1!); - currOp = "OP: DFS from $startDot"; + currOp = "OP: Dijkstra from $startDot"; op = Operations.dijkstra; intListPath = graphData.dijkstra(startDot!); }); @@ -499,28 +502,33 @@ class _DrawingPageState extends State { createButton("Save to file", fileSaver), createButton("Load from file", fileOpener), createButton("Help", () { - /* String out = " В поле \"Graph name\" можно сменить имя графу.\n"; out += " Для добавления точки необходимо ввести имя в \"Dot name\" и нажать на \"Add dot\".\n"; out += - " Для удаления точки необходимо ввести номер в \"Dot number\" и нажать на \"Del dot\".\n"; + " Для удаления точки необходимо выбрать номер в левом выпадающем списке и нажать на \"Del dot\".\n"; out += - " Для добавления пути необходимо ввести: номер выходной вершины в \"Dot number\", номер входной вершины в \"Destination number\" "; + " Для добавления пути необходимо выбрать: первую вершину в левом выпадающем списке, вторую вершину в правом выпадающем списке, "; out += "и, если граф взвешенный, то ввести длину пути в \"Input length\". Затем нажать \"Add path\".\n"; out += - " Для удаления пути необходимо ввести номер выходной вершины в \"Dot number\" и номер входной вершины в \"Destination number\". Затем нажать \"Del path\".\n\n"; + " Для удаления пути необходимо выбрать первую вершину из левого списка и вторую вершину в правом списке. Затем нажать \"Del path\".\n\n"; out += - " Кнопки \"Bfs\" и \"Dfs\" нумеруют точки в зависимости от послежовательности, в которой они будут пройдены.\n"; + " Кнопка \"Bfs\" отмечает точки в пути из вершины, выбранной слева, в вершину, выбранную справа.\n"; + out += + " Кнопка \"Dfs\" помечает точки, которые доступны из вершины, выбранной слева."; + out += + " Кнопка \"Dijkstra\" ищет кратчайший путь из вершины, выбранной слева. во все другие."; + out += + " Кнопка \"Clear op\" отменяет \"Bfs\", \"Dfs\" и \"Dijkstra\". Все эти отображения так же отменяются при любых действиях с графом."; out += " Кнопки \"Взвешенный\" и \"Ориентированный\" позволяют сменить эти значения перед построением графа (т.е. для их работы граф должен быть пустым).\n"; out += " Кнопки \"Save to file\" и \"Load from file\" позволяют вывести информацию в файл и загрузить информацию из файла соответственно.\n"; out += - " Кнопка \"Help\" описывает работу с интерфейсом программы.";*/ - showPopUp("Help:", "На переработке"); + " Кнопка \"Help\" описывает работу с интерфейсом программы."; + showPopUp("Help:", out); }) ], ),