1//
2// This file is part of the aMule Project.
3//
4// Copyright (c) 2003-2011 aMule Team ( admin@amule.org / http://www.amule.org )
5// Copyright (c) 2002-2011 Merkur ( devs@emule-project.net / http://www.emule-project.net )
6//
7// Any parts of this program derived from the xMule, lMule or eMule project,
8// or contributed by third-party developers are copyrighted by their
9// respective authors.
10//
11// This program is free software; you can redistribute it and/or modify
12// it under the terms of the GNU General Public License as published by
13// the Free Software Foundation; either version 2 of the License, or
14// (at your option) any later version.
15//
16// This program is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program; if not, write to the Free Software
23// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
24//
25
26#ifndef CLIENTDETAILDIALOG_H
27#define CLIENTDETAILDIALOG_H
28
29#include <wx/dialog.h>		// Needed for wxDialog
30
31#include "ClientRef.h"		// Needed for CClientRef
32
33/**
34 * The ClientDetailDialog class is responsible for showing the info about a client.
35 *
36 * It shows all releavant data about the client: ip, port, hash, name, client
37 * type and version, uploading/downloading data, credits, server... etc
38 *
39 * It's  wxDialog, modal, with return value always '0'.
40 *
41 */
42
43class CClientDetailDialog : public wxDialog
44{
45public:
46	/**
47	 * Constructor.
48	 *
49	 * @param parent The window that created the dialog.
50	 * @param client The client whose details we're showing.
51	 */
52	CClientDetailDialog(wxWindow*parent, const CClientRef& client);
53
54	/**
55	 * Destructor.
56	 *
57	 * Does nothing currently.
58	 */
59	virtual ~CClientDetailDialog();
60
61protected:
62
63	/**
64	 * Creates all the data objects in the dialog, filling them accordingly.
65	 *
66	 * Called when the dialog object is created.
67	 */
68	virtual bool OnInitDialog();
69
70	/**
71	 * Ends the dialog, calling EndModal with return value 0
72	 *
73	 * @param evt The close event, unused right now
74	 */
75	void OnBnClose(wxCommandEvent& evt);
76
77	DECLARE_EVENT_TABLE()
78
79private:
80
81	//! The client whose data is drawn
82	CClientRef m_client;
83};
84#endif // CLIENTDETAILDIALOG_H
85// File_checked_for_headers
86