blob: 9128fe303695f3fb30ebce78d001038de717f3aa [file] [log] [blame]
Nicolas Jager998fbd72016-08-08 11:41:28 -04001#pragma once
2/**************************************************************************
3* Copyright (C) 2016 by Savoir-faire Linux *
4* Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> *
5* *
6* This program is free software; you can redistribute it and/or modify *
7* it under the terms of the GNU General Public License as published by *
8* the Free Software Foundation; either version 3 of the License, or *
9* (at your option) any later version. *
10* *
11* This program is distributed in the hope that it will be useful, *
12* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14* GNU General Public License for more details. *
15* *
16* You should have received a copy of the GNU General Public License *
17* along with this program. If not, see <http://www.gnu.org/licenses/>. *
18**************************************************************************/
19#include "SmartPanel.g.h"
20
21namespace RingClientUWP
22{
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040023
24delegate void ToggleSmartPan();
25delegate void SumonMessageTextPage();
26delegate void SumonVideoPage();
27
Nicolas Jager998fbd72016-08-08 11:41:28 -040028namespace Views
29{
30public ref class SmartPanel sealed
31{
32public:
33 SmartPanel();
atraczyk4a8cffc2016-08-25 20:01:25 -040034 void updatePageContent();
Nicolas Jager7c409f32016-09-08 09:35:16 -040035 Controls::SmartPanelItem^ findItem(Contact^ contact);
36 Controls::SmartPanelItem^ findItem(Call^ call);
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040037
38internal:
39 enum class Mode { Minimized, Normal };
40 event ToggleSmartPan^ toggleSmartPan;
41 event SumonMessageTextPage^ sumonMessageTextPage;
42 event SumonVideoPage^ sumonVideoPage;
43 void setMode(RingClientUWP::Views::SmartPanel::Mode mode);
44
45private:
Nicolas Jager7c409f32016-09-08 09:35:16 -040046 /* functions */
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040047 void _accountsMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
48 void _accountsMenuButton__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
49 void _settings__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
50 void _settings__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
51 void _shareMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
52 void _shareMenuButton__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
53 void _addAccountBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
54 void _createAccountYes__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
55 void _createAccountNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
Nicolas Jager8a85e1f2016-08-15 15:11:06 -040056 void _smartList__SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
atraczyk4a8cffc2016-08-25 20:01:25 -040057 void _accountList__SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
atraczyk82f8dda2016-08-25 16:34:52 -040058 void _ringTxtBx__KeyDown(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e);
Nicolas Jagerf6a10322016-09-06 08:17:49 -040059 void _rejectIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
60 void _acceptIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
Nicolas Jager7c409f32016-09-08 09:35:16 -040061
62 /* members */
63 Vector<Controls::SmartPanelItem^>^ smartPanelItemsList_;
Nicolas Jager998fbd72016-08-08 11:41:28 -040064};
65}
66}