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 
43 class CClientDetailDialog : public wxDialog
44 {
45 public:
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 
61 protected:
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 
79 private:
80 
81 	//! The client whose data is drawn
82 	CClientRef m_client;
83 };
84 #endif // CLIENTDETAILDIALOG_H
85 // File_checked_for_headers
86