⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 presentermediator.cpp

📁 MVP设计模式在vc下的构件
💻 CPP
字号:
// PresenterMediator.cpp: implementation of the CPresenterMediator class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "..\ImFusionS.h"
#include "..\MVP h\PresenterMediator.h"
#include "..\MVP h\MVP.h"
//#include "ChjPresenter.h"
#include "..\MVP h\ImTreePresenter.h"
#include "..\MVP h\ImReadShowPresenter.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CPresenterMediator::CPresenterMediator()
{

}

CPresenterMediator::~CPresenterMediator()
{

}

void CPresenterMediator::SetPresenter(CMVPPresenter *pPrenseter)
{
	switch(pPrenseter->m_PID)
	{
	case MVP_PRESENTER_CHJ:
		m_PImReadShowPresenter=(CImReadShowPresenter*)pPrenseter;
		break;
	case MVP_PRESENTER_IMTREE:
		m_PImTreePresenter=(CImTreePresenter*)pPrenseter;
		break;
	}
	return;
}

void CPresenterMediator::PresenterChanged(CMVPPresenter *pPrenseter,int ChangedID,LPVOID LPdat)
{
	//LPdat存着CImgPool指针对象
	switch(pPrenseter->m_PID)
	{
	//ImShowView
	case MVP_PRESENTER_CHJ:
		switch (ChangedID)
		{
		case MVP_CHANGED_FILEOPEN:
			m_PImTreePresenter->OnEvent(MVP_EVENT_ADDITEM,LPdat);
			break;
		case MVP_CHANGED_IMG_DISPOSE:
			m_PImTreePresenter->OnEvent(MVP_EVENT_ADDITEM,LPdat);
			break;
		case MVP_CHANGED_IMG_FUSION:
			m_PImTreePresenter->OnEvent(MVP_EVENT_ADDFUSIONITEM,LPdat);
			break;
		}
		break;

	//ImTree
	case MVP_PRESENTER_IMTREE:
		switch (ChangedID)
		{
		case MVP_CHANGED_SELCHANGED:
			m_PImReadShowPresenter->OnEvent(MVP_EVENT_SELCHANGED,LPdat);//该模块使用基类的OnEvent
			break;
		case MVP_CHANGED_TREE_DELETEALL:
			m_PImReadShowPresenter->OnEvent(MVP_CHANGED_TREE_DELETEALL,LPdat);
			break;
		case MVP_CHANGED_TREE_DELETE:
			m_PImReadShowPresenter->OnEvent(MVP_CHANGED_TREE_DELETE,LPdat);
			break;
		}
		break;
	}
}

void CPresenterMediator::MainFrmEvent(int EventID,LPVOID LPdat)
{
	switch(EventID)
	{
	case MVP_EVENT_FILEOPEN:
		m_PImReadShowPresenter->OnEvent(EventID,LPdat);//LPdat==NULL;
		break;
	case MVP_EVENT_TREE_DELETEALL:
		m_PImTreePresenter->OnEvent(EventID,LPdat);
		break;
	case MVP_EVENT_TREE_DELETE:
		m_PImTreePresenter->OnEvent(EventID,LPdat);
		break;
	case MVP_EVENT_IMG_DISPOSE:
		m_PImReadShowPresenter->OnEvent(EventID,LPdat);
		break;
	case MVP_EVENT_FUSION:
		m_PImReadShowPresenter->OnEvent(EventID,LPdat);
		break;
	case MVP_EVENT_SETSTANDARDIMG:
		m_PImReadShowPresenter->OnEvent(EventID,LPdat);
	case MVP_EVENT_COUNTCAPWITHSTA:
		m_PImReadShowPresenter->OnEvent(EventID,LPdat);
		break;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -