Skip to content

Commit

Permalink
reorganize project structure
Browse files Browse the repository at this point in the history
  • Loading branch information
DXie123 committed Nov 14, 2019
1 parent c7e0fdf commit dcf0bd7
Show file tree
Hide file tree
Showing 11 changed files with 77 additions and 70 deletions.
11 changes: 6 additions & 5 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:flutter_icons/flutter_icons.dart';

import 'src/mathbox.dart';
import 'src/result.dart';
import 'src/mybutton.dart';
import 'src/mathmodel.dart';
import 'src/settingpage.dart';
import 'package:num_plus_plus/src/widgets/mathbox.dart';
import 'package:num_plus_plus/src/widgets/result.dart';
import 'package:num_plus_plus/src/widgets/matrixbutton.dart';
import 'package:num_plus_plus/src/widgets/keyboard.dart';
import 'package:num_plus_plus/src/backend/mathmodel.dart';
import 'package:num_plus_plus/src/pages/settingpage.dart';

void main() {
runApp(MyApp());
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion lib/src/latex.dart → lib/src/backend/latex.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'package:math_expressions/math_expressions.dart';
import 'package:linalg/linalg.dart';
import 'dart:math' as math;

import 'mathmodel.dart';
import 'package:num_plus_plus/src/backend/mathmodel.dart';

abstract class Parser {
final bool isRadMode;
Expand Down
2 changes: 1 addition & 1 deletion lib/src/mathmodel.dart → lib/src/backend/mathmodel.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'package:math_expressions/math_expressions.dart';
import 'package:linalg/linalg.dart';

// import 'function.dart';
import 'latex.dart';
import 'package:num_plus_plus/src/backend/latex.dart';

class MathModel with ChangeNotifier {
List<String> _latexExp = [''];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:flutter_icons/flutter_icons.dart';

import 'mathmodel.dart';
import 'package:num_plus_plus/src/backend/mathmodel.dart';

class SettingPage extends StatelessWidget {
@override
Expand Down
6 changes: 3 additions & 3 deletions lib/src/mybutton.dart → lib/src/widgets/keyboard.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:provider/provider.dart';

import 'mathbox.dart';
import 'mathmodel.dart';
import 'settingpage.dart';
import 'package:num_plus_plus/src/widgets/mathbox.dart';
import 'package:num_plus_plus/src/pages/settingpage.dart';
import 'package:num_plus_plus/src/backend/mathmodel.dart';

class MyButton extends StatelessWidget {
final Widget child;
Expand Down
2 changes: 1 addition & 1 deletion lib/src/mathbox.dart → lib/src/widgets/mathbox.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import 'package:flutter/services.dart';
import 'package:mime/mime.dart';
import 'package:provider/provider.dart';

import 'mathmodel.dart';
import 'package:num_plus_plus/src/backend/mathmodel.dart';

class Server {
// class from inAppBrowser
Expand Down
58 changes: 2 additions & 56 deletions lib/src/result.dart → lib/src/widgets/matrixbutton.dart
Original file line number Diff line number Diff line change
@@ -1,62 +1,8 @@
import 'package:flutter/material.dart';
import 'package:num_plus_plus/src/mathbox.dart';
import 'package:provider/provider.dart';

import 'mathmodel.dart';

class Result extends StatefulWidget {
@override
_ResultState createState() => _ResultState();
}

class _ResultState extends State<Result> with TickerProviderStateMixin {

AnimationController animationController;
Animation animation;

@override
void initState() {
super.initState();
final mathModel = Provider.of<MathModel>(context, listen: false);
animationController = AnimationController(duration: const Duration(milliseconds: 400),vsync: this);
mathModel.equalAnimation = animationController;
final curve = CurvedAnimation(parent: animationController, curve: Curves.easeInOutBack);
animation = Tween<double>(begin: 30.0, end: 60.0).animate(curve)
..addListener(() {setState(() {});});
}

@override
void dispose() {
animationController.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
return Container(
height: animation.value,
width: double.infinity,
alignment: Alignment.centerRight,
child: Consumer<MathModel>(
builder: (_, model, __) {
String text;
if (model.result!='' && animationController.status == AnimationStatus.dismissed) {
text = '= ' + model.result;
} else {
text = model.result;
}
return SelectableText(
text,
style: TextStyle(
fontFamily: 'Minion-Pro',
fontSize: animation.value - 5,
),
);
},
),
);
}
}
import 'package:num_plus_plus/src/backend/mathmodel.dart';
import 'package:num_plus_plus/src/widgets/mathbox.dart';

class SingleMatrixButton extends StatelessWidget {
final Widget child;
Expand Down
58 changes: 58 additions & 0 deletions lib/src/widgets/result.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

import 'package:num_plus_plus/src/backend/mathmodel.dart';

class Result extends StatefulWidget {
@override
_ResultState createState() => _ResultState();
}

class _ResultState extends State<Result> with TickerProviderStateMixin {

AnimationController animationController;
Animation animation;

@override
void initState() {
super.initState();
final mathModel = Provider.of<MathModel>(context, listen: false);
animationController = AnimationController(duration: const Duration(milliseconds: 400),vsync: this);
mathModel.equalAnimation = animationController;
final curve = CurvedAnimation(parent: animationController, curve: Curves.easeInOutBack);
animation = Tween<double>(begin: 30.0, end: 60.0).animate(curve)
..addListener(() {setState(() {});});
}

@override
void dispose() {
animationController.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
return Container(
height: animation.value,
width: double.infinity,
alignment: Alignment.centerRight,
child: Consumer<MathModel>(
builder: (_, model, __) {
String text;
if (model.result!='' && animationController.status == AnimationStatus.dismissed) {
text = '= ' + model.result;
} else {
text = model.result;
}
return SelectableText(
text,
style: TextStyle(
fontFamily: 'Minion-Pro',
fontSize: animation.value - 5,
),
);
},
),
);
}
}
3 changes: 2 additions & 1 deletion test/latex_parser_test.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:math_expressions/math_expressions.dart';
import 'package:num_plus_plus/src/latex.dart';

import 'package:num_plus_plus/src/backend/latex.dart';

void main() {
test('Unit Test', () {
Expand Down
3 changes: 2 additions & 1 deletion test/matrix_test.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:num_plus_plus/src/latex.dart';
import 'package:linalg/linalg.dart';

import 'package:num_plus_plus/src/backend/latex.dart';

void main() {
test('Parser Test', () {
const matrixString1 = r'\begin{bmatrix}1&2\\3&4\end{bmatrix}\begin{bmatrix}1&2\\3&4\end{bmatrix}';
Expand Down

0 comments on commit dcf0bd7

Please sign in to comment.