• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 181  文章 - 15  trackbacks - 0
            <2007年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            My Tech blog

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            1、命令管理器管理命令

            clip_image0023

            void testCommandManagerArrangeCommand()
            {
                cout<<">>>>>>>>>>>>命令管理器調(diào)度命令 <<<<<<<<<<<<"<<endl;
                CDeleteCommand *pCommand1=new CDeleteCommand("obj1");
                CDeleteCommand *pCommand2=new CDeleteCommand("obj2");
                CDeleteCommand *pCommand3=new CDeleteCommand("obj3");
                CDeleteCommand *pCommand4=new CDeleteCommand("obj4");

                CCommandManager manager;
                manager.Do(pCommand1);
                manager.Do(pCommand2);
                manager.Do(pCommand3);
                manager.Undo();
                manager.Undo();
                manager.Redo();
                manager.Undo();
                manager.Do(pCommand4);
                manager.Undo();
                manager.Redo();
            }

            執(zhí)行效果:

            >>>>>>>>>>>>命令管理器調(diào)度命令<<<<<<<<<<<<
            obj1 is deleted.
            obj2 is deleted.
            obj3 is deleted.
            obj3 is undeleted.
            obj2 is undeleted.
            obj2 is deleted.
            obj2 is undeleted.
            obj4 is deleted.
            obj4 is undeleted.
            obj4 is deleted.

            2、命令管理器管理命令管理器

            //命令管理器調(diào)度命令管理器
            void testCommandManagerArrangeCommandManager()
            {
                cout<<">>>>>>>>>>>>命令管理器調(diào)度命令管理 器<<<<<<<<<<<<"<<endl;
                CDeleteCommand *pCommand1=new CDeleteCommand("cm1--obj1");
                CDeleteCommand *pCommand2=new CDeleteCommand("cm1--obj2");
                CDeleteCommand *pCommand3=new CDeleteCommand("cm1--obj3");
                CDeleteCommand *pCommand4=new CDeleteCommand("cm2--obj1");
                CDeleteCommand *pCommand5=new CDeleteCommand("cm2--obj2");
                CDeleteCommand *pCommand6=new CDeleteCommand("cm2--obj3");
                CCommandManager cm1;
                CCommandManager cm2;
                CCommandManager cmMain;
                cm1.SetParentCommandManager(&cmMain);
                cm2.SetParentCommandManager(&cmMain);
                cm1.Do(pCommand1);
                cm2.Do(pCommand4);
                cm1.Do(pCommand2);
                cm2.Do(pCommand5);
                cm1.Do(pCommand3);
                cm2.Do(pCommand6);
                cmMain.Undo();
                cmMain.Undo();
                cmMain.Undo();
                cmMain.Redo();
                cmMain.Undo();

            }

            執(zhí)行效果:

            >>>>>>>>>>>>命令管理器調(diào)度命令管理器<<<<<<<<<<<<
            cm1--obj1 is deleted.
            cm2--obj1 is deleted.
            cm1--obj2 is deleted.
            cm2--obj2 is deleted.
            cm1--obj3 is deleted.
            cm2--obj3 is deleted.
            cm2--obj3 is undeleted.
            cm1--obj3 is undeleted.
            cm2--obj2 is undeleted.
            cm2--obj2 is deleted.
            cm2--obj2 is undeleted.

            注意:

            1、確保命令的Execute和UnExecute是完全可逆的操作。

            2、要保障Execute和UnExecute的可逆性,特別要關(guān)注他們執(zhí)行的環(huán)境(比如繪圖的時(shí)候,這些操作要有同樣的尺寸標(biāo)準(zhǔn),否則很難實(shí)現(xiàn)互逆的操作)。

            3、注意不要插入空命令。

            代碼

            posted on 2008-03-16 23:23 littlegai 閱讀(1236) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 我的代碼玩具
            久久中文字幕一区二区| 日本精品一区二区久久久| 久久精品人人槡人妻人人玩AV| AV色综合久久天堂AV色综合在| 精品久久久久久99人妻| 久久久无码精品亚洲日韩蜜臀浪潮| 久久综合狠狠综合久久综合88| 久久伊人五月天论坛| 亚洲一区二区三区日本久久九| 亚洲国产精品无码久久久不卡 | 亚洲午夜久久久影院伊人| 久久精品国产亚洲麻豆| 日韩乱码人妻无码中文字幕久久 | 国产精久久一区二区三区| 日产精品久久久久久久| 久久久久综合国产欧美一区二区| 伊人久久综合无码成人网| 久久久久黑人强伦姧人妻| 国内精品久久久久久中文字幕| 亚洲精品乱码久久久久久按摩| 久久这里只精品99re66| 久久强奷乱码老熟女| 久久综合狠狠综合久久激情 | 国产麻豆精品久久一二三| 午夜精品久久久久| 天天综合久久一二三区| 人妻丰满?V无码久久不卡| 色婷婷噜噜久久国产精品12p| 久久精品三级视频| 久久精品国产只有精品66| 久久激情亚洲精品无码?V| 青青草原1769久久免费播放| 精品午夜久久福利大片| 草草久久久无码国产专区| 国产精品免费久久| 欧美久久一区二区三区| 久久久久国产精品人妻| 久久夜色精品国产噜噜噜亚洲AV | 久久精品国内一区二区三区| 久久99毛片免费观看不卡| 国产精品免费久久久久影院|