Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / 2 / lab.02.by mice / dormouse / src / main / dormouse

.cpp
Скачиваний:
10
Добавлен:
17.04.2013
Размер:
2.07 Кб
Скачать
/*******************************************************************************
* file:         dormouse.cpp                                                   *
* version:      0.1.0                                                          *
* author:       d-evil [tmd] (mailto:d-evil.tmd@mail.ru)                       *
* description:  dormouse main file                                             *
*******************************************************************************/

////////////////////////////////////////////////////////////////////////////////
// headers
#include "resource.h"
#include <afxwin.h>
#include <afx.h>
#include <dm_core.h>
#include <dm_ui.h>



////////////////////////////////////////////////////////////////////////////////
// cdm_application declaration
class cdm_application: public CWinApp {
public:
	cdm_application();
	~cdm_application();

	virtual BOOL InitInstance();

protected:
private:
	dm_core::cdm_core *_core;
	dm_ui::cdm_ui *_ui;

	HICON _hicon;
};



////////////////////////////////////////////////////////////////////////////////
// global variables
cdm_application dm_application;



////////////////////////////////////////////////////////////////////////////////
// cdm_application public definition
cdm_application::cdm_application() {
	_core = new dm_core::cdm_core;
	_ui = new dm_ui::cdm_ui;
}


cdm_application::~cdm_application() {
	delete _ui;
	delete _core;
}


BOOL cdm_application::InitInstance() {
	srand(GetTickCount());
	if (0 != _core->init()) {
		MessageBox(NULL, "Can't initialize core. Terminating execution.",
			"Dormouse error", MB_OK|MB_APPLMODAL|MB_ICONERROR);
		return FALSE;
	}

	_hicon = LoadIcon(IDI_DMICON);
	if (0 != _ui->set_core(_core)) {
		MessageBox(NULL, "Can't connect ui to core. Terminating execution.",
			"Dormouse error", MB_OK|MB_APPLMODAL|MB_ICONERROR);
		return FALSE;
	}
	_ui->set_icon(_hicon);

	_core->attach_ui(_ui);
	_core->run();

	_ui->run();

	// _core->quit();

	return TRUE;
}
Соседние файлы в папке main