#pragma once

#include "otherfunctions.h"
#include "ListBoxST.h"
//dlarge ModelessDialogs
//#include "TreePropSheet.h"
#include "EMF/ModelessDialogs/Modeless.h"
//dlarge end
#include "PPgGeneral.h"
#include "PPgConnection.h"
#include "PPgServer.h"
#include "PPgDirectories.h"
#include "PPgFiles.h"
#include "PPgStats.h"
#include "PPgNotify.h"
#include "PPgTweaks.h"
#include "PPgDisplay.h"
#include "PPgSecurity.h"
#include "PPgWebServer.h"
#include "PPgScheduler.h"
#include "PPgProxy.h"
#include "PPgMessages.h"

//dlarge Mod Pages
#include "./EMF/PPGs/PPgeMuleFuture.h"	//Tweaks 1
#include "./EMF/PPGs/PPgTweaks2.h"           //dlarge Tweaks 2
#include "./EMF/PPGs/PPG_X_General.h"        //dlarge Tweaks 3
#include "./EMF/PPGs/PPgHiddenprefs.h"       // dlarge Hiden Prefs
#include "./EMF/PPGs/PPgBackup.h"            //dlarge Backup
#include "./EMF/PPGs/PPgVS.h"                //dlarge Virus Scan
#include "EMF/Argos/PPgArgos.h"        //dlarge Argos
#include "./EMF/PPGs/PPgUpdates.h"		//>>> shadow2004::Updates-Prefspage
#include "EMF/Slidebar/SlideBar.h"		//>>> WiZaRd::SlideBar [eMule+]
#include "EMF/Sidebanner/KCSideBannerWnd.h"	//>>> Spike2::Prefs Side Banner [TPT]
//dlarge end

#if defined(_DEBUG) || defined(USE_DEBUG_DEVICE)
#include "PPgDebug.h"
#endif


//>>> WiZaRd::SlideBar [eMule+]
#define IDC_PREFS_SLIDEBAR	111	//note: this *should* be unique!
#define PREF_PARENT_CLASS	CPropertySheet
//<<< WiZaRd::SlideBar [eMule+]

enum enumPrefencesItems
{
	PW_GENERAL = 0,	
	PW_DISPLAY,
	PW_CONNECTION,
	PW_SERVER,
	PW_DIRECTORY,
	PW_FILES,
	PW_PROXY,
	PW_NOTIFY,
	PW_STATISTIC,
	PW_MESSAGES,
	PW_SECURITY,
	PW_SCHEDULER,
	PW_WEB,
	PW_TWEAKS,
	PW_HIDDENPREFS, //dlarge Hidden Prefs
#if defined(_DEBUG) || defined(USE_DEBUG_DEVICE)
	PW_DEBUG,
#endif

//dlarge Mod Pages
	PW_EMULEFUTURE,
        PW_TWEAKS2,
        PW_X_GENERAL,
        PW_VS,
	PW_ARGOS, 
	PW_UPDATES
//dlarge end
};


//dlarge ModelessDialogs
//class CPreferencesDlg : public CTreePropSheet
class CPreferencesDlg : public CModPropertySheet
//dlarge end
{
	DECLARE_DYNAMIC(CPreferencesDlg)

public:
	CPreferencesDlg();
	virtual ~CPreferencesDlg();
	
	CPPgGeneral		m_wndGeneral;
	CPPgConnection	m_wndConnection;
	CPPgServer		m_wndServer;
	CPPgDirectories	m_wndDirectories;
	CPPgFiles		m_wndFiles;
	CPPgStats		m_wndStats;
	CPPgNotify		m_wndNotify;
	CPPgTweaks		m_wndTweaks;
        CPPgHiddenprefs	 m_wndHiddenprefs;       //dlarge Hidden Prefs
	CPPgDisplay		m_wndDisplay;
	CPPgSecurity	m_wndSecurity;
	CPPgWebServer	m_wndWebServer;
	CPPgScheduler	m_wndScheduler;
	CPPgProxy		m_wndProxy;
	CPPgMessages	m_wndMessages;
#if defined(_DEBUG) || defined(USE_DEBUG_DEVICE)
	CPPgDebug		m_wndDebug;
#endif

//dlarge Mod Pages
	CPPgeMuleFuture	m_wndeMuleFuture;	//Tweaks 1
	CPPgTweaks2	m_wndTweaks2;           //dlarge Tweaks 2
	CPPg_X_General	m_wndX_General;         //dlarge Tweaks 3
        CPPgBackup	m_wndBackup;            //dlarge Backup
        CPPgVS          m_wndVS;                //dlarge Virus Scan
	CPPgArgos	m_wndArgos;
	CPPgUpdates	m_wndUpdates;		//>>> shadow2004::Updates-Prefspage
//dlarge end

//>>> WiZaRd::SlideBar [eMule+]
	CImageList		m_ImageList;
	CSlideBar		m_SlideBar;
//<<< WiZaRd::SlideBar [eMule+]

	void Localize();

protected:
	INT m_nActiveWnd;
	bool m_bSaveIniFile;

	virtual BOOL OnInitDialog();

	DECLARE_MESSAGE_MAP()
	afx_msg void OnDestroy();
	afx_msg LRESULT	OnSlideBarSelChanged(WPARAM wParam, LPARAM lParam); //>>> WiZaRd::SlideBar [eMule+]

	CKCSideBannerWnd m_banner; //Spike2::Prefs Side Banner [TPT]
};
