1 /***************************************************************************
2                           certtree.h  -  description
3                              -------------------
4     begin                : Sun Jun 23 2002
5     copyright            : (C) 2002 by ARRL
6     author               : Jon Bloom
7     email                : jbloom@arrl.org
8     revision             : $Id$
9  ***************************************************************************/
10 
11 #ifndef __certtree_h
12 #define __certtree_h
13 
14 #ifdef HAVE_CONFIG_H
15 #include "sysconfig.h"
16 #endif
17 
18 #include "wx/wxprec.h"
19 
20 #ifdef __BORLANDC__
21 	#pragma hdrstop
22 #endif
23 
24 #ifndef WX_PRECOMP
25 	#include "wx/wx.h"
26 #endif
27 
28 #include "tqsllib.h"
29 
30 #include "wx/treectrl.h"
31 
32 class CertTreeItemData : public wxTreeItemData {
33  public:
CertTreeItemData(tQSL_Cert cert)34 	explicit CertTreeItemData(tQSL_Cert cert) : _cert(cert) {}
35 	~CertTreeItemData();
getCert()36 	tQSL_Cert getCert() { return _cert; }
37 
38  private:
39 	tQSL_Cert _cert;
40 };
41 
42 class CertTree : public wxTreeCtrl {
43  public:
44 	CertTree(wxWindow *parent, const wxWindowID id, const wxPoint& pos,
45 		const wxSize& size, long style);
46 	virtual ~CertTree();
47 	int Build(int flags = TQSL_SELECT_CERT_WITHKEYS, const TQSL_PROVIDER *provider = 0);
48 	void OnItemActivated(wxTreeEvent& event);
49 	void OnRightDown(wxMouseEvent& event);
50 	bool useContextMenu;
GetItemData(wxTreeItemId id)51 	CertTreeItemData *GetItemData(wxTreeItemId id) { return reinterpret_cast<CertTreeItemData *>(wxTreeCtrl::GetItemData(id)); }
GetNumCerts()52 	int GetNumCerts() const { return _ncerts; }
GetNumIssuers()53 	int GetNumIssuers() const { return _nissuers; }
54 	void SelectCert(tQSL_Cert cert);
55 
56  private:
57         tQSL_Cert *_certs;
58 	int _ncerts;
59 	int _nissuers;
60 	DECLARE_EVENT_TABLE()
61 };
62 
63 #endif	// __certtree_h
64