lib: Adding explicit default constructor for JLDirectoryEntry.
[barry.git] / desktop / src / ContactPhotoWidget.h
blob265c463a1aab00d303ee93dc1ae5c5689fec0840
1 ///
2 /// \file ContactPhotoWidget.h
3 /// Bitmap button that shows a Contact::Image photo
4 ///
6 /*
7 Copyright (C) 2011-2012, Net Direct Inc. (http://www.netdirect.ca/)
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU General Public License in the COPYING file at the
19 root directory of this project for more details.
22 #ifndef __BARRYDESKTOP_CONTACT_PHOTO_WIDGET_H__
23 #define __BARRYDESKTOP_CONTACT_PHOTO_WIDGET_H__
25 #include <wx/wx.h>
26 #include <memory>
28 namespace Barry {
29 class Contact;
32 class ContactPhotoWidget : public wxBitmapButton
34 Barry::Contact &m_rec;
35 std::auto_ptr<wxBitmap> m_bitmap;
36 wxString m_file_filter;
38 protected:
39 int LoadRecImage(int max_height);
41 public:
42 ContactPhotoWidget(wxWindow *parent, wxWindowID id,
43 Barry::Contact &rec);
45 /// Lets user save current Photo to a JPG file
46 void PromptAndSave(wxWindow *parent);
47 /// Lets user replace current Photo with an image file
48 bool PromptAndLoad(wxWindow *parent);
49 void DeletePhoto();
51 static void DrawNoPhoto(wxBitmap &bm, int width, int height);
54 #endif