82c2dacdc48a3b7ff15320947b4e10e3b834af77
[olsrd.git] / gui / win32 / Main / MyDialog4.cpp
1 /*\r
2  * $Id: MyDialog4.cpp,v 1.2 2004/09/15 11:18:41 tlopatic Exp $\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 "MyDialog4.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 MyDialog4::MyDialog4(CWnd* pParent)\r
34         : CDialog(MyDialog4::IDD, pParent)\r
35 {\r
36         //{{AFX_DATA_INIT(MyDialog4)\r
37         //}}AFX_DATA_INIT\r
38 }\r
39 \r
40 BOOL MyDialog4::Create(CWnd *Parent)\r
41 {\r
42         return CDialog::Create(MyDialog4::IDD, Parent);\r
43 }\r
44 \r
45 void MyDialog4::DoDataExchange(CDataExchange* pDX)\r
46 {\r
47         CDialog::DoDataExchange(pDX);\r
48         //{{AFX_DATA_MAP(MyDialog4)\r
49         DDX_Control(pDX, IDC_LIST1, m_RoutingTable);\r
50         //}}AFX_DATA_MAP\r
51 }\r
52 \r
53 \r
54 BEGIN_MESSAGE_MAP(MyDialog4, CDialog)\r
55         //{{AFX_MSG_MAP(MyDialog4)\r
56         ON_BN_CLICKED(IDOK, OnOK)\r
57         ON_BN_CLICKED(IDCANCEL, OnCancel)\r
58         //}}AFX_MSG_MAP\r
59 END_MESSAGE_MAP()\r
60 \r
61 void MyDialog4::OnOK()\r
62 {\r
63 }\r
64 \r
65 void MyDialog4::OnCancel()\r
66 {\r
67 }\r
68 \r
69 BOOL MyDialog4::OnInitDialog() \r
70 {\r
71         CDialog::OnInitDialog();\r
72 \r
73         m_RoutingTable.InsertColumn(0, "Destination", LVCFMT_LEFT, 110, 0);\r
74         m_RoutingTable.InsertColumn(1, "Gateway", LVCFMT_LEFT, 110, 1);\r
75         m_RoutingTable.InsertColumn(2, "Metric", LVCFMT_LEFT, 68, 2);\r
76         m_RoutingTable.InsertColumn(3, "Interface", LVCFMT_LEFT, 67, 3);\r
77 \r
78         return TRUE;\r
79 }\r
80 \r
81 void MyDialog4::AddRoute(unsigned int Dest, unsigned int Gate, int Metric,\r
82                                                  char *Int)\r
83 {\r
84         CString DestStr;\r
85         CString GateStr;\r
86         CString MetricStr;\r
87         CString IntStr;\r
88         int Idx;\r
89 \r
90         DestStr.Format("%d.%d.%d.%d",\r
91                 ((unsigned char *)&Dest)[0], ((unsigned char *)&Dest)[1],\r
92                 ((unsigned char *)&Dest)[2], ((unsigned char *)&Dest)[3]);\r
93 \r
94         GateStr.Format("%d.%d.%d.%d",\r
95                 ((unsigned char *)&Gate)[0], ((unsigned char *)&Gate)[1],\r
96                 ((unsigned char *)&Gate)[2], ((unsigned char *)&Gate)[3]);\r
97 \r
98         MetricStr.Format("%d", Metric);\r
99 \r
100         IntStr.Format("%c%c%c%c", Int[0], Int[1], Int[2], Int[3]);\r
101         IntStr.MakeUpper();\r
102 \r
103         Idx = m_RoutingTable.GetItemCount();\r
104 \r
105         m_RoutingTable.InsertItem(Idx, DestStr);\r
106 \r
107         m_RoutingTable.SetItemText(Idx, 1, GateStr);\r
108         m_RoutingTable.SetItemText(Idx, 2, MetricStr);\r
109         m_RoutingTable.SetItemText(Idx, 3, IntStr);\r
110 }\r
111 \r
112 void MyDialog4::DeleteRoute(unsigned int Dest)\r
113 {\r
114         CString DestStr;\r
115         int Idx, Num;\r
116 \r
117         DestStr.Format("%d.%d.%d.%d",\r
118                 ((unsigned char *)&Dest)[0], ((unsigned char *)&Dest)[1],\r
119                 ((unsigned char *)&Dest)[2], ((unsigned char *)&Dest)[3]);\r
120 \r
121         Num = m_RoutingTable.GetItemCount();\r
122 \r
123         for (Idx = 0; Idx < Num; Idx++)\r
124         {\r
125                 if (m_RoutingTable.GetItemText(Idx, 0) == DestStr)\r
126                 {\r
127                         m_RoutingTable.DeleteItem(Idx);\r
128                         break;\r
129                 }\r
130         }\r
131 }\r
132 \r
133 void MyDialog4::ClearRoutes(void)\r
134 {\r
135         m_RoutingTable.DeleteAllItems();\r
136 }\r