blob: ded98eaa6002f15499ef4b061478e39e090bd46d [file] [log] [blame]
Nicolas Jager7c409f32016-09-08 09:35:16 -04001#pragma once
2/**************************************************************************
3* Copyright (C) 2016 by Savoir-faire Linux *
4* Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> *
5* Author: Traczyk Andreas <traczyk.andreas@savoirfairelinux.com> *
6* *
7* This program is free software; you can redistribute it and/or modify *
8* it under the terms of the GNU General Public License as published by *
9* the Free Software Foundation; either version 3 of the License, or *
10* (at your option) any later version. *
11* *
12* This program is distributed in the hope that it will be useful, *
13* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15* GNU General Public License for more details. *
16* *
17* You should have received a copy of the GNU General Public License *
18* along with this program. If not, see <http://www.gnu.org/licenses/>. *
19**************************************************************************/
20using namespace Platform;
21using namespace Windows::Data::Json;
22using namespace Windows::UI::Xaml;
23using namespace Windows::UI::Xaml::Data;
24
25namespace RingClientUWP
26{
27namespace Controls {
28public ref class SmartPanelItem sealed : public INotifyPropertyChanged
29{
30public:
31 SmartPanelItem();
32
33 virtual event PropertyChangedEventHandler^ PropertyChanged;
Nicolas Jager7c409f32016-09-08 09:35:16 -040034 property Contact^ _contact;
Nicolas Jager083b3ae2016-10-04 08:46:19 -040035 /*property Call^ _call
Nicolas Jager7c409f32016-09-08 09:35:16 -040036 {
37 Call^ get()
38 {
39 return call_;
40 }
41 void set(Call^ value)
42 {
43 call_ = value;
44 PropertyChanged(this, ref new PropertyChangedEventArgs("_call"));
45 }
Nicolas Jager083b3ae2016-10-04 08:46:19 -040046 }*/
Nicolas Jagerc551c362016-10-01 19:24:50 -040047 property Visibility _hovered
48 {
49 Visibility get()
50 {
51 return hovered_;
52 }
53 void set(Visibility value)
54 {
55 hovered_ = value;
Nicolas Jagerd8e49592016-10-25 08:00:11 -040056 NotifyPropertyChanged("_hovered");
Nicolas Jagerc551c362016-10-01 19:24:50 -040057 }
58 }
Nicolas Jager7c409f32016-09-08 09:35:16 -040059
Nicolas Jager083b3ae2016-10-04 08:46:19 -040060 property String^ _callId; /*{
61 String^ get() {
62 return callId_;
63 }
64 void set(String^ value) {
65 _callId = value;
66 }
67 }*/
68 property CallStatus _callStatus {
69 CallStatus get() {
70 return callStatus_;
71 }
72 void set(CallStatus value) {
73 callStatus_ = value;
Nicolas Jagerd8e49592016-10-25 08:00:11 -040074 NotifyPropertyChanged("_callStatus");
Nicolas Jager083b3ae2016-10-04 08:46:19 -040075 }
76 }
Nicolas Jager9edbea32016-10-03 09:13:53 -040077
Nicolas Jager7c409f32016-09-08 09:35:16 -040078protected:
79 void NotifyPropertyChanged(String^ propertyName);
80
81private:
Nicolas Jagerc551c362016-10-01 19:24:50 -040082 Visibility hovered_ = Visibility::Collapsed;
Nicolas Jager083b3ae2016-10-04 08:46:19 -040083 CallStatus callStatus_;
84 String^ callId_;
Nicolas Jagerc551c362016-10-01 19:24:50 -040085
Nicolas Jager083b3ae2016-10-04 08:46:19 -040086 void OncallPlaced(Platform::String ^callId);
Nicolas Jager7c409f32016-09-08 09:35:16 -040087};
88}
89}
90