/*
UserinfoEx plugin for Miranda IM

Copyright:
� 2006-2010 DeathAxe, Yasnovidyashii, Merlin, K. Romanov, Kreol

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

#ifndef _UINFOEX_ICONS_H_INCLUDED_
#define _UINFOEX_ICONS_H_INCLUDED_ 1

// sections
#define SECT_COMMON				LPGEN("UserInfoEx")
#define SECT_ZODIAC				"UserInfoEx/Zodiacs"
#define SECT_DLG				"UserInfoEx/Dialogs"
#define SECT_BUTTONS			"UserInfoEx/Buttons"
#define SECT_TREE				"UserInfoEx/TreeView"
#define SECT_REMIND				"UserInfoEx/Reminder"

// icons
#define ICO_COMMON_IM			MODNAME"_common_im"
#define ICO_COMMON_FEMALE		MODNAME"_common_female"
#define ICO_COMMON_MALE			MODNAME"_common_male"
#define ICO_COMMON_BIRTHDAY		MODNAME"_common_birthday"
#define ICO_COMMON_ANNIVERSARY	MODNAME"_common_anniversary"
#define ICO_COMMON_CLOCK		MODNAME"_common_clock"
#define ICO_COMMON_MARITAL		MODNAME"_common_marital"
#define ICO_COMMON_PASSWORD		MODNAME"_common_password"
#define ICO_COMMON_ADDRESS		MODNAME"_common_address"
#define ICO_DLG_DETAILS			MODNAME"_dlg_details"
#define ICO_DLG_PHONE			MODNAME"_dlg_phone"
#define ICO_DLG_EMAIL			MODNAME"_dlg_email"
#define ICO_DLG_EXPORT			MODNAME"_dlg_export"
#define ICO_DLG_IMPORT			MODNAME"_dlg_import"
#define ICO_DLG_ANNIVERSARY		MODNAME"_dlg_anniversary"
#define ICO_DLG_SEARCH			MODNAME"_dlg_search"
#define ICO_LST_MODULES			MODNAME"_lst_modules"
#define ICO_LST_FOLDER			MODNAME"_lst_folder"
#define ICO_BTN_UPDATE			MODNAME"_btn_update"
#define ICO_BTN_OK				MODNAME"_btn_ok"
#define ICO_BTN_CANCEL			MODNAME"_btn_cancel"
#define ICO_BTN_APPLY			MODNAME"_btn_apply"
#define ICO_BTN_GOTO			MODNAME"_btn_goto"
#define ICO_BTN_ADD				MODNAME"_btn_add"
#define ICO_BTN_EDIT			MODNAME"_btn_edit"
#define ICO_BTN_DELETE			MODNAME"_btn_delete"
#define ICO_BTN_IMPORT			MODNAME"_btn_import"
#define ICO_BTN_EXPORT			MODNAME"_btn_export"
#define ICO_BTN_NOTES			MODNAME"_btn_notes"
#define ICO_BTN_ABOUT			MODNAME"_btn_about"
#define ICO_BTN_PROFILE			MODNAME"_btn_profile"
#define ICO_BTN_DOWNARROW		MODNAME"_btn_downarrow"
#define ICO_BTN_PHONE			MODNAME"_btn_phone"
#define ICO_BTN_FAX				MODNAME"_btn_fax"
#define ICO_BTN_CELLULAR		MODNAME"_btn_cellular"
#define ICO_BTN_CUSTOMPHONE		MODNAME"_btn_customphone"
#define ICO_BTN_EMAIL			MODNAME"_btn_email"
#define ICO_BTN_SEARCH			MODNAME"_btn_search"
#define ICO_BTN_EXIMPORT		MODNAME"_btn_eximport"
#define ICO_BTN_BDAY_BACKUP		MODNAME"_btn_bdaybackup"
#define ICO_BTN_YES				MODNAME"_btn_yes"
#define ICO_BTN_NO				MODNAME"_btn_no"
#define ICO_BTN_IGNORE			MODNAME"_btn_ignore"
#define ICO_ZOD_AQUARIUS		MODNAME"_zod_aquarius"
#define ICO_ZOD_ARIES			MODNAME"_zod_aries"
#define ICO_ZOD_CANCER			MODNAME"_zod_cancer"
#define ICO_ZOD_CAPRICORN		MODNAME"_zod_capricorn"
#define ICO_ZOD_GEMINI			MODNAME"_zod_gemini"
#define ICO_ZOD_LEO				MODNAME"_zod_leo"
#define ICO_ZOD_LIBRA			MODNAME"_zod_libra"
#define ICO_ZOD_PISCES			MODNAME"_zod_pisces"
#define ICO_ZOD_SAGITTARIUS		MODNAME"_zod_sagittarius"
#define ICO_ZOD_SCORPIO			MODNAME"_zod_scorpio"
#define ICO_ZOD_TAURUS			MODNAME"_zod_taurus"
#define ICO_ZOD_VIRGO			MODNAME"_zod_virgo"
#define ICO_ZOD_UNKNOWN			MODNAME"_zod_unknown"
#define ICO_TREE_DEFAULT		MODNAME"_tree_default"

#define ICO_RMD_DTB0			MODNAME"_rmd_dtb0"
#define ICO_RMD_DTB1			MODNAME"_rmd_dtb1"
#define ICO_RMD_DTB2			MODNAME"_rmd_dtb2"
#define ICO_RMD_DTB3			MODNAME"_rmd_dtb3"
#define ICO_RMD_DTB4			MODNAME"_rmd_dtb4"
#define ICO_RMD_DTB5			MODNAME"_rmd_dtb5"
#define ICO_RMD_DTB6			MODNAME"_rmd_dtb6"
#define ICO_RMD_DTB7			MODNAME"_rmd_dtb7"
#define ICO_RMD_DTB8			MODNAME"_rmd_dtb8"
#define ICO_RMD_DTB9			MODNAME"_rmd_dtb9"
#define ICO_RMD_DTBX			MODNAME"_rmd_dtbx"

#define ICO_RMD_DTA0			MODNAME"_rmd_dta0"
#define ICO_RMD_DTA1			MODNAME"_rmd_dta1"
#define ICO_RMD_DTA2			MODNAME"_rmd_dta2"
#define ICO_RMD_DTA3			MODNAME"_rmd_dta3"
#define ICO_RMD_DTA4			MODNAME"_rmd_dta4"
#define ICO_RMD_DTA5			MODNAME"_rmd_dta5"
#define ICO_RMD_DTA6			MODNAME"_rmd_dta6"
#define ICO_RMD_DTA7			MODNAME"_rmd_dta7"
#define ICO_RMD_DTA8			MODNAME"_rmd_dta8"
#define ICO_RMD_DTA9			MODNAME"_rmd_dta9"
#define ICO_RMD_DTAX			MODNAME"_rmd_dtax"

#define SET_ICONS_CHECKFILEVERSION		"CheckIconPackVersion"
#define SET_ICONS_BUTTONS				"ButtonIcons"

#define ICONINDEX(id)	max((min((id), IDI_LASTICON)) - IDI_FIRST_ICON, 0)

typedef struct TIconCtrl 
{
	LPCSTR	pszIcon;
	UINT	Message;
	WORD	idCtrl;
} ICONCTRL, *LPICONCTRL;

LPTSTR	IcoLib_GetDefaultIconFileName();
VOID	IcoLib_SetCtrlIcons(HWND hDlg, const ICONCTRL* pCtrl, BYTE numCtrls);

HANDLE IcoLib_RegisterIconHandle(LPSTR szName, LPSTR szDescription, LPSTR szSection, INT idIcon, INT Size);
HICON	IcoLib_RegisterIcon(LPSTR szName, LPSTR szDescription, LPSTR szSection, INT idIcon, INT Size);
HICON	IcoLib_GetIcon(LPCSTR pszIcon);
HICON	IcoLib_GetIconByHandle(HANDLE hIconItem);

VOID	IcoLib_LoadModule();

#endif /* _UINFOEX_ICONS_H_INCLUDED_ */