这个创建笔记的按钮

逻辑入口在这里; 继承自垂直布局,有一个常量字符串Key,是以类本体命名的; 构造函数中,垂直布局样式,选择box,创建一个按钮界面,调用工具类的PushCommand方法,注册点击的功能,是打开一个NoteEditorView编辑界面类,布局上,也会添加到自身Parent父物体上;

构造函数中,还会注册一个全局事件,key也就是自身类名的key,上述已经完成赋值; 事件系统通过这个全局事件,控制界面的打开和隐藏;

复习一下,整个系统的初始化入口,是这里,通过CreateViewController接口,创建一个TodoListController界面控制器;

跳转过去,这里就已经,完成了,创建笔记界面类,NoteListView的实例化构造

对于显隐界面,前面注册了事件系统; 这里就是,触发点击跳转逻辑

界面,点击第二个,然后切换回第一个

打断点,如预期,触发事件逻辑

这里展示的是,已经保存下来的,Note笔记列表

逻辑上,这里是遍历数据模型的Notes笔记容器,然后实例化出来

其中的每个单一笔记,对应的逻辑; 使用编辑按钮,调用笔记的Content文本显示,还有编辑对应的,步骤进程OpenProcessWindow; 其余的,就是设置宽高颜色样式;

还有删除按钮的逻辑,也是调用模型管理类的RemoveNote接口,移除笔记即可;

传参贴图名称,就是调用对应的资源加载接口,完成图标加载

这里的按钮,对应的,OpenProcessWindow逻辑,比较复杂,是问题和选择的逻辑框架的应用

表现

对应逻辑:

一步一步拆解这部分逻辑; 这是问题的基类,是由问题进程OnProcess和对应选项OnChoice构成;

再整一个问题容器基类,包含开始问题的声明,是调用了问题界面类; 还有获取选择的函数接口;

问题界面类,继承自垂直布局,问题基类; 构造函数,是垂直布局的添加; Title标题,Content问题 主体文本内容;

TextArea输入文本区域; Menu菜单选择,创建一个按钮,触发进程逻辑;

RepeatSelfMenu接口,是重复当前窗体,只触发Action事件逻辑; Choice选择接口,使用按钮类,触发选择的Action事件,再触发字符事件mOnChoice,后续构建问题和旋转的时候,是用字符串构建这个 mOnChoice;

结束函数,就是直接返回获取器; 还有,进程和选择的,赋值函数;

问题队列类,ProcessSystem是统一管理进程的系统类,后面会解析; 获取的方法接口,也是源自ProcessSystem; 添加选择,就是直接new实例化一个Choice就好;

处理问题,就是从问题队列容器,通过Dequeue方法,拿一个问题出来,调用Show去处理即可; 如果队列容器总量为0,就判断为完成,触发mOnFinished完成的Action事件回调函数; OnFinish就是设定完成回调;

往队列容器,添加问题、选择的接口; Process就是触发,处理问题的Next相关逻辑;