Загрузил(а) файлы в 'flutter/lib/pages'
This commit is contained in:
parent
d28f08679e
commit
44c4c47872
|
@ -6,9 +6,9 @@ import 'package:flutter/material.dart';
|
||||||
|
|
||||||
Graphs getGraph() {
|
Graphs getGraph() {
|
||||||
List<Dot> d = <Dot>[];
|
List<Dot> d = <Dot>[];
|
||||||
d.add(Dot.fromTwoLists("1", [2, 3], [5, 1]));
|
d.add(Dot.fromTwoLists("1", [2], [3]));
|
||||||
d.add(Dot.fromTwoLists("2", [1, 3], [1, 1]));
|
d.add(Dot.fromTwoLists("2", [3], [1]));
|
||||||
d.add(Dot.fromTwoLists("3", [1, 2], [1, 2]));
|
d.add(Dot.fromTwoLists("3", [1], [2]));
|
||||||
//d.add(Dot.fromTwoLists("Name1", [], []));
|
//d.add(Dot.fromTwoLists("Name1", [], []));
|
||||||
//d.add(Dot.fromTwoLists("Name2", [], []));
|
//d.add(Dot.fromTwoLists("Name2", [], []));
|
||||||
return Graphs.fromList("Имя графа", d, true, true);
|
return Graphs.fromList("Имя графа", d, true, true);
|
||||||
|
@ -77,8 +77,11 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
void showPopUp(String alertTitle, String err) => showDialog<String>(
|
void showPopUp(String alertTitle, String err) => showDialog<String>(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) => AlertDialog(
|
builder: (BuildContext context) => AlertDialog(
|
||||||
title: Text(alertTitle),
|
title: Text(alertTitle, style: const TextStyle(fontSize: 26)),
|
||||||
content: Text(err),
|
content: Text(
|
||||||
|
err,
|
||||||
|
style: const TextStyle(fontSize: 18),
|
||||||
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () => Navigator.pop(context, 'OK'),
|
onPressed: () => Navigator.pop(context, 'OK'),
|
||||||
|
@ -146,7 +149,7 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
SizedBox dropList1(double width) {
|
SizedBox dropList1(double width) {
|
||||||
var button = DropdownButton(
|
var button = DropdownButton(
|
||||||
hint: const Text(
|
hint: const Text(
|
||||||
'Select Dot',
|
'Select dot',
|
||||||
style: TextStyle(color: Colors.white, fontSize: 13),
|
style: TextStyle(color: Colors.white, fontSize: 13),
|
||||||
),
|
),
|
||||||
//icon: const Icon(Icons.fiber_manual_record, color: Colors.white),
|
//icon: const Icon(Icons.fiber_manual_record, color: Colors.white),
|
||||||
|
@ -232,9 +235,9 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
void addPathPushed() {
|
void addPathPushed() {
|
||||||
clearDropDownVals();
|
clearDropDownVals();
|
||||||
if (dropdownValue1 == null) {
|
if (dropdownValue1 == null) {
|
||||||
showPopUp("Error", "Select output dot");
|
showPopUp("Error", "No dot in first box selected");
|
||||||
} else if (dropdownValue2 == null) {
|
} else if (dropdownValue2 == null) {
|
||||||
showPopUp("Error", "select input dot");
|
showPopUp("Error", "No dot in second box selected");
|
||||||
} else if (_textLnthController.text == "" && graphData.getUseLengthBool()) {
|
} else if (_textLnthController.text == "" && graphData.getUseLengthBool()) {
|
||||||
showPopUp("Error", "No length in \"Input length\" box");
|
showPopUp("Error", "No length in \"Input length\" box");
|
||||||
} else {
|
} else {
|
||||||
|
@ -243,7 +246,7 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
int? len = int.tryParse(_textLnthController.text);
|
int? len = int.tryParse(_textLnthController.text);
|
||||||
if (len == null && graphData.getUseLengthBool()) {
|
if (len == null && graphData.getUseLengthBool()) {
|
||||||
showPopUp("Error",
|
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 {
|
} else {
|
||||||
len ??= 0;
|
len ??= 0;
|
||||||
setState(() {
|
setState(() {
|
||||||
|
@ -272,9 +275,9 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
void delPathPushed() {
|
void delPathPushed() {
|
||||||
clearDropDownVals();
|
clearDropDownVals();
|
||||||
if (dropdownValue1 == null) {
|
if (dropdownValue1 == null) {
|
||||||
showPopUp("Error", "No number in \"Dot number\" box");
|
showPopUp("Error", "No dot in first box selected");
|
||||||
} else if (dropdownValue2 == null) {
|
} else if (dropdownValue2 == null) {
|
||||||
showPopUp("Error", "No name in \"Dot name\" box");
|
showPopUp("Error", "No dot in second box selected");
|
||||||
} else {
|
} else {
|
||||||
int? from = int.tryParse(dropdownValue1!);
|
int? from = int.tryParse(dropdownValue1!);
|
||||||
int? to = int.tryParse(dropdownValue2!);
|
int? to = int.tryParse(dropdownValue2!);
|
||||||
|
@ -350,9 +353,9 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
void bfsPushed() {
|
void bfsPushed() {
|
||||||
clearDropDownVals();
|
clearDropDownVals();
|
||||||
if (dropdownValue1 == null) {
|
if (dropdownValue1 == null) {
|
||||||
showPopUp("Error", "No number in \"Dot number\" box");
|
showPopUp("Error", "No dot in first box selected");
|
||||||
} else if (dropdownValue2 == null) {
|
} else if (dropdownValue2 == null) {
|
||||||
showPopUp("Error", "No number in \"Destination number\" box");
|
showPopUp("Error", "No dot in second box selected");
|
||||||
} else {
|
} else {
|
||||||
setState(() {
|
setState(() {
|
||||||
startDot = int.parse(dropdownValue1!);
|
startDot = int.parse(dropdownValue1!);
|
||||||
|
@ -372,7 +375,7 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
void dfsPushed() {
|
void dfsPushed() {
|
||||||
clearDropDownVals();
|
clearDropDownVals();
|
||||||
if (dropdownValue1 == null) {
|
if (dropdownValue1 == null) {
|
||||||
showPopUp("Error", "No number in \"Dot number\" box");
|
showPopUp("Error", "No dot in first box selected");
|
||||||
} else {
|
} else {
|
||||||
setState(() {
|
setState(() {
|
||||||
startDot = int.parse(dropdownValue1!);
|
startDot = int.parse(dropdownValue1!);
|
||||||
|
@ -396,7 +399,7 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
} else {
|
} else {
|
||||||
setState(() {
|
setState(() {
|
||||||
startDot = int.parse(dropdownValue1!);
|
startDot = int.parse(dropdownValue1!);
|
||||||
currOp = "OP: DFS from $startDot";
|
currOp = "OP: Dijkstra from $startDot";
|
||||||
op = Operations.dijkstra;
|
op = Operations.dijkstra;
|
||||||
intListPath = graphData.dijkstra(startDot!);
|
intListPath = graphData.dijkstra(startDot!);
|
||||||
});
|
});
|
||||||
|
@ -499,28 +502,33 @@ class _DrawingPageState extends State<DrawingPage> {
|
||||||
createButton("Save to file", fileSaver),
|
createButton("Save to file", fileSaver),
|
||||||
createButton("Load from file", fileOpener),
|
createButton("Load from file", fileOpener),
|
||||||
createButton("Help", () {
|
createButton("Help", () {
|
||||||
/*
|
|
||||||
String out =
|
String out =
|
||||||
" В поле \"Graph name\" можно сменить имя графу.\n";
|
" В поле \"Graph name\" можно сменить имя графу.\n";
|
||||||
out +=
|
out +=
|
||||||
" Для добавления точки необходимо ввести имя в \"Dot name\" и нажать на \"Add dot\".\n";
|
" Для добавления точки необходимо ввести имя в \"Dot name\" и нажать на \"Add dot\".\n";
|
||||||
out +=
|
out +=
|
||||||
" Для удаления точки необходимо ввести номер в \"Dot number\" и нажать на \"Del dot\".\n";
|
" Для удаления точки необходимо выбрать номер в левом выпадающем списке и нажать на \"Del dot\".\n";
|
||||||
out +=
|
out +=
|
||||||
" Для добавления пути необходимо ввести: номер выходной вершины в \"Dot number\", номер входной вершины в \"Destination number\" ";
|
" Для добавления пути необходимо выбрать: первую вершину в левом выпадающем списке, вторую вершину в правом выпадающем списке, ";
|
||||||
out +=
|
out +=
|
||||||
"и, если граф взвешенный, то ввести длину пути в \"Input length\". Затем нажать \"Add path\".\n";
|
"и, если граф взвешенный, то ввести длину пути в \"Input length\". Затем нажать \"Add path\".\n";
|
||||||
out +=
|
out +=
|
||||||
" Для удаления пути необходимо ввести номер выходной вершины в \"Dot number\" и номер входной вершины в \"Destination number\". Затем нажать \"Del path\".\n\n";
|
" Для удаления пути необходимо выбрать первую вершину из левого списка и вторую вершину в правом списке. Затем нажать \"Del path\".\n\n";
|
||||||
out +=
|
out +=
|
||||||
" Кнопки \"Bfs\" и \"Dfs\" нумеруют точки в зависимости от послежовательности, в которой они будут пройдены.\n";
|
" Кнопка \"Bfs\" отмечает точки в пути из вершины, выбранной слева, в вершину, выбранную справа.\n";
|
||||||
|
out +=
|
||||||
|
" Кнопка \"Dfs\" помечает точки, которые доступны из вершины, выбранной слева.";
|
||||||
|
out +=
|
||||||
|
" Кнопка \"Dijkstra\" ищет кратчайший путь из вершины, выбранной слева. во все другие.";
|
||||||
|
out +=
|
||||||
|
" Кнопка \"Clear op\" отменяет \"Bfs\", \"Dfs\" и \"Dijkstra\". Все эти отображения так же отменяются при любых действиях с графом.";
|
||||||
out +=
|
out +=
|
||||||
" Кнопки \"Взвешенный\" и \"Ориентированный\" позволяют сменить эти значения перед построением графа (т.е. для их работы граф должен быть пустым).\n";
|
" Кнопки \"Взвешенный\" и \"Ориентированный\" позволяют сменить эти значения перед построением графа (т.е. для их работы граф должен быть пустым).\n";
|
||||||
out +=
|
out +=
|
||||||
" Кнопки \"Save to file\" и \"Load from file\" позволяют вывести информацию в файл и загрузить информацию из файла соответственно.\n";
|
" Кнопки \"Save to file\" и \"Load from file\" позволяют вывести информацию в файл и загрузить информацию из файла соответственно.\n";
|
||||||
out +=
|
out +=
|
||||||
" Кнопка \"Help\" описывает работу с интерфейсом программы.";*/
|
" Кнопка \"Help\" описывает работу с интерфейсом программы.";
|
||||||
showPopUp("Help:", "На переработке");
|
showPopUp("Help:", out);
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue