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

天下

記錄修行的印記

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++設計模式

<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

常用鏈接

留言簿(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>
            午夜亚洲影视| 免费不卡在线观看| 国产精品美女| 亚洲一区二区三区四区视频 | 一区二区亚洲精品国产| 久久香蕉国产线看观看av| 欧美主播一区二区三区| 在线观看成人av| 亚洲国产精品黑人久久久| 欧美成人久久| 亚洲永久精品大片| 亚洲欧美一区二区三区在线| 国产欧美精品va在线观看| 久久久久一区二区三区| 麻豆亚洲精品| 亚洲欧美日韩人成在线播放| 小处雏高清一区二区三区 | 欧美三级在线播放| 欧美在线一二三区| 久久一二三区| 正在播放亚洲| 久久久国产精品一区| 亚洲精品欧美| 欧美一区二区在线免费观看| 91久久国产综合久久蜜月精品| 亚洲精品视频在线看| 国产一区久久| 99精品欧美| 亚洲电影下载| 亚洲欧洲99久久| 亚洲人成毛片在线播放女女| 亚洲一级二级| 91久久精品日日躁夜夜躁国产| 亚洲视频第一页| 亚洲国产美女| 欧美一区二区啪啪| 亚洲视频在线一区| 欧美v日韩v国产v| 欧美在线免费播放| 欧美日本乱大交xxxxx| 久久综合网hezyo| 国产精品久久中文| 亚洲全黄一级网站| …久久精品99久久香蕉国产| 亚洲天堂av在线免费| 日韩一本二本av| 久久精品中文| 欧美一区二区免费| 欧美视频四区| 日韩视频永久免费观看| 亚洲精品黄网在线观看| 久久久久久婷| 久久在线免费视频| 国产一区二区三区丝袜| 亚洲一区二区网站| 亚洲综合好骚| 国产精品乱码久久久久久| 亚洲国产91| 亚洲人久久久| 欧美**字幕| 欧美激情视频免费观看| 亚洲国产日本| 欧美1区视频| 91久久在线视频| 亚洲美女淫视频| 欧美日韩国产精品自在自线| 欧美福利电影网| 亚洲欧洲精品一区二区| 蜜桃视频一区| 欧美激情第4页| 亚洲精品一区中文| 欧美人与性动交α欧美精品济南到 | 欧美日韩午夜在线视频| 亚洲精品一区二区在线| 亚洲精品在线视频| 欧美精品日日鲁夜夜添| 亚洲精品国产无天堂网2021| 亚洲精品国产精品国产自| 欧美激情第10页| 亚洲精品一区在线| 亚洲一区二区三区免费视频| 国产精品乱子久久久久| 亚洲欧美综合| 美女久久一区| 一本大道久久精品懂色aⅴ| 欧美日韩亚洲一区二区三区四区 | 欧美综合第一页| 激情亚洲成人| 欧美第十八页| 亚洲午夜91| 久久偷窥视频| 亚洲精品乱码久久久久久| 欧美久久视频| 性欧美1819sex性高清| 久久一区二区三区国产精品| 亚洲国产另类精品专区| 欧美日韩国产高清视频| 亚洲综合999| 女人天堂亚洲aⅴ在线观看| 一本久久综合| 国产精品欧美经典| 狂野欧美激情性xxxx| 一区二区电影免费观看| 久久久久久成人| 99伊人成综合| 狠狠色综合日日| 欧美日韩午夜| 久久精品国产亚洲高清剧情介绍| 亚洲国产欧美精品| 午夜激情一区| 亚洲精品欧美一区二区三区| 国产老肥熟一区二区三区| 噜噜噜在线观看免费视频日韩| 亚洲伦理久久| 久久综合伊人77777麻豆| 亚洲一区影音先锋| 亚洲国产欧美在线人成| 国产欧美婷婷中文| 欧美日本在线| 久久久www成人免费无遮挡大片| 日韩网站在线观看| 欧美岛国在线观看| 久久另类ts人妖一区二区| 亚洲主播在线播放| 亚洲美女免费精品视频在线观看| 红桃视频一区| 国产欧美一区二区三区在线老狼| 欧美日韩国产免费| 欧美成人午夜免费视在线看片| 久久高清一区| 欧美伊人精品成人久久综合97| 日韩一区二区久久| 亚洲国产精品va在看黑人| 久久一区二区三区国产精品| 欧美在线亚洲在线| 性欧美暴力猛交另类hd| 亚洲欧美视频在线| 亚洲自拍三区| 午夜精品福利一区二区三区av | 午夜视频精品| 亚洲欧美文学| 亚洲欧美日韩在线不卡| 日韩亚洲欧美成人一区| 亚洲激情国产精品| 亚洲国产成人久久综合| 永久免费视频成人| 亚洲电影免费在线| 亚洲第一久久影院| 亚洲精品久久久久久久久久久久 | 国产乱码精品1区2区3区| 国产精品va| 国产麻豆精品theporn| 国产精品久久久久婷婷| 国产精品久久久久高潮| 国产精品福利在线| 国产日韩欧美精品在线| 国产视频精品xxxx| 伊人久久综合97精品| 在线观看三级视频欧美| 欧美激情一区二区| 欧美专区亚洲专区| 欧美制服丝袜| 老司机久久99久久精品播放免费| 久久九九99视频| 欧美mv日韩mv国产网站app| 欧美国产一区二区| 国产精品超碰97尤物18| 国产伦精品一区二区三区| 国产一区二区激情| 亚洲激情在线激情| 一区二区三区日韩| 欧美亚洲一区二区在线| 蜜臀久久99精品久久久画质超高清 | 国产九九精品视频| 亚洲电影免费在线观看| 中日韩高清电影网| 久久久久在线观看| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产精品成人综合| 一本色道**综合亚洲精品蜜桃冫| 亚洲欧美日本视频在线观看| 久久夜色精品国产欧美乱极品| 欧美国产日韩视频| 国产欧美 在线欧美| 亚洲国产视频一区| 亚洲欧美日韩直播| 亚洲二区精品| 欧美一区深夜视频| 欧美日韩亚洲不卡| 精品不卡在线| 性做久久久久久| 亚洲精品欧美| 香港成人在线视频| 欧美理论电影在线播放| 伊人久久大香线蕉av超碰演员| 一区二区三区免费网站| 欧美成人综合在线| 亚洲欧美日韩视频二区| 欧美日韩精品一区二区三区四区| 激情五月婷婷综合|