cityselectiondialog.hpp

来自「一个基于BREW上的电子时钟程序,通过太阳历计算当前时间,并有闹铃和日志功能.」· HPP 代码 · 共 61 行

HPP
61
字号
//
//      CitySelectionDialog.hpp
//
//      Copyright (C) 2006 Sophia Cradle Incorporated

#ifndef __CITYSELECTIONDIALOG_HPP
#define __CITYSELECTIONDIALOG_HPP

#include <SophiaFramework.hpp>
#include "SGRListboxControl.hpp"
#include "CityAdditionDialog.hpp"

SFMTYPEDEFCLASS(CitySelectionDialog)
class CitySelectionDialog : public SFRTitleWindow
{
SFMSEALCOPY(CitySelectionDialog)
private:
	SGRListboxControlPtr _listBox;
	CityAdditionDialogPtr _additionDialog;
	SFRMessageDialogPtr _gpsDialog;
	SFRBrewTextControlPtr _invalidTextControl;
	SFXRectangle _textRect;
	SFXRectangle _listBoxRect;
	SFBPosDetSmp _posDet;
	AEEGPSInfo _gpsInfo;
	AEECallback _gpsCallback;

public:
	CitySelectionDialog(Void) static_throws;
	virtual ~CitySelectionDialog(Void);
	SInt32 GetSelect(Void) const;
private:
	static Void OnGPSNotifySPP(VoidPtr data);
	Void OnGPS(Bool valid);
	HANDLER_DECLARE_VOIDRENDER(CitySelectionDialog, OnContent)
	HANDLER_DECLARE_VOIDEVENT(CitySelectionDialog, OnSoftkey)
	HANDLER_DECLARE_VOIDEVENT(CitySelectionDialog, OnAdditionDialogSoftKey)
	HANDLER_DECLARE_VOIDDIALOG(CitySelectionDialog, OnErrorDialog)
	HANDLER_DECLARE_VOIDDIALOG(CitySelectionDialog, OnRemoveErrorDialog)
	HANDLER_DECLARE_VOIDDIALOG(CitySelectionDialog, OnRemoveDialog)
	HANDLER_DECLARE_BOOLEVENT(CitySelectionDialog, OnNoButtonDialogKey)
	HANDLER_DECLARE_VOIDEVENT(CitySelectionDialog, OnNoButtonDialogSoftkey)
	HANDLER_DECLARE_VOIDRESUME(CitySelectionDialog, OnResume)
	HANDLER_DECLARE_VOIDSUSPEND(CitySelectionDialog, OnSuspend)
};

inline SInt32 CitySelectionDialog::GetSelect(Void) const
{
	return _listBox ? static_cast<SInt32>(_listBox->GetSelect()) : 0;
}

inline Void CitySelectionDialog::OnGPSNotifySPP(VoidPtr data)
{
	CitySelectionDialogPtr p(static_cast<CitySelectionDialogPtr>(data));

	p->_posDet.Release();
	p->OnGPS(true);
}

#endif

⌨️ 快捷键说明

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