第11章 GUI Page487 步骤二十七 “脏数据”与“新文档”状态维护 代码重构

发布时间:2024年01月11日

重构的步骤:

1. WxMyPainterMain.cpp中调用SetDirty(……)的地方,全部改为UpdateFileStatusUI(),包括我们在“Undo/Redo”响应函数中加上的那两行

这些位置分别在下面的函数中

//鼠标抬起函数
void wxMyPainterFrame::OnScrolledWindow1LeftUp(wxMouseEvent& event)

//置顶
void wxMyPainterFrame::OnMenuItemTopLevelSelected(wxCommandEvent& event)

//上浮
void wxMyPainterFrame::OnMenuItemFowardLevelSelected(wxCommandEvent& event)

//下降
void wxMyPainterFrame::OnMenuItemBackLevelSelected(wxCommandEvent& event)

//置底
void wxMyPainterFrame::OnMenuItemBottomLevelSelected(wxCommandEvent& event)

//删除
void wxMyPainterFrame::OnMenuItemDelItemSelected(wxCommandEvent& event)

//隐藏
void wxMyPainterFrame::OnMenuItemHideSelected(wxCommandEvent& event)

//Undo
void wxMyPainterFrame::OnMenuItemEditUndoSelected(wxCommandEvent& event)

//Redo
void wxMyPainterFrame::OnMenuItemEditRedoSelected(wxCommandEvent& event)

2. 原来需要判断“_is_dirty”的地方,都改成判断“_actionLink.IsDirty()”

3.完成修改之后,从类wxMyPainterFrame的定义及实现代码中,将_is_dirty和SetDirty()删除

运行效果:

文章来源:https://blog.csdn.net/yanzhenxi/article/details/135537497
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。