Загрузил(а) файлы в 'flutter/lib/pages'
This commit is contained in:
parent
d28f08679e
commit
44c4c47872
|
@ -6,9 +6,9 @@ import 'package:flutter/material.dart';
|
|||
|
||||
Graphs getGraph() {
|
||||
List<Dot> d = <Dot>[];
|
||||
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<DrawingPage> {
|
|||
void showPopUp(String alertTitle, String err) => showDialog<String>(
|
||||
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: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () => Navigator.pop(context, 'OK'),
|
||||
|
@ -146,7 +149,7 @@ class _DrawingPageState extends State<DrawingPage> {
|
|||
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),
|
||||
|
@ -232,9 +235,9 @@ class _DrawingPageState extends State<DrawingPage> {
|
|||
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<DrawingPage> {
|
|||
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<DrawingPage> {
|
|||
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<DrawingPage> {
|
|||
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<DrawingPage> {
|
|||
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<DrawingPage> {
|
|||
} 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<DrawingPage> {
|
|||
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);
|
||||
})
|
||||
],
|
||||
),
|
||||
|
|
Loading…
Reference in New Issue