We can now tell WLAN interfaces from wired interfaces on Windows.
[olsrd.git] / gui / win32 / Main / MyTabCtrl.cpp
1 /*\r
2  * Windows GUI for olsr.org\r
3  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
4  *\r
5  * This file is part of olsr.org.\r
6  *\r
7  * olsr.org is free software; you can redistribute it and/or modify\r
8  * it under the terms of the GNU General Public License as published by\r
9  * the Free Software Foundation; either version 2 of the License, or\r
10  * (at your option) any later version.\r
11  *\r
12  * olsr.org is distributed in the hope that it will be useful,\r
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15  * GNU General Public License for more details.\r
16  *\r
17  * You should have received a copy of the GNU General Public License\r
18  * along with olsr.org; if not, write to the Free Software\r
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
20  *\r
21  */\r
22 \r
23 #include "stdafx.h"\r
24 #include "Frontend.h"\r
25 #include "MyTabCtrl.h"\r
26 \r
27 #ifdef _DEBUG\r
28 #define new DEBUG_NEW\r
29 #undef THIS_FILE\r
30 static char THIS_FILE[] = __FILE__;\r
31 #endif\r
32 \r
33 MyTabCtrl::MyTabCtrl()\r
34 {\r
35 }\r
36 \r
37 MyTabCtrl::~MyTabCtrl()\r
38 {\r
39 }\r
40 \r
41 BEGIN_MESSAGE_MAP(MyTabCtrl, CTabCtrl)\r
42         //{{AFX_MSG_MAP(MyTabCtrl)\r
43         ON_NOTIFY_REFLECT(TCN_SELCHANGE, OnSelchange)\r
44         //}}AFX_MSG_MAP\r
45 END_MESSAGE_MAP()\r
46 \r
47 void MyTabCtrl::InitTabDialogs(CStringArray *Interfaces,\r
48                                                            CStringArray *Addresses,\r
49                                                            CStringArray *IsWlan)\r
50 {\r
51         int i;\r
52         CRect Client;\r
53         CRect Win;\r
54 \r
55         m_Dialog2.Interfaces = Interfaces;\r
56         m_Dialog2.Addresses = Addresses;\r
57         m_Dialog2.IsWlan = IsWlan;\r
58 \r
59         m_Dialog1.Create(GetParent());\r
60         m_Dialog2.Create(GetParent());\r
61         m_Dialog3.Create(GetParent());\r
62         m_Dialog4.Create(GetParent());\r
63 \r
64         Dialogs[0] = &m_Dialog2;\r
65         Dialogs[1] = &m_Dialog1;\r
66         Dialogs[2] = &m_Dialog3;\r
67         Dialogs[3] = &m_Dialog4;\r
68 \r
69         Sel = -1;\r
70 \r
71         for (i = 0; i < 4; i++)\r
72         {\r
73                 GetClientRect(Client);\r
74                 AdjustRect(FALSE, Client);\r
75 \r
76                 GetWindowRect(Win);\r
77                 GetParent()->ScreenToClient(Win);\r
78 \r
79                 Client.OffsetRect(Win.left, Win.top);\r
80 \r
81                 Dialogs[i]->SetWindowPos(&wndTop, Client.left, Client.top,\r
82                         Client.Width(), Client.Height(), SWP_HIDEWINDOW);\r
83         }\r
84 \r
85         DisplayTabDialog();\r
86 }\r
87 \r
88 void MyTabCtrl::DisplayTabDialog()\r
89 {\r
90         if (Sel != -1)\r
91                 Dialogs[Sel]->ShowWindow(SW_HIDE);\r
92 \r
93         Sel = GetCurSel();\r
94 \r
95         Dialogs[Sel]->ShowWindow(SW_SHOW);\r
96 }\r
97 \r
98 void MyTabCtrl::OnSelchange(NMHDR* pNMHDR, LRESULT* pResult) \r
99 {\r
100         pNMHDR = pNMHDR;\r
101 \r
102         DisplayTabDialog();\r
103 \r
104         *pResult = 0;\r
105 }\r