Files
flutter-todos/lib/model/edit_task_page_model.dart
oldchen 46562739a3 1.解决“图标设置”界面,文字显示不全的问题
2.解决“任务编辑”界面,新增一项任务后任务列表不滑动到最底部的问题
2019-07-15 14:06:57 +08:00

77 lines
2.0 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:flutter/material.dart';
import 'package:todo_list/json/task_bean.dart';
import 'package:todo_list/json/task_icon_bean.dart';
import 'package:todo_list/logic/all_logic.dart';
import 'package:todo_list/model/main_page_model.dart';
import 'package:todo_list/model/task_detail_page_model.dart';
import 'package:todo_list/utils/theme_util.dart';
class EditTaskPageModel extends ChangeNotifier{
EditTaskPageLogic logic;
BuildContext context;
Color bgColor = Colors.white;
final TextEditingController textEditingController = TextEditingController();
final ScrollController scrollController = ScrollController();
MainPageModel mainPageModel;
TaskDetailPageModel taskDetailPageModel;
//任务清单
List<TaskDetailBean> taskDetails = [];
//截止日期
DateTime deadLine;
//开始日期
DateTime startDate;
TaskIconBean taskIcon;
String currentTaskName = "";
//能否添加一项任务
bool canAddTaskDetail = false;
//当这个值不为空的时候表示不是新增一个task而是编辑已存在的task
TaskBean oldTaskBean;
EditTaskPageModel({this.oldTaskBean}){
logic = EditTaskPageLogic(this);
logic.initialDataFromOld(oldTaskBean);
}
void setContext(BuildContext context){
if(this.context == null){
this.context = context;
logic.getBgInDark();
}
}
@override
void dispose(){
super.dispose();
textEditingController?.removeListener(logic.editListener);
textEditingController?.dispose();
scrollController?.dispose();
debugPrint("EditTaskPageModel销毁了");
}
void refresh(){
notifyListeners();
}
void setTaskIcon(TaskIconBean taskIcon) {
if(this.taskIcon == null){
this.taskIcon = taskIcon;
}
}
void setMainPageModel(MainPageModel mainPageModel) {
this.mainPageModel = mainPageModel;
}
void setTaskDetailPageModel(TaskDetailPageModel taskDetailPageModel) {
if(this.taskDetailPageModel == null){
this.taskDetailPageModel = taskDetailPageModel;
}
}
}