青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天下

記錄修行的印記

C++ 設計模式之(觀察者模式)

//UiBase.h
#pragma once
#include <list>

namespace dui
{
    using std::list;
    struct Event
    {
        int        type;
        void*    sender;
        int        argl;
        char*    argu;
    };
    class IControl{
    public:
        virtual bool OnCreate(Event* _event)=0;
        //virtual bool OnPaint(Event* _event)=0;
    };

    typedef bool (IControl::*EVENT_PROC)(Event*);

    class EventManager
    {  
    public:  
        bool Notify(EVENT_PROC method,Event* _event);
        void AddNotifier(IControl* control);
        void RemoveNotifier(IControl* control);
    public:
        list<IControl*> m_ctrls;
    };  

     


    class Button:public IControl  
    {  
    public:  
        virtual bool OnCreate(Event* _event);
        //virtual bool OnPaint(Event* _event);
    }; 
    class Edit:public IControl  
    {  
    public:  
        virtual bool OnCreate(Event* _event);
        //virtual bool OnPaint(Event* _event);
    }; 



}


//UiBase.cpp
#include "stdafx.h"
#include "UiBase.h" 

using namespace dui;

void EventManager::AddNotifier(IControl* control)
{
    m_ctrls.push_back(control);
}
void EventManager::RemoveNotifier(IControl* control)
{
    list<IControl*>::iterator iter;
    for(iter = m_ctrls.begin();iter!=m_ctrls.end();)
    {
        if ( *iter == control){
            iter = m_ctrls.erase(iter);
        }
        else{
            iter++;
        }
    }
}
bool EventManager::Notify(EVENT_PROC method,Event* _event)
{
    printf("\r\n\r\nEventManager::Notify() Entry\r\n--------------------------------------\r\n");
    list<IControl*>::iterator iter;
    for(iter = m_ctrls.begin();iter!=m_ctrls.end();iter++)
    {
        (*iter->*method)(_event);
        //if (!(*iter->*method)(_event))
        
//    return false;
    }
    return true;
}  

bool Button::OnCreate(Event* _event){  
    printf("Button OnCreate() Entry,event.type=%d \r\n",_event->type);
    return true;


bool Edit::OnCreate(Event* _event){  
    printf("Edit OnCreate() Entry,event.type=%d \r\n",_event->type);
    return true;
}  

//Main.cpp

#include "stdafx.h"

#include "UiBase.h"  

int _tmain()
{  
    using namespace dui;

    Event _event;
    _event.type = 0x1001;

    EventManager event_manager;

    Button* btn = new Button();
    event_manager.AddNotifier(btn);

    Edit* edit = new Edit();
    event_manager.AddNotifier(edit);

    event_manager.Notify(&IControl::OnCreate,&_event);

    
    event_manager.RemoveNotifier(btn);
    event_manager.Notify(&IControl::OnCreate,&_event);
    system("pause");  
    return 0;  

posted on 2016-01-11 16:34 天下 閱讀(605) 評論(0)  編輯 收藏 引用 所屬分類: C/C++C++設計模式

<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

導航

統計

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品爽黄69| 激情亚洲网站| 亚洲美女av网站| 亚洲高清视频在线观看| 蜜桃av久久久亚洲精品| 在线欧美亚洲| 日韩一级片网址| 国产精品一区二区在线观看不卡| 香蕉久久夜色| 久久狠狠亚洲综合| 亚洲电影免费观看高清完整版在线观看 | 欧美日韩视频在线观看一区二区三区 | 国产精品美女一区二区在线观看| 亚洲性色视频| 久久精品99国产精品酒店日本| 亚洲大片av| 亚洲精品欧美日韩专区| 国产精品日韩一区二区| 久久九九国产| 欧美激情欧美狂野欧美精品| 亚洲一区尤物| 久久综合色播五月| 亚洲免费网址| 久久亚洲不卡| 亚洲欧美日韩中文播放| 久久黄色小说| 亚洲综合国产激情另类一区| 久久久夜夜夜| 午夜精品久久久久久久久| 久久精品夜色噜噜亚洲a∨| 亚洲最新在线| 久久综合伊人| 欧美亚洲综合网| 欧美另类人妖| 免费成年人欧美视频| 国产精品久久9| 亚洲高清免费| 黑人操亚洲美女惩罚| 一本色道久久综合亚洲二区三区| 精品动漫3d一区二区三区| 一区二区三区欧美日韩| 亚洲精选一区| 久久婷婷国产综合国色天香| 亚洲男人的天堂在线| 欧美成人精品在线观看| 久久日韩精品| 国产精品视频网址| 夜夜精品视频一区二区| 亚洲国产精品久久久久婷婷884| 亚洲影院污污.| 亚洲一区二区动漫| 欧美精品v日韩精品v国产精品| 欧美 日韩 国产 一区| 国内精品久久久久久影视8 | 亚洲深夜福利视频| 99国产一区二区三精品乱码| 美女视频黄a大片欧美| 久久久国产一区二区| 国产精品夜夜嗨| 亚洲砖区区免费| 午夜日韩电影| 国产精品视频免费一区| 亚洲欧美另类国产| 久久成人精品无人区| 国产精品乱码妇女bbbb| 一区二区三区四区五区视频 | 99精品欧美一区二区三区| 欧美成人精精品一区二区频| 欧美高清日韩| 日韩午夜黄色| 欧美日韩情趣电影| 亚洲无人区一区| 欧美一区二区在线视频| 国产日韩综合| 久久久久久久久久久久久久一区 | 久久久久久久一区二区三区| 国产欧美一区二区三区在线看蜜臀 | 亚洲香蕉视频| 国产欧美日韩视频一区二区三区| 午夜精品一区二区三区在线播放| 久久男女视频| 91久久极品少妇xxxxⅹ软件| 欧美精品免费视频| 99视频一区| 久久久久久久久久久成人| 黄色小说综合网站| 欧美激情一级片一区二区| av72成人在线| 久久久久国色av免费看影院 | 欧美日韩视频| 午夜亚洲性色福利视频| 欧美不卡视频一区发布| 亚洲一区二区三区777| 国产日韩av在线播放| 狼狼综合久久久久综合网| 亚洲国产精品久久久久秋霞影院 | 亚洲精品综合精品自拍| 午夜精品一区二区三区在线视 | 国产精品专区一| 久久精品亚洲精品国产欧美kt∨| 亚洲电影av在线| 欧美一区二区三区四区在线观看| 激情91久久| 欧美网站大全在线观看| 久久久久成人精品| 99视频精品全国免费| 久久亚洲免费| 亚洲免费在线观看| 亚洲国产精品久久久久秋霞蜜臀| 国产精品r级在线| 久久综合99re88久久爱| 亚洲一区二区免费视频| 亚洲人成绝费网站色www| 久久久99免费视频| 亚洲一区免费观看| 在线看不卡av| 国产日韩在线看| 国产精品久久久久aaaa| 欧美电影电视剧在线观看| 午夜精品视频网站| av成人免费在线| 亚洲国产成人不卡| 欧美成人中文字幕| 久久深夜福利免费观看| 亚洲欧洲av一区二区| 宅男噜噜噜66一区二区| 91久久精品一区二区别| 极品中文字幕一区| 国产女主播一区二区| 欧美午夜不卡视频| 欧美欧美全黄| 欧美国产精品专区| 欧美激情国产日韩| 牛牛影视久久网| 蜜桃av综合| 欧美高清成人| 欧美国产精品久久| 欧美精品乱码久久久久久按摩| 女人色偷偷aa久久天堂| 久久视频免费观看| 久久这里有精品15一区二区三区| 久久国产福利| 久久九九99视频| 久久久久一区二区三区四区| 欧美亚洲视频在线观看| 亚洲欧美精品suv| 久久er99精品| 久久久久久久久岛国免费| 久久久久国产精品一区三寸| 久久综合久久综合九色| 美女视频黄免费的久久| 欧美激情亚洲国产| 欧美三级韩国三级日本三斤| 国产精品国产福利国产秒拍| 欧美亚州韩日在线看免费版国语版| 欧美性jizz18性欧美| 国产精品日韩精品欧美精品| 国产日韩高清一区二区三区在线| 国产一级揄自揄精品视频| 1000部国产精品成人观看 | 欧美系列精品| 国产欧美日本| 亚洲国产精品成人综合| 亚洲高清在线观看一区| 一本一道久久综合狠狠老精东影业| 亚洲图片自拍偷拍| 久久狠狠婷婷| 亚洲国产老妈| 亚洲一区区二区| 久久国产毛片| 欧美久色视频| 国产一区二区看久久| 亚洲精品三级| 欧美一区二区三区精品| 免费在线成人av| 亚洲一区3d动漫同人无遮挡| 久久久久久欧美| 欧美三级电影一区| 悠悠资源网久久精品| 亚洲男人的天堂在线| 欧美v日韩v国产v| 亚洲尤物在线视频观看| 毛片av中文字幕一区二区| 国产精品久久久久久久久免费樱桃 | 久久精品国产久精国产爱| 欧美片网站免费| 精品动漫一区| 亚洲欧美日韩人成在线播放| 欧美激情一区二区久久久| 亚洲欧美三级伦理| 欧美日本国产在线| 亚洲国产精品一区二区www| 亚洲欧美综合| 亚洲精品日韩激情在线电影| 久久精品日韩一区二区三区| 国产精品福利av| 99综合电影在线视频| 欧美成人伊人久久综合网| 欧美一区二区在线免费观看| 国产精品成人v|