--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/doxygen/html/commondialogs_8py-source.html Mon Jun 04 17:59:50 2007 +0200
@@ -0,0 +1,1075 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>CanFestival: /home/epimerde/documents/tc11/CanFestival-3/objdictgen/commondialogs.py Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main Page</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li id="current"><a href="files.html"><span>Files</span></a></li>
+ </ul></div>
+<div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul></div>
+<h1>/home/epimerde/documents/tc11/CanFestival-3/objdictgen/commondialogs.py</h1><a href="commondialogs_8py.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a><a class="code" href="namespacecommondialogs.html">00001</a> <span class="comment">#!/usr/bin/env python</span>
+<a name="l00002"></a>00002 <span class="comment"># -*- coding: utf-8 -*-</span>
+<a name="l00003"></a>00003
+<a name="l00004"></a>00004 <span class="comment">#This file is part of CanFestival, a library implementing CanOpen Stack. </span>
+<a name="l00005"></a>00005 <span class="comment">#</span>
+<a name="l00006"></a>00006 <span class="comment">#Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD</span>
+<a name="l00007"></a>00007 <span class="comment">#</span>
+<a name="l00008"></a>00008 <span class="comment">#See COPYING file for copyrights details.</span>
+<a name="l00009"></a>00009 <span class="comment">#</span>
+<a name="l00010"></a>00010 <span class="comment">#This library is free software; you can redistribute it and/or</span>
+<a name="l00011"></a>00011 <span class="comment">#modify it under the terms of the GNU Lesser General Public</span>
+<a name="l00012"></a>00012 <span class="comment">#License as published by the Free Software Foundation; either</span>
+<a name="l00013"></a>00013 <span class="comment">#version 2.1 of the License, or (at your option) any later version.</span>
+<a name="l00014"></a>00014 <span class="comment">#</span>
+<a name="l00015"></a>00015 <span class="comment">#This library is distributed in the hope that it will be useful,</span>
+<a name="l00016"></a>00016 <span class="comment">#but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00017"></a>00017 <span class="comment">#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00018"></a>00018 <span class="comment">#Lesser General Public License for more details.</span>
+<a name="l00019"></a>00019 <span class="comment">#</span>
+<a name="l00020"></a>00020 <span class="comment">#You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00021"></a>00021 <span class="comment">#License along with this library; if not, write to the Free Software</span>
+<a name="l00022"></a>00022 <span class="comment">#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">from</span> wxPython.wx <span class="keyword">import</span> *
+<a name="l00025"></a>00025 <span class="keyword">from</span> wxPython.grid <span class="keyword">import</span> *
+<a name="l00026"></a>00026 <span class="keyword">import</span> wx
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">import</span> os
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00031"></a>00031 <span class="comment"># Editing Communication Dialog</span>
+<a name="l00032"></a>00032 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 [wxID_COMMUNICATIONDIALOG, wxID_COMMUNICATIONDIALOGMAINPANEL,
+<a name="l00036"></a>00036 wxID_COMMUNICATIONDIALOGPOSSIBLEINDEXES, wxID_COMMUNICATIONDIALOGCURRENTINDEXES,
+<a name="l00037"></a>00037 wxID_COMMUNICATIONDIALOGSELECT, wxID_COMMUNICATIONDIALOGUNSELECT,
+<a name="l00038"></a>00038 wxID_COMMUNICATIONDIALOGSTATICTEXT1, wxID_COMMUNICATIONDIALOGSTATICTEXT2
+<a name="l00039"></a>00039 ] = [wx.NewId() <span class="keywordflow">for</span> _init_ctrls <span class="keywordflow">in</span> range(8)]
+<a name="l00040"></a>00040
+<a name="l00041"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html">00041</a> <span class="keyword">class </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html">CommunicationDialog</a>(wx.Dialog):
+<a name="l00042"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#30ca89384143013c6f74c2a1350723ba">00042</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#30ca89384143013c6f74c2a1350723ba">_init_coll_flexGridSizer1_Items</a>(self, parent):
+<a name="l00043"></a>00043 <span class="comment"># generated method, don't edit</span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
+<a name="l00046"></a>00046
+<a name="l00047"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#7273c6e406e4e14b27a7a4067f86ecff">00047</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#7273c6e406e4e14b27a7a4067f86ecff">_init_sizers</a>(self):
+<a name="l00048"></a>00048 <span class="comment"># generated method, don't edit</span>
+<a name="l00049"></a>00049 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#30ca89384143013c6f74c2a1350723ba">_init_coll_flexGridSizer1_Items</a>_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 self.SetSizer(self.flexGridSizer1)
+<a name="l00054"></a>00054
+<a name="l00055"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#80e062462e3b696373dfd4debc1a2d67">00055</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#80e062462e3b696373dfd4debc1a2d67">_init_ctrls</a>(self, prnt):
+<a name="l00056"></a>00056 <span class="comment"># generated method, don't edit</span>
+<a name="l00057"></a>00057 wx.Dialog.__init__(self, id=wxID_COMMUNICATIONDIALOG,
+<a name="l00058"></a>00058 name=<span class="stringliteral">'CommunicationDialog'</span>, parent=prnt, pos=wx.Point(234, 216),
+<a name="l00059"></a>00059 size=wx.Size(726, 437), style=wx.DEFAULT_DIALOG_STYLE,
+<a name="l00060"></a>00060 title=<span class="stringliteral">'Edit Communication Profile'</span>)
+<a name="l00061"></a>00061 self.SetClientSize(wx.Size(726, 437))
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 self.MainPanel = wx.Panel(id=wxID_COMMUNICATIONDIALOGMAINPANEL,
+<a name="l00064"></a>00064 name=<span class="stringliteral">'MainPanel'</span>, parent=self, pos=wx.Point(0, 0),
+<a name="l00065"></a>00065 size=wx.Size(688, 382), style=wx.TAB_TRAVERSAL)
+<a name="l00066"></a>00066 self.MainPanel.SetAutoLayout(<span class="keyword">True</span>)
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 self.PossibleIndexes = wx.ListBox(choices=[],
+<a name="l00069"></a>00069 id=wxID_COMMUNICATIONDIALOGPOSSIBLEINDEXES,
+<a name="l00070"></a>00070 name=<span class="stringliteral">'PossibleIndexes'</span>, parent=self.MainPanel, pos=wx.Point(40,
+<a name="l00071"></a>00071 48), size=wx.Size(280, 320), style=wxLB_EXTENDED)
+<a name="l00072"></a>00072 self.PossibleIndexes.Bind(wx.EVT_LEFT_DCLICK, self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#e82c18258dbad9910746289959b51907">OnPossibleIndexesDClick</a>OnPossibleIndexesDClick,
+<a name="l00073"></a>00073 id=wxID_COMMUNICATIONDIALOGPOSSIBLEINDEXES)
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 self.CurrentIndexes = wx.ListBox(choices=[],
+<a name="l00076"></a>00076 id=wxID_COMMUNICATIONDIALOGCURRENTINDEXES, name=<span class="stringliteral">'CurrentIndexes'</span>,
+<a name="l00077"></a>00077 parent=self.MainPanel, pos=wx.Point(400, 48), size=wx.Size(280,
+<a name="l00078"></a>00078 320), style=wxLB_EXTENDED)
+<a name="l00079"></a>00079 self.CurrentIndexes.Bind(wx.EVT_LEFT_DCLICK, self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#3ba145fc2f75f642c56795886f42662e">OnCurrentIndexesDClick</a>OnCurrentIndexesDClick,
+<a name="l00080"></a>00080 id=wxID_COMMUNICATIONDIALOGCURRENTINDEXES)
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 self.Select = wx.Button(id=wxID_COMMUNICATIONDIALOGSELECT, label=<span class="stringliteral">'>>'</span>,
+<a name="l00083"></a>00083 name=<span class="stringliteral">'Select'</span>, parent=self.MainPanel, pos=wx.Point(345, 136),
+<a name="l00084"></a>00084 size=wx.Size(32, 32), style=0)
+<a name="l00085"></a>00085 self.Select.Bind(wx.EVT_BUTTON, self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#46ef8786e87def46043ea11cfd74a279">OnSelectButton</a>OnSelectButton,
+<a name="l00086"></a>00086 id=wxID_COMMUNICATIONDIALOGSELECT)
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 self.Unselect = wx.Button(id=wxID_COMMUNICATIONDIALOGUNSELECT,
+<a name="l00089"></a>00089 label=<span class="stringliteral">'<<'</span>, name=<span class="stringliteral">'Unselect'</span>, parent=self.MainPanel,
+<a name="l00090"></a>00090 pos=wx.Point(345, 216), size=wx.Size(32, 30), style=0)
+<a name="l00091"></a>00091 self.Unselect.Bind(wx.EVT_BUTTON, self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#c228ecfb891ba5beb759c9507118b1d5">OnUnselectButton</a>OnUnselectButton,
+<a name="l00092"></a>00092 id=wxID_COMMUNICATIONDIALOGUNSELECT)
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 self.staticText1 = wx.StaticText(id=wxID_COMMUNICATIONDIALOGSTATICTEXT1,
+<a name="l00095"></a>00095 label=<span class="stringliteral">'Possible Profile Indexes:'</span>, name=<span class="stringliteral">'staticText1'</span>,
+<a name="l00096"></a>00096 parent=self.MainPanel, pos=wx.Point(40, 24), size=wx.Size(156,
+<a name="l00097"></a>00097 17), style=0)
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 self.staticText2 = wx.StaticText(id=wxID_COMMUNICATIONDIALOGSTATICTEXT2,
+<a name="l00100"></a>00100 label=<span class="stringliteral">'Current Profile Indexes:'</span>, name=<span class="stringliteral">'staticText2'</span>,
+<a name="l00101"></a>00101 parent=self.MainPanel, pos=wx.Point(400, 24), size=wx.Size(152,
+<a name="l00102"></a>00102 17), style=0)
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#7273c6e406e4e14b27a7a4067f86ecff">_init_sizers</a>_init_sizers()
+<a name="l00105"></a>00105
+<a name="l00106"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#ee020ad81cb3ea6df76d34785bf56a36">00106</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#ee020ad81cb3ea6df76d34785bf56a36">__init__</a>(self, parent):
+<a name="l00107"></a>00107 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#80e062462e3b696373dfd4debc1a2d67">_init_ctrls</a>_init_ctrls(parent)
+<a name="l00108"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#2cb1c15c1124804750a9991549eb6e0a">00108</a> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#2cb1c15c1124804750a9991549eb6e0a">ButtonSizer</a>ButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
+<a name="l00109"></a>00109 self.flexGridSizer1.Add(self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#2cb1c15c1124804750a9991549eb6e0a">ButtonSizer</a>ButtonSizer, 1, wxALIGN_CENTER)
+<a name="l00110"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#1d9e0865ffd28608fa78484b078a6661">00110</a> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#1d9e0865ffd28608fa78484b078a6661">AllList</a>AllList = []
+<a name="l00111"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">00111</a> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList = []
+<a name="l00112"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">00112</a> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">IndexDictionary</a>IndexDictionary = {}
+<a name="l00113"></a>00113
+<a name="l00114"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#fd58f80e7851c8b2254930aa0ea13a2c">00114</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#fd58f80e7851c8b2254930aa0ea13a2c">SetIndexDictionary</a>(self, dictionary):
+<a name="l00115"></a>00115 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">IndexDictionary</a>IndexDictionary = dictionary
+<a name="l00116"></a>00116
+<a name="l00117"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#42954cf3c548eaeccf2a6ae5793b12ca">00117</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#42954cf3c548eaeccf2a6ae5793b12ca">SetCurrentList</a>(self, list):
+<a name="l00118"></a>00118 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList = []
+<a name="l00119"></a>00119 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList.extend(list)
+<a name="l00120"></a>00120 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList.sort()
+<a name="l00121"></a>00121
+<a name="l00122"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#ff2dfb0c00ca27c85c297ae134ea4f31">00122</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#ff2dfb0c00ca27c85c297ae134ea4f31">GetCurrentList</a>(self):
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList
+<a name="l00124"></a>00124
+<a name="l00125"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#4d1850143516dddd4a997068f8d39707">00125</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#4d1850143516dddd4a997068f8d39707">RefreshLists</a>(self):
+<a name="l00126"></a>00126 self.PossibleIndexes.Clear()
+<a name="l00127"></a>00127 self.CurrentIndexes.Clear()
+<a name="l00128"></a>00128 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#1d9e0865ffd28608fa78484b078a6661">AllList</a>AllList = []
+<a name="l00129"></a>00129 <span class="keywordflow">for</span> index <span class="keywordflow">in</span> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">IndexDictionary</a>IndexDictionary.iterkeys():
+<a name="l00130"></a>00130 <span class="keywordflow">if</span> index <span class="keywordflow">not</span> <span class="keywordflow">in</span> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList:
+<a name="l00131"></a>00131 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#1d9e0865ffd28608fa78484b078a6661">AllList</a>AllList.append(index)
+<a name="l00132"></a>00132 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#1d9e0865ffd28608fa78484b078a6661">AllList</a>AllList.sort()
+<a name="l00133"></a>00133 <span class="keywordflow">for</span> index <span class="keywordflow">in</span> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#1d9e0865ffd28608fa78484b078a6661">AllList</a>AllList:
+<a name="l00134"></a>00134 self.PossibleIndexes.Append(<span class="stringliteral">"0x%04X %s"</span>%(index, self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">IndexDictionary</a>IndexDictionary[index][0]))
+<a name="l00135"></a>00135 <span class="keywordflow">for</span> index <span class="keywordflow">in</span> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList:
+<a name="l00136"></a>00136 <span class="keywordflow">if</span> index <span class="keywordflow">in</span> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">IndexDictionary</a>IndexDictionary:
+<a name="l00137"></a>00137 self.CurrentIndexes.Append(<span class="stringliteral">"0x%04X %s"</span>%(index, self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">IndexDictionary</a>IndexDictionary[index][0]))
+<a name="l00138"></a>00138
+<a name="l00139"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#e82c18258dbad9910746289959b51907">00139</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#e82c18258dbad9910746289959b51907">OnPossibleIndexesDClick</a>(self, event):
+<a name="l00140"></a>00140 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#59ad1a338abf8e3f25c43240aa5b2dab">SelectPossible</a>SelectPossible()
+<a name="l00141"></a>00141 event.Skip()
+<a name="l00142"></a>00142
+<a name="l00143"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#3ba145fc2f75f642c56795886f42662e">00143</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#3ba145fc2f75f642c56795886f42662e">OnCurrentIndexesDClick</a>(self, event):
+<a name="l00144"></a>00144 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#102862c2ba42dbffe915fd3997eb2673">UnselectCurrent</a>UnselectCurrent()
+<a name="l00145"></a>00145 event.Skip()
+<a name="l00146"></a>00146
+<a name="l00147"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#46ef8786e87def46043ea11cfd74a279">00147</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#46ef8786e87def46043ea11cfd74a279">OnSelectButton</a>(self, event):
+<a name="l00148"></a>00148 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#59ad1a338abf8e3f25c43240aa5b2dab">SelectPossible</a>SelectPossible()
+<a name="l00149"></a>00149 event.Skip()
+<a name="l00150"></a>00150
+<a name="l00151"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#c228ecfb891ba5beb759c9507118b1d5">00151</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#c228ecfb891ba5beb759c9507118b1d5">OnUnselectButton</a>(self, event):
+<a name="l00152"></a>00152 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#102862c2ba42dbffe915fd3997eb2673">UnselectCurrent</a>UnselectCurrent()
+<a name="l00153"></a>00153 event.Skip()
+<a name="l00154"></a>00154
+<a name="l00155"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#59ad1a338abf8e3f25c43240aa5b2dab">00155</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#59ad1a338abf8e3f25c43240aa5b2dab">SelectPossible</a>(self):
+<a name="l00156"></a>00156 selected = self.PossibleIndexes.GetSelections()
+<a name="l00157"></a>00157 <span class="keywordflow">for</span> i <span class="keywordflow">in</span> selected:
+<a name="l00158"></a>00158 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList.append(self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#1d9e0865ffd28608fa78484b078a6661">AllList</a>AllList[i])
+<a name="l00159"></a>00159 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList.sort()
+<a name="l00160"></a>00160 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#4d1850143516dddd4a997068f8d39707">RefreshLists</a>RefreshLists()
+<a name="l00161"></a>00161
+<a name="l00162"></a><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#102862c2ba42dbffe915fd3997eb2673">00162</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CommunicationDialog.html#102862c2ba42dbffe915fd3997eb2673">UnselectCurrent</a>(self):
+<a name="l00163"></a>00163 selected = self.CurrentIndexes.GetSelections()
+<a name="l00164"></a>00164 <span class="keywordflow">for</span> i <span class="keywordflow">in</span> selected:
+<a name="l00165"></a>00165 <span class="keywordflow">if</span> <span class="keywordflow">not</span> self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#015f97d989d36b414e9370e41820a793">IndexDictionary</a>IndexDictionary[self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList[i]][1]:
+<a name="l00166"></a>00166 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList.pop(i)
+<a name="l00167"></a>00167 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#807e6be61a54046153f1ff25e7c14928">CurrentList</a>CurrentList.sort()
+<a name="l00168"></a>00168 self.<a class="code" href="classcommondialogs_1_1CommunicationDialog.html#4d1850143516dddd4a997068f8d39707">RefreshLists</a>RefreshLists()
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00173"></a>00173 <span class="comment"># Create Map Variable Dialog</span>
+<a name="l00174"></a>00174 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 [wxID_MAPVARIABLEDIALOG, wxID_MAPVARIABLEDIALOGINDEX,
+<a name="l00178"></a>00178 wxID_MAPVARIABLEDIALOGINDEXNAME, wxID_MAPVARIABLEDIALOGMAINPANEL,
+<a name="l00179"></a>00179 wxID_MAPVARIABLEDIALOGNUMBER, wxID_MAPVARIABLEDIALOGRADIOBUTTON1,
+<a name="l00180"></a>00180 wxID_MAPVARIABLEDIALOGRADIOBUTTON2, wxID_MAPVARIABLEDIALOGRADIOBUTTON3,
+<a name="l00181"></a>00181 wxID_MAPVARIABLEDIALOGSTATICTEXT1, wxID_MAPVARIABLEDIALOGSTATICTEXT2,
+<a name="l00182"></a>00182 wxID_MAPVARIABLEDIALOGSTATICTEXT3, wxID_MAPVARIABLEDIALOGSTATICTEXT4,
+<a name="l00183"></a>00183 ] = [wx.NewId() <span class="keywordflow">for</span> _init_ctrls <span class="keywordflow">in</span> range(12)]
+<a name="l00184"></a>00184
+<a name="l00185"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html">00185</a> <span class="keyword">class </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html">MapVariableDialog</a>(wx.Dialog):
+<a name="l00186"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#912b9c33a957a879918c2dacfe12652b">00186</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#912b9c33a957a879918c2dacfe12652b">_init_coll_flexGridSizer1_Items</a>(self, parent):
+<a name="l00187"></a>00187 <span class="comment"># generated method, don't edit</span>
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
+<a name="l00190"></a>00190
+<a name="l00191"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#c4327f2bda8902fd3267551603128090">00191</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#c4327f2bda8902fd3267551603128090">_init_sizers</a>(self):
+<a name="l00192"></a>00192 <span class="comment"># generated method, don't edit</span>
+<a name="l00193"></a>00193 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#912b9c33a957a879918c2dacfe12652b">_init_coll_flexGridSizer1_Items</a>_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 self.SetSizer(self.flexGridSizer1)
+<a name="l00198"></a>00198
+<a name="l00199"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#8ac9451c0ae750a90ecaeedbf04bab64">00199</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#8ac9451c0ae750a90ecaeedbf04bab64">_init_ctrls</a>(self, prnt):
+<a name="l00200"></a>00200 <span class="comment"># generated method, don't edit</span>
+<a name="l00201"></a>00201 wx.Dialog.__init__(self, id=wxID_MAPVARIABLEDIALOG,
+<a name="l00202"></a>00202 name=<span class="stringliteral">'CommunicationDialog'</span>, parent=prnt, pos=wx.Point(376, 223),
+<a name="l00203"></a>00203 size=wx.Size(444, 186), style=wx.DEFAULT_DIALOG_STYLE,
+<a name="l00204"></a>00204 title=<span class="stringliteral">'Add Map Variable'</span>)
+<a name="l00205"></a>00205 self.SetClientSize(wx.Size(444, 186))
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 self.MainPanel = wx.Panel(id=wxID_MAPVARIABLEDIALOGMAINPANEL,
+<a name="l00208"></a>00208 name=<span class="stringliteral">'MainPanel'</span>, parent=self, pos=wx.Point(0, 0),
+<a name="l00209"></a>00209 size=wx.Size(431, 142), style=wx.TAB_TRAVERSAL)
+<a name="l00210"></a>00210 self.MainPanel.SetAutoLayout(<span class="keyword">True</span>)
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 self.staticText1 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT1,
+<a name="l00213"></a>00213 label=<span class="stringliteral">'Index:'</span>, name=<span class="stringliteral">'staticText1'</span>, parent=self.MainPanel,
+<a name="l00214"></a>00214 pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 self.Index = wx.TextCtrl(id=wxID_MAPVARIABLEDIALOGINDEX, name=<span class="stringliteral">'Index'</span>,
+<a name="l00217"></a>00217 parent=self.MainPanel, pos=wx.Point(24, 48), size=wx.Size(152,
+<a name="l00218"></a>00218 25), style=0, value=<span class="stringliteral">'0x2000'</span>)
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 self.staticText3 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT3,
+<a name="l00221"></a>00221 label=<span class="stringliteral">'Name:'</span>, name=<span class="stringliteral">'staticText3'</span>, parent=self.MainPanel,
+<a name="l00222"></a>00222 pos=wx.Point(24, 80), size=wx.Size(47, 17), style=0)
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224 self.IndexName = wx.TextCtrl(id=wxID_MAPVARIABLEDIALOGINDEXNAME,
+<a name="l00225"></a>00225 name=<span class="stringliteral">'IndexName'</span>, parent=self.MainPanel, pos=wx.Point(24, 104),
+<a name="l00226"></a>00226 size=wx.Size(152, 24), style=0, value=<span class="stringliteral">'Undefined'</span>)
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 self.staticText2 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT2,
+<a name="l00229"></a>00229 label=<span class="stringliteral">'Type:'</span>, name=<span class="stringliteral">'staticText2'</span>, parent=self.MainPanel,
+<a name="l00230"></a>00230 pos=wx.Point(208, 24), size=wx.Size(38, 17), style=0)
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 self.radioButton1 = wx.RadioButton(id=wxID_MAPVARIABLEDIALOGRADIOBUTTON1,
+<a name="l00233"></a>00233 label=<span class="stringliteral">'VAR'</span>, name=<span class="stringliteral">'radioButton1'</span>, parent=self.MainPanel,
+<a name="l00234"></a>00234 pos=wx.Point(208, 48), size=wx.Size(72, 24), style=wxRB_GROUP)
+<a name="l00235"></a>00235 self.radioButton1.SetValue(<span class="keyword">True</span>)
+<a name="l00236"></a>00236 self.radioButton1.Bind(wx.EVT_RADIOBUTTON, self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#63c2f5b4975384238c3b2aeabaeb6a11">OnRadioButton1Click</a>OnRadioButton1Click,
+<a name="l00237"></a>00237 id=wxID_MAPVARIABLEDIALOGRADIOBUTTON1)
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 self.radioButton2 = wx.RadioButton(id=wxID_MAPVARIABLEDIALOGRADIOBUTTON2,
+<a name="l00240"></a>00240 label=<span class="stringliteral">'ARRAY'</span>, name=<span class="stringliteral">'radioButton2'</span>, parent=self.MainPanel,
+<a name="l00241"></a>00241 pos=wx.Point(208, 72), size=wx.Size(80, 24), style=wxRB_SINGLE)
+<a name="l00242"></a>00242 self.radioButton2.SetValue(<span class="keyword">False</span>)
+<a name="l00243"></a>00243 self.radioButton2.Bind(wx.EVT_RADIOBUTTON, self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#6d8ff9549883ff0b0313891884e1183a">OnRadioButton2Click</a>OnRadioButton2Click,
+<a name="l00244"></a>00244 id=wxID_MAPVARIABLEDIALOGRADIOBUTTON2)
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 self.radioButton3 = wx.RadioButton(id=wxID_MAPVARIABLEDIALOGRADIOBUTTON3,
+<a name="l00247"></a>00247 label=<span class="stringliteral">'REC'</span>, name=<span class="stringliteral">'radioButton3'</span>, parent=self.MainPanel,
+<a name="l00248"></a>00248 pos=wx.Point(208, 96), size=wx.Size(96, 24), style=wxRB_SINGLE)
+<a name="l00249"></a>00249 self.radioButton3.SetValue(<span class="keyword">False</span>)
+<a name="l00250"></a>00250 self.radioButton3.Bind(wx.EVT_RADIOBUTTON, self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#64b1004d131ad794053dd456431501ca">OnRadioButton3Click</a>OnRadioButton3Click,
+<a name="l00251"></a>00251 id=wxID_MAPVARIABLEDIALOGRADIOBUTTON3)
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253 self.staticText4 = wx.StaticText(id=wxID_MAPVARIABLEDIALOGSTATICTEXT4,
+<a name="l00254"></a>00254 label=<span class="stringliteral">'Number:'</span>, name=<span class="stringliteral">'staticText4'</span>, parent=self.MainPanel,
+<a name="l00255"></a>00255 pos=wx.Point(312, 80), size=wx.Size(88, 16), style=0)
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 self.Number = wx.TextCtrl(id=wxID_MAPVARIABLEDIALOGNUMBER,
+<a name="l00258"></a>00258 name=<span class="stringliteral">'Number'</span>, parent=self.MainPanel, pos=wx.Point(312, 104),
+<a name="l00259"></a>00259 size=wx.Size(112, 24), style=wx.TE_RIGHT, value=<span class="stringliteral">'0'</span>)
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#c4327f2bda8902fd3267551603128090">_init_sizers</a>_init_sizers()
+<a name="l00262"></a>00262
+<a name="l00263"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#1d6b6313208c4cfaf2243bbdf59d92d9">00263</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#1d6b6313208c4cfaf2243bbdf59d92d9">__init__</a>(self, parent):
+<a name="l00264"></a>00264 self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#8ac9451c0ae750a90ecaeedbf04bab64">_init_ctrls</a>_init_ctrls(parent)
+<a name="l00265"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#142e2cd20328fd573126f5b60e8cec20">00265</a> self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#142e2cd20328fd573126f5b60e8cec20">ButtonSizer</a>ButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
+<a name="l00266"></a>00266 self.flexGridSizer1.Add(self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#142e2cd20328fd573126f5b60e8cec20">ButtonSizer</a>ButtonSizer, 1, wxALIGN_CENTER)
+<a name="l00267"></a>00267 self.staticText4.Enable(<span class="keyword">False</span>)
+<a name="l00268"></a>00268 self.Number.Enable(<span class="keyword">False</span>)
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 EVT_BUTTON(self, self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#142e2cd20328fd573126f5b60e8cec20">ButtonSizer</a>ButtonSizer.GetAffirmativeButton().GetId(), self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#31ebc1dd65eeec19147b3a5202d1e6a4">OnOK</a>OnOK)
+<a name="l00271"></a>00271
+<a name="l00272"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#bdab86c958f3e219882e7852b301dc4b">00272</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#bdab86c958f3e219882e7852b301dc4b">SetIndex</a>(self, index):
+<a name="l00273"></a>00273 self.Index.SetValue(<span class="stringliteral">"0x%04X"</span>%index)
+<a name="l00274"></a>00274
+<a name="l00275"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#31ebc1dd65eeec19147b3a5202d1e6a4">00275</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#31ebc1dd65eeec19147b3a5202d1e6a4">OnOK</a>(self, event):
+<a name="l00276"></a>00276 error = []
+<a name="l00277"></a>00277 <span class="keywordflow">try</span>:
+<a name="l00278"></a>00278 int(self.Index.GetValue(), 16)
+<a name="l00279"></a>00279 <span class="keywordflow">except</span>:
+<a name="l00280"></a>00280 error.append(<span class="stringliteral">"Index"</span>)
+<a name="l00281"></a>00281 <span class="keywordflow">if</span> self.radioButton2.GetValue() <span class="keywordflow">or</span> self.radioButton3.GetValue():
+<a name="l00282"></a>00282 <span class="keywordflow">try</span>:
+<a name="l00283"></a>00283 int(self.Number.GetValue())
+<a name="l00284"></a>00284 <span class="keywordflow">except</span>:
+<a name="l00285"></a>00285 error.append(<span class="stringliteral">"Number"</span>)
+<a name="l00286"></a>00286 <span class="keywordflow">if</span> len(error) > 0:
+<a name="l00287"></a>00287 text = <span class="stringliteral">""</span>
+<a name="l00288"></a>00288 <span class="keywordflow">if</span> len(error) > 1:
+<a name="l00289"></a>00289 suffix = <span class="stringliteral">"s"</span>
+<a name="l00290"></a>00290 <span class="keywordflow">else</span>:
+<a name="l00291"></a>00291 suffix = <span class="stringliteral">""</span>
+<a name="l00292"></a>00292 <span class="keywordflow">for</span> i, item <span class="keywordflow">in</span> enumerate(error):
+<a name="l00293"></a>00293 <span class="keywordflow">if</span> i == 0:
+<a name="l00294"></a>00294 text += item
+<a name="l00295"></a>00295 <span class="keywordflow">elif</span> i == len(error) - 1:
+<a name="l00296"></a>00296 text += <span class="stringliteral">" and %s"</span>%item
+<a name="l00297"></a>00297 <span class="keywordflow">else</span>:
+<a name="l00298"></a>00298 text += <span class="stringliteral">", %s"</span>%item
+<a name="l00299"></a>00299 message = wxMessageDialog(self, <span class="stringliteral">"Form isn't valid. %s must be integer%s!"</span>%(text,suffix), <span class="stringliteral">"Error"</span>, wxOK|wxICON_ERROR)
+<a name="l00300"></a>00300 message.ShowModal()
+<a name="l00301"></a>00301 message.Destroy()
+<a name="l00302"></a>00302 <span class="keywordflow">else</span>:
+<a name="l00303"></a>00303 self.EndModal(wxID_OK)
+<a name="l00304"></a>00304
+<a name="l00305"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#c447e821ce5690bdcd4f55d3b6e82cc0">00305</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#c447e821ce5690bdcd4f55d3b6e82cc0">GetValues</a>(self):
+<a name="l00306"></a>00306 name = self.IndexName.GetValue()
+<a name="l00307"></a>00307 index = int(self.Index.GetValue(), 16)
+<a name="l00308"></a>00308 <span class="keywordflow">if</span> self.radioButton1.GetValue():
+<a name="l00309"></a>00309 struct = 1
+<a name="l00310"></a>00310 number = <span class="keywordtype">None</span>
+<a name="l00311"></a>00311 <span class="keywordflow">elif</span> self.radioButton2.GetValue():
+<a name="l00312"></a>00312 struct = 3
+<a name="l00313"></a>00313 number = int(self.Number.GetValue())
+<a name="l00314"></a>00314 <span class="keywordflow">elif</span> self.radioButton3.GetValue():
+<a name="l00315"></a>00315 struct = 7
+<a name="l00316"></a>00316 number = int(self.Number.GetValue())
+<a name="l00317"></a>00317 <span class="keywordflow">return</span> index, name, struct, number
+<a name="l00318"></a>00318
+<a name="l00319"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#63c2f5b4975384238c3b2aeabaeb6a11">00319</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#63c2f5b4975384238c3b2aeabaeb6a11">OnRadioButton1Click</a>(self, event):
+<a name="l00320"></a>00320 self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#d971712aba98f0888bb5210073dd8737">EnableNumberTyping</a>EnableNumberTyping(<span class="keyword">False</span>)
+<a name="l00321"></a>00321 event.Skip()
+<a name="l00322"></a>00322
+<a name="l00323"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#6d8ff9549883ff0b0313891884e1183a">00323</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#6d8ff9549883ff0b0313891884e1183a">OnRadioButton2Click</a>(self, event):
+<a name="l00324"></a>00324 self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#d971712aba98f0888bb5210073dd8737">EnableNumberTyping</a>EnableNumberTyping(<span class="keyword">True</span>)
+<a name="l00325"></a>00325 event.Skip()
+<a name="l00326"></a>00326
+<a name="l00327"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#64b1004d131ad794053dd456431501ca">00327</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#64b1004d131ad794053dd456431501ca">OnRadioButton3Click</a>(self, event):
+<a name="l00328"></a>00328 self.<a class="code" href="classcommondialogs_1_1MapVariableDialog.html#d971712aba98f0888bb5210073dd8737">EnableNumberTyping</a>EnableNumberTyping(<span class="keyword">True</span>)
+<a name="l00329"></a>00329 event.Skip()
+<a name="l00330"></a>00330
+<a name="l00331"></a><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#d971712aba98f0888bb5210073dd8737">00331</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1MapVariableDialog.html#d971712aba98f0888bb5210073dd8737">EnableNumberTyping</a>(self, enable):
+<a name="l00332"></a>00332 self.staticText4.Enable(enable)
+<a name="l00333"></a>00333 self.Number.Enable(enable)
+<a name="l00334"></a>00334
+<a name="l00335"></a>00335
+<a name="l00336"></a>00336 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00337"></a>00337 <span class="comment"># Create User Type Dialog</span>
+<a name="l00338"></a>00338 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00339"></a>00339
+<a name="l00340"></a>00340
+<a name="l00341"></a>00341 [wxID_USERTYPEDIALOG, wxID_USERTYPEDIALOGLENGTH, wxID_USERTYPEDIALOGMAINPANEL,
+<a name="l00342"></a>00342 wxID_USERTYPEDIALOGMAX, wxID_USERTYPEDIALOGMIN,
+<a name="l00343"></a>00343 wxID_USERTYPEDIALOGSTATICBOX1, wxID_USERTYPEDIALOGSTATICTEXT1,
+<a name="l00344"></a>00344 wxID_USERTYPEDIALOGSTATICTEXT2, wxID_USERTYPEDIALOGSTATICTEXT3,
+<a name="l00345"></a>00345 wxID_USERTYPEDIALOGSTATICTEXT4, wxID_USERTYPEDIALOGTYPE,
+<a name="l00346"></a>00346 ] = [wx.NewId() <span class="keywordflow">for</span> _init_ctrls <span class="keywordflow">in</span> range(11)]
+<a name="l00347"></a>00347
+<a name="l00348"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html">00348</a> <span class="keyword">class </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html">UserTypeDialog</a>(wx.Dialog):
+<a name="l00349"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#8ac2aa09f370cda00dcc3a5535230a65">00349</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#8ac2aa09f370cda00dcc3a5535230a65">_init_coll_flexGridSizer1_Items</a>(self, parent):
+<a name="l00350"></a>00350 <span class="comment"># generated method, don't edit</span>
+<a name="l00351"></a>00351
+<a name="l00352"></a>00352 parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
+<a name="l00353"></a>00353
+<a name="l00354"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#030a0508da4e397f69bfd5824987df70">00354</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#030a0508da4e397f69bfd5824987df70">_init_sizers</a>(self):
+<a name="l00355"></a>00355 <span class="comment"># generated method, don't edit</span>
+<a name="l00356"></a>00356 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#8ac2aa09f370cda00dcc3a5535230a65">_init_coll_flexGridSizer1_Items</a>_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360 self.SetSizer(self.flexGridSizer1)
+<a name="l00361"></a>00361
+<a name="l00362"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#6a633899d2349b962f87b05b542a74d1">00362</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#6a633899d2349b962f87b05b542a74d1">_init_ctrls</a>(self, prnt):
+<a name="l00363"></a>00363 <span class="comment"># generated method, don't edit</span>
+<a name="l00364"></a>00364 wx.Dialog.__init__(self, id=wxID_USERTYPEDIALOG, name=<span class="stringliteral">'UserTypeDialog'</span>,
+<a name="l00365"></a>00365 parent=prnt, pos=wx.Point(376, 223), size=wx.Size(444, 228),
+<a name="l00366"></a>00366 style=wx.DEFAULT_DIALOG_STYLE, title=<span class="stringliteral">'Add User Type'</span>)
+<a name="l00367"></a>00367 self.SetClientSize(wx.Size(444, 228))
+<a name="l00368"></a>00368
+<a name="l00369"></a>00369 self.MainPanel = wx.Panel(id=wxID_USERTYPEDIALOGMAINPANEL,
+<a name="l00370"></a>00370 name=<span class="stringliteral">'MainPanel'</span>, parent=self, pos=wx.Point(0, 0),
+<a name="l00371"></a>00371 size=wx.Size(431, 182), style=wx.TAB_TRAVERSAL)
+<a name="l00372"></a>00372 self.MainPanel.SetAutoLayout(<span class="keyword">True</span>)
+<a name="l00373"></a>00373
+<a name="l00374"></a>00374 self.staticText1 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT1,
+<a name="l00375"></a>00375 label=<span class="stringliteral">'Type:'</span>, name=<span class="stringliteral">'staticText1'</span>, parent=self.MainPanel,
+<a name="l00376"></a>00376 pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
+<a name="l00377"></a>00377
+<a name="l00378"></a>00378 self.Type = wx.Choice(choices=[], id=wxID_USERTYPEDIALOGTYPE,
+<a name="l00379"></a>00379 name=<span class="stringliteral">'Type'</span>, parent=self.MainPanel, pos=wx.Point(24, 48),
+<a name="l00380"></a>00380 size=wx.Size(160, 24), style=0)
+<a name="l00381"></a>00381 self.Type.Bind(wx.EVT_CHOICE, self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#3e986bfc827c25d7786f4d4262ee329b">OnTypeChoice</a>OnTypeChoice,
+<a name="l00382"></a>00382 id=wxID_USERTYPEDIALOGTYPE)
+<a name="l00383"></a>00383
+<a name="l00384"></a>00384 self.staticBox1 = wx.StaticBox(id=wxID_USERTYPEDIALOGSTATICBOX1,
+<a name="l00385"></a>00385 label=<span class="stringliteral">'Values'</span>, name=<span class="stringliteral">'staticBox1'</span>, parent=self.MainPanel,
+<a name="l00386"></a>00386 pos=wx.Point(200, 24), size=wx.Size(224, 144), style=0)
+<a name="l00387"></a>00387
+<a name="l00388"></a>00388 self.staticText2 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT2,
+<a name="l00389"></a>00389 label=<span class="stringliteral">'Minimum:'</span>, name=<span class="stringliteral">'staticText2'</span>, parent=self.MainPanel,
+<a name="l00390"></a>00390 pos=wx.Point(216, 48), size=wx.Size(67, 17), style=0)
+<a name="l00391"></a>00391
+<a name="l00392"></a>00392 self.Min = wx.TextCtrl(id=wxID_USERTYPEDIALOGMIN, name=<span class="stringliteral">'Min'</span>,
+<a name="l00393"></a>00393 parent=self.MainPanel, pos=wx.Point(296, 48), size=wx.Size(112,
+<a name="l00394"></a>00394 24), style=wx.TE_RIGHT, value=<span class="stringliteral">'0'</span>)
+<a name="l00395"></a>00395
+<a name="l00396"></a>00396 self.staticText3 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT3,
+<a name="l00397"></a>00397 label=<span class="stringliteral">'Maximum:'</span>, name=<span class="stringliteral">'staticText3'</span>, parent=self.MainPanel,
+<a name="l00398"></a>00398 pos=wx.Point(216, 88), size=wx.Size(71, 17), style=0)
+<a name="l00399"></a>00399
+<a name="l00400"></a>00400 self.Max = wx.TextCtrl(id=wxID_USERTYPEDIALOGMAX, name=<span class="stringliteral">'Max'</span>,
+<a name="l00401"></a>00401 parent=self.MainPanel, pos=wx.Point(296, 88), size=wx.Size(112,
+<a name="l00402"></a>00402 25), style=wx.TE_RIGHT, value=<span class="stringliteral">'0'</span>)
+<a name="l00403"></a>00403
+<a name="l00404"></a>00404 self.staticText4 = wx.StaticText(id=wxID_USERTYPEDIALOGSTATICTEXT4,
+<a name="l00405"></a>00405 label=<span class="stringliteral">'Length:'</span>, name=<span class="stringliteral">'staticText4'</span>, parent=self.MainPanel,
+<a name="l00406"></a>00406 pos=wx.Point(216, 128), size=wx.Size(52, 17), style=0)
+<a name="l00407"></a>00407
+<a name="l00408"></a>00408 self.Length = wx.TextCtrl(id=wxID_USERTYPEDIALOGLENGTH, name=<span class="stringliteral">'Length'</span>,
+<a name="l00409"></a>00409 parent=self.MainPanel, pos=wx.Point(296, 128), size=wx.Size(112,
+<a name="l00410"></a>00410 25), style=wx.TE_RIGHT, value=<span class="stringliteral">'0'</span>)
+<a name="l00411"></a>00411
+<a name="l00412"></a>00412 self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#030a0508da4e397f69bfd5824987df70">_init_sizers</a>_init_sizers()
+<a name="l00413"></a>00413
+<a name="l00414"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#409b6ac806b2ae0e2ac4c4c4aa6baeb5">00414</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#409b6ac806b2ae0e2ac4c4c4aa6baeb5">__init__</a>(self, parent):
+<a name="l00415"></a>00415 self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#6a633899d2349b962f87b05b542a74d1">_init_ctrls</a>_init_ctrls(parent)
+<a name="l00416"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#7e3b701c164d3048295b9bfadcceff93">00416</a> self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#7e3b701c164d3048295b9bfadcceff93">ButtonSizer</a>ButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
+<a name="l00417"></a>00417 self.flexGridSizer1.Add(self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#7e3b701c164d3048295b9bfadcceff93">ButtonSizer</a>ButtonSizer, 1, wxALIGN_CENTER)
+<a name="l00418"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#952db9d303d08119ef6a5f275abad765">00418</a> self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#952db9d303d08119ef6a5f275abad765">TypeDictionary</a>TypeDictionary = {}
+<a name="l00419"></a>00419
+<a name="l00420"></a>00420 EVT_BUTTON(self, self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#7e3b701c164d3048295b9bfadcceff93">ButtonSizer</a>ButtonSizer.GetAffirmativeButton().GetId(), self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#3af71ea699d83da41fee2a2fbf1f55e3">OnOK</a>OnOK)
+<a name="l00421"></a>00421
+<a name="l00422"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#3af71ea699d83da41fee2a2fbf1f55e3">00422</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#3af71ea699d83da41fee2a2fbf1f55e3">OnOK</a>(self, event):
+<a name="l00423"></a>00423 error = []
+<a name="l00424"></a>00424 good = <span class="keyword">True</span>
+<a name="l00425"></a>00425 firstmessage = <span class="stringliteral">""</span>
+<a name="l00426"></a>00426 secondmessage = <span class="stringliteral">""</span>
+<a name="l00427"></a>00427 name = self.Type.GetStringSelection()
+<a name="l00428"></a>00428 <span class="keywordflow">if</span> name != <span class="stringliteral">""</span>:
+<a name="l00429"></a>00429 valuetype = self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#952db9d303d08119ef6a5f275abad765">TypeDictionary</a>TypeDictionary[name][1]
+<a name="l00430"></a>00430 <span class="keywordflow">if</span> valuetype == 0:
+<a name="l00431"></a>00431 <span class="keywordflow">try</span>:
+<a name="l00432"></a>00432 int(self.Min.GetValue(), 16)
+<a name="l00433"></a>00433 <span class="keywordflow">except</span>:
+<a name="l00434"></a>00434 error.append(<span class="stringliteral">"Minimum"</span>)
+<a name="l00435"></a>00435 good = <span class="keyword">False</span>
+<a name="l00436"></a>00436 <span class="keywordflow">try</span>:
+<a name="l00437"></a>00437 int(self.Max.GetValue(), 16)
+<a name="l00438"></a>00438 <span class="keywordflow">except</span>:
+<a name="l00439"></a>00439 error.append(<span class="stringliteral">"Maximum"</span>)
+<a name="l00440"></a>00440 good = <span class="keyword">False</span>
+<a name="l00441"></a>00441 <span class="keywordflow">elif</span> valuetype == 1:
+<a name="l00442"></a>00442 <span class="keywordflow">try</span>:
+<a name="l00443"></a>00443 int(self.Length.GetValue(), 16)
+<a name="l00444"></a>00444 <span class="keywordflow">except</span>:
+<a name="l00445"></a>00445 error.append(<span class="stringliteral">"Length"</span>)
+<a name="l00446"></a>00446 good = <span class="keyword">False</span>
+<a name="l00447"></a>00447 <span class="keywordflow">if</span> len(error) > 0:
+<a name="l00448"></a>00448 secondmessage = <span class="stringliteral">". "</span>
+<a name="l00449"></a>00449 <span class="keywordflow">for</span> i, item <span class="keywordflow">in</span> enumerate(error):
+<a name="l00450"></a>00450 <span class="keywordflow">if</span> i == 0:
+<a name="l00451"></a>00451 secondmessage += item
+<a name="l00452"></a>00452 <span class="keywordflow">elif</span> i == len(error) - 1:
+<a name="l00453"></a>00453 secondmessage += <span class="stringliteral">" and %s"</span>%item
+<a name="l00454"></a>00454 <span class="keywordflow">else</span>:
+<a name="l00455"></a>00455 secondmessage += <span class="stringliteral">", %s"</span>%item
+<a name="l00456"></a>00456 secondmessage += <span class="stringliteral">" must be integer"</span>
+<a name="l00457"></a>00457 <span class="keywordflow">if</span> len(error) > 1:
+<a name="l00458"></a>00458 secondmessage += <span class="stringliteral">"s"</span>
+<a name="l00459"></a>00459 <span class="keywordflow">else</span>:
+<a name="l00460"></a>00460 firstmessage = <span class="stringliteral">". A type must be selected"</span>
+<a name="l00461"></a>00461 good = <span class="keyword">False</span>
+<a name="l00462"></a>00462 <span class="keywordflow">if</span> <span class="keywordflow">not</span> good:
+<a name="l00463"></a>00463 message = wxMessageDialog(self, <span class="stringliteral">"Form isn't valid%s%s%s!"</span>%(firstmessage,secondmessage), <span class="stringliteral">"Error"</span>, wxOK|wxICON_ERROR)
+<a name="l00464"></a>00464 message.ShowModal()
+<a name="l00465"></a>00465 message.Destroy()
+<a name="l00466"></a>00466 self.Name.SetFocus()
+<a name="l00467"></a>00467 <span class="keywordflow">else</span>:
+<a name="l00468"></a>00468 self.EndModal(wxID_OK)
+<a name="l00469"></a>00469
+<a name="l00470"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#45bfdc62e0cdb882229682f2cfbe5c08">00470</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#45bfdc62e0cdb882229682f2cfbe5c08">SetValues</a>(self, min = None, max = None, length = None):
+<a name="l00471"></a>00471 <span class="keywordflow">if</span> min != <span class="keywordtype">None</span>:
+<a name="l00472"></a>00472 self.Min.SetValue(str(min))
+<a name="l00473"></a>00473 <span class="keywordflow">if</span> max != <span class="keywordtype">None</span>:
+<a name="l00474"></a>00474 self.Max.SetValue(str(max))
+<a name="l00475"></a>00475 <span class="keywordflow">if</span> length != <span class="keywordtype">None</span>:
+<a name="l00476"></a>00476 self.Length.SetValue(str(length))
+<a name="l00477"></a>00477
+<a name="l00478"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#4e5316d45310d70691958ec898a8427c">00478</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#4e5316d45310d70691958ec898a8427c">SetTypeList</a>(self, typedic, type = None):
+<a name="l00479"></a>00479 self.Type.Clear()
+<a name="l00480"></a>00480 list = []
+<a name="l00481"></a>00481 <span class="keywordflow">for</span> index, (name, valuetype) <span class="keywordflow">in</span> typedic.iteritems():
+<a name="l00482"></a>00482 self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#952db9d303d08119ef6a5f275abad765">TypeDictionary</a>TypeDictionary[name] = (index, valuetype)
+<a name="l00483"></a>00483 list.append((index, name))
+<a name="l00484"></a>00484 list.sort()
+<a name="l00485"></a>00485 <span class="keywordflow">for</span> index, name <span class="keywordflow">in</span> list:
+<a name="l00486"></a>00486 self.Type.Append(name)
+<a name="l00487"></a>00487 <span class="keywordflow">if</span> type != <span class="keywordtype">None</span>:
+<a name="l00488"></a>00488 self.Type.SetStringSelection(typedic[type][0])
+<a name="l00489"></a>00489 self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#28ae4b33e1b5f98fcc80f57f421bdf67">RefreshValues</a>RefreshValues()
+<a name="l00490"></a>00490
+<a name="l00491"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#3e986bfc827c25d7786f4d4262ee329b">00491</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#3e986bfc827c25d7786f4d4262ee329b">OnTypeChoice</a>(self, event):
+<a name="l00492"></a>00492 self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#28ae4b33e1b5f98fcc80f57f421bdf67">RefreshValues</a>RefreshValues()
+<a name="l00493"></a>00493 event.Skip()
+<a name="l00494"></a>00494
+<a name="l00495"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#28ae4b33e1b5f98fcc80f57f421bdf67">00495</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#28ae4b33e1b5f98fcc80f57f421bdf67">RefreshValues</a>(self):
+<a name="l00496"></a>00496 name = self.Type.GetStringSelection()
+<a name="l00497"></a>00497 <span class="keywordflow">if</span> name != <span class="stringliteral">""</span>:
+<a name="l00498"></a>00498 valuetype = self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#952db9d303d08119ef6a5f275abad765">TypeDictionary</a>TypeDictionary[name][1]
+<a name="l00499"></a>00499 <span class="keywordflow">if</span> valuetype == 0:
+<a name="l00500"></a>00500 self.staticText2.Enable(<span class="keyword">True</span>)
+<a name="l00501"></a>00501 self.staticText3.Enable(<span class="keyword">True</span>)
+<a name="l00502"></a>00502 self.staticText4.Enable(<span class="keyword">False</span>)
+<a name="l00503"></a>00503 self.Min.Enable(<span class="keyword">True</span>)
+<a name="l00504"></a>00504 self.Max.Enable(<span class="keyword">True</span>)
+<a name="l00505"></a>00505 self.Length.Enable(<span class="keyword">False</span>)
+<a name="l00506"></a>00506 <span class="keywordflow">elif</span> valuetype == 1:
+<a name="l00507"></a>00507 self.staticText2.Enable(<span class="keyword">False</span>)
+<a name="l00508"></a>00508 self.staticText3.Enable(<span class="keyword">False</span>)
+<a name="l00509"></a>00509 self.staticText4.Enable(<span class="keyword">True</span>)
+<a name="l00510"></a>00510 self.Min.Enable(<span class="keyword">False</span>)
+<a name="l00511"></a>00511 self.Max.Enable(<span class="keyword">False</span>)
+<a name="l00512"></a>00512 self.Length.Enable(<span class="keyword">True</span>)
+<a name="l00513"></a>00513 <span class="keywordflow">else</span>:
+<a name="l00514"></a>00514 self.staticText2.Enable(<span class="keyword">False</span>)
+<a name="l00515"></a>00515 self.staticText3.Enable(<span class="keyword">False</span>)
+<a name="l00516"></a>00516 self.staticText4.Enable(<span class="keyword">False</span>)
+<a name="l00517"></a>00517 self.Min.Enable(<span class="keyword">False</span>)
+<a name="l00518"></a>00518 self.Max.Enable(<span class="keyword">False</span>)
+<a name="l00519"></a>00519 self.Length.Enable(<span class="keyword">False</span>)
+<a name="l00520"></a>00520
+<a name="l00521"></a><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#fb21ee3e7916e8de7756b0e87cc70e90">00521</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1UserTypeDialog.html#fb21ee3e7916e8de7756b0e87cc70e90">GetValues</a>(self):
+<a name="l00522"></a>00522 name = self.Type.GetStringSelection()
+<a name="l00523"></a>00523 type = self.<a class="code" href="classcommondialogs_1_1UserTypeDialog.html#952db9d303d08119ef6a5f275abad765">TypeDictionary</a>TypeDictionary[name][0]
+<a name="l00524"></a>00524 min = int(self.Min.GetValue())
+<a name="l00525"></a>00525 max = int(self.Max.GetValue())
+<a name="l00526"></a>00526 length = int(self.Length.GetValue())
+<a name="l00527"></a>00527 <span class="keywordflow">return</span> type, min, max, length
+<a name="l00528"></a>00528
+<a name="l00529"></a>00529
+<a name="l00530"></a>00530
+<a name="l00531"></a>00531 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00532"></a>00532 <span class="comment"># Editing Node Infos Dialog</span>
+<a name="l00533"></a>00533 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00534"></a>00534
+<a name="l00535"></a>00535
+<a name="l00536"></a>00536 [wxID_NODEINFOSDIALOG, wxID_NODEINFOSDIALOGMAINPANEL,
+<a name="l00537"></a>00537 wxID_NODEINFOSDIALOGNAME, wxID_NODEINFOSDIALOGNODEID,
+<a name="l00538"></a>00538 wxID_NODEINFOSDIALOGDESCRIPTION, wxID_NODEINFOSDIALOGSTATICTEXT1,
+<a name="l00539"></a>00539 wxID_NODEINFOSDIALOGSTATICTEXT2, wxID_NODEINFOSDIALOGSTATICTEXT3,
+<a name="l00540"></a>00540 wxID_NODEINFOSDIALOGSTATICTEXT4, wxID_NODEINFOSDIALOGTYPE,
+<a name="l00541"></a>00541 ] = [wx.NewId() <span class="keywordflow">for</span> _init_ctrls <span class="keywordflow">in</span> range(10)]
+<a name="l00542"></a>00542
+<a name="l00543"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html">00543</a> <span class="keyword">class </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html">NodeInfosDialog</a>(wx.Dialog):
+<a name="l00544"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#d776e64e7aaaecb9ad798efe80588506">00544</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#d776e64e7aaaecb9ad798efe80588506">_init_coll_flexGridSizer1_Items</a>(self, parent):
+<a name="l00545"></a>00545 <span class="comment"># generated method, don't edit</span>
+<a name="l00546"></a>00546
+<a name="l00547"></a>00547 parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
+<a name="l00548"></a>00548
+<a name="l00549"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#729b0b3de672a39d4066b2d68523bf93">00549</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#729b0b3de672a39d4066b2d68523bf93">_init_sizers</a>(self):
+<a name="l00550"></a>00550 <span class="comment"># generated method, don't edit</span>
+<a name="l00551"></a>00551 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+<a name="l00552"></a>00552
+<a name="l00553"></a>00553 self.<a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#d776e64e7aaaecb9ad798efe80588506">_init_coll_flexGridSizer1_Items</a>_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
+<a name="l00554"></a>00554
+<a name="l00555"></a>00555 self.SetSizer(self.flexGridSizer1)
+<a name="l00556"></a>00556
+<a name="l00557"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#103b344ad0af9db40eec62456dbf864c">00557</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#103b344ad0af9db40eec62456dbf864c">_init_ctrls</a>(self, prnt):
+<a name="l00558"></a>00558 <span class="comment"># generated method, don't edit</span>
+<a name="l00559"></a>00559 wx.Dialog.__init__(self, id=wxID_NODEINFOSDIALOG,
+<a name="l00560"></a>00560 name=<span class="stringliteral">'NodeInfosDialog'</span>, parent=prnt, pos=wx.Point(376, 223),
+<a name="l00561"></a>00561 size=wx.Size(300, 300), style=wx.DEFAULT_DIALOG_STYLE,
+<a name="l00562"></a>00562 title=<span class="stringliteral">'Node Infos'</span>)
+<a name="l00563"></a>00563 self.SetClientSize(wx.Size(300, 300))
+<a name="l00564"></a>00564
+<a name="l00565"></a>00565 self.MainPanel = wx.Panel(id=wxID_NODEINFOSDIALOGMAINPANEL,
+<a name="l00566"></a>00566 name=<span class="stringliteral">'MainPanel'</span>, parent=self, pos=wx.Point(0, 0),
+<a name="l00567"></a>00567 size=wx.Size(280, 264), style=wx.TAB_TRAVERSAL)
+<a name="l00568"></a>00568 self.MainPanel.SetAutoLayout(<span class="keyword">True</span>)
+<a name="l00569"></a>00569
+<a name="l00570"></a>00570 self.staticText1 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT1,
+<a name="l00571"></a>00571 label=<span class="stringliteral">'Name:'</span>,
+<a name="l00572"></a>00572 name=<span class="stringliteral">'staticText1'</span>, parent=self.MainPanel,
+<a name="l00573"></a>00573 pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
+<a name="l00574"></a>00574
+<a name="l00575"></a>00575 self.Name = wx.TextCtrl(id=wxID_NODEINFOSDIALOGNAME, name=<span class="stringliteral">'Name'</span>,
+<a name="l00576"></a>00576 parent=self.MainPanel, pos=wx.Point(24, 48), size=wx.Size(250,
+<a name="l00577"></a>00577 25), style=0, value=<span class="stringliteral">''</span>)
+<a name="l00578"></a>00578
+<a name="l00579"></a>00579 self.staticText2 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT2,
+<a name="l00580"></a>00580 label=<span class="stringliteral">'Node ID:'</span>, name=<span class="stringliteral">'staticText2'</span>, parent=self.MainPanel,
+<a name="l00581"></a>00581 pos=wx.Point(24, 80), size=wx.Size(67, 17), style=0)
+<a name="l00582"></a>00582
+<a name="l00583"></a>00583 self.NodeID = wx.TextCtrl(id=wxID_NODEINFOSDIALOGNODEID, name=<span class="stringliteral">'NodeID'</span>,
+<a name="l00584"></a>00584 parent=self.MainPanel, pos=wx.Point(24, 104), size=wx.Size(250,
+<a name="l00585"></a>00585 25), style=wx.TE_RIGHT, value=<span class="stringliteral">''</span>)
+<a name="l00586"></a>00586
+<a name="l00587"></a>00587 self.staticText3 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT3,
+<a name="l00588"></a>00588 label=<span class="stringliteral">'Type:'</span>, name=<span class="stringliteral">'staticText3'</span>, parent=self.MainPanel,
+<a name="l00589"></a>00589 pos=wx.Point(24, 136), size=wx.Size(71, 17), style=0)
+<a name="l00590"></a>00590
+<a name="l00591"></a>00591 self.Type = wx.Choice(choices=[], id=wxID_NODEINFOSDIALOGTYPE,
+<a name="l00592"></a>00592 name=<span class="stringliteral">'Type'</span>, parent=self.MainPanel, pos=wx.Point(24, 160),
+<a name="l00593"></a>00593 size=wx.Size(250, 25), style=0)
+<a name="l00594"></a>00594
+<a name="l00595"></a>00595 self.staticText4 = wx.StaticText(id=wxID_NODEINFOSDIALOGSTATICTEXT4,
+<a name="l00596"></a>00596 label=<span class="stringliteral">'Description:'</span>, name=<span class="stringliteral">'staticText4'</span>, parent=self.MainPanel,
+<a name="l00597"></a>00597 pos=wx.Point(24, 192), size=wx.Size(71, 17), style=0)
+<a name="l00598"></a>00598
+<a name="l00599"></a>00599 self.Description = wx.TextCtrl(id=wxID_NODEINFOSDIALOGDESCRIPTION,
+<a name="l00600"></a>00600 name=<span class="stringliteral">'Description'</span>, parent=self.MainPanel, pos=wx.Point(24, 216),
+<a name="l00601"></a>00601 size=wx.Size(250, 25), style=0, value=<span class="stringliteral">''</span>)
+<a name="l00602"></a>00602
+<a name="l00603"></a>00603 self.<a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#729b0b3de672a39d4066b2d68523bf93">_init_sizers</a>_init_sizers()
+<a name="l00604"></a>00604
+<a name="l00605"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#c95f7d4082146239f9278432c3efa6cd">00605</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#c95f7d4082146239f9278432c3efa6cd">__init__</a>(self, parent):
+<a name="l00606"></a>00606 self.<a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#103b344ad0af9db40eec62456dbf864c">_init_ctrls</a>_init_ctrls(parent)
+<a name="l00607"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#854b2423bc12e5c04c1e2cb5a683a72f">00607</a> self.<a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#854b2423bc12e5c04c1e2cb5a683a72f">ButtonSizer</a>ButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
+<a name="l00608"></a>00608 self.flexGridSizer1.Add(self.<a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#854b2423bc12e5c04c1e2cb5a683a72f">ButtonSizer</a>ButtonSizer, 1, wxALIGN_CENTER)
+<a name="l00609"></a>00609 self.Type.Append(<span class="stringliteral">"master"</span>)
+<a name="l00610"></a>00610 self.Type.Append(<span class="stringliteral">"slave"</span>)
+<a name="l00611"></a>00611
+<a name="l00612"></a>00612 EVT_BUTTON(self, self.<a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#854b2423bc12e5c04c1e2cb5a683a72f">ButtonSizer</a>ButtonSizer.GetAffirmativeButton().GetId(), self.<a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#28e8dfedd00152d5b389a19f9cf0167f">OnOK</a>OnOK)
+<a name="l00613"></a>00613
+<a name="l00614"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#28e8dfedd00152d5b389a19f9cf0167f">00614</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#28e8dfedd00152d5b389a19f9cf0167f">OnOK</a>(self, event):
+<a name="l00615"></a>00615 name = self.Name.GetValue()
+<a name="l00616"></a>00616 message = <span class="stringliteral">""</span>
+<a name="l00617"></a>00617 <span class="keywordflow">if</span> name != <span class="stringliteral">""</span>:
+<a name="l00618"></a>00618 good = <span class="keywordflow">not</span> name[0].isdigit()
+<a name="l00619"></a>00619 <span class="keywordflow">for</span> item <span class="keywordflow">in</span> name.split(<span class="stringliteral">"_"</span>):
+<a name="l00620"></a>00620 good &= item.isalnum()
+<a name="l00621"></a>00621 <span class="keywordflow">if</span> <span class="keywordflow">not</span> good:
+<a name="l00622"></a>00622 message = <span class="stringliteral">"Node name can't be undefined or start with a digit and must be composed of alphanumerical characters or underscore!"</span>
+<a name="l00623"></a>00623 <span class="keywordflow">if</span> message != <span class="stringliteral">""</span>:
+<a name="l00624"></a>00624 <span class="keywordflow">try</span>:
+<a name="l00625"></a>00625 nodeid = int(self.NodeID.GetValue(), 16)
+<a name="l00626"></a>00626 <span class="keywordflow">except</span>:
+<a name="l00627"></a>00627 message = <span class="stringliteral">"Node ID must be integer!"</span>
+<a name="l00628"></a>00628 <span class="keywordflow">if</span> message != <span class="stringliteral">""</span>:
+<a name="l00629"></a>00629 message = wxMessageDialog(self, message, <span class="stringliteral">"ERROR"</span>, wxOK|wxICON_ERROR)
+<a name="l00630"></a>00630 message.ShowModal()
+<a name="l00631"></a>00631 message.Destroy()
+<a name="l00632"></a>00632 self.Name.SetFocus()
+<a name="l00633"></a>00633 <span class="keywordflow">else</span>:
+<a name="l00634"></a>00634 self.EndModal(wxID_OK)
+<a name="l00635"></a>00635
+<a name="l00636"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#36750076ce1d98da4682c16bc9c00f74">00636</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#36750076ce1d98da4682c16bc9c00f74">SetValues</a>(self, name, id, type, description):
+<a name="l00637"></a>00637 self.Name.SetValue(name)
+<a name="l00638"></a>00638 self.NodeID.SetValue(<span class="stringliteral">"0x%02X"</span>%id)
+<a name="l00639"></a>00639 self.Type.SetStringSelection(type)
+<a name="l00640"></a>00640 self.Description.SetValue(description)
+<a name="l00641"></a>00641
+<a name="l00642"></a><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#ca7599893a8bfbe3d0b8afca376e9353">00642</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1NodeInfosDialog.html#ca7599893a8bfbe3d0b8afca376e9353">GetValues</a>(self):
+<a name="l00643"></a>00643 name = self.Name.GetValue()
+<a name="l00644"></a>00644 nodeid = int(self.NodeID.GetValue(), 16)
+<a name="l00645"></a>00645 type = self.Type.GetStringSelection()
+<a name="l00646"></a>00646 description = self.Description.GetValue()
+<a name="l00647"></a>00647 <span class="keywordflow">return</span> name, nodeid, type, description
+<a name="l00648"></a>00648
+<a name="l00649"></a>00649
+<a name="l00650"></a>00650
+<a name="l00651"></a>00651 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00652"></a>00652 <span class="comment"># Create New Node Dialog</span>
+<a name="l00653"></a>00653 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00654"></a>00654
+<a name="l00655"></a>00655
+<a name="l00656"></a>00656 [wxID_CREATENODEDIALOG, wxID_CREATENODEDIALOGEMERGENCY,
+<a name="l00657"></a>00657 wxID_CREATENODEDIALOGGENSYNC, wxID_CREATENODEDIALOGMAINPANEL,
+<a name="l00658"></a>00658 wxID_CREATENODEDIALOGNAME, wxID_CREATENODEDIALOGNMT_HEARTBEAT,
+<a name="l00659"></a>00659 wxID_CREATENODEDIALOGNMT_NODEGUARDING, wxID_CREATENODEDIALOGNMT_NONE,
+<a name="l00660"></a>00660 wxID_CREATENODEDIALOGNODEID, wxID_CREATENODEDIALOGPROFILE,
+<a name="l00661"></a>00661 wxID_CREATENODEDIALOGSAVECONFIG, wxID_CREATENODEDIALOGSTATICTEXT1,
+<a name="l00662"></a>00662 wxID_CREATENODEDIALOGSTATICTEXT2, wxID_CREATENODEDIALOGSTATICTEXT3,
+<a name="l00663"></a>00663 wxID_CREATENODEDIALOGSTATICTEXT4, wxID_CREATENODEDIALOGSTATICTEXT5,
+<a name="l00664"></a>00664 wxID_CREATENODEDIALOGSTATICTEXT6, wxID_CREATENODEDIALOGSTATICTEXT7,
+<a name="l00665"></a>00665 wxID_CREATENODEDIALOGSTOREEDS, wxID_CREATENODEDIALOGDESCRIPTION,
+<a name="l00666"></a>00666 wxID_CREATENODEDIALOGTYPE,
+<a name="l00667"></a>00667 ] = [wx.NewId() <span class="keywordflow">for</span> _init_ctrls <span class="keywordflow">in</span> range(21)]
+<a name="l00668"></a>00668
+<a name="l00669"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html">00669</a> <span class="keyword">class </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html">CreateNodeDialog</a>(wx.Dialog):
+<a name="l00670"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#39d47edefb6b24dc8ad6ffa12d3d1bef">00670</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#39d47edefb6b24dc8ad6ffa12d3d1bef">_init_coll_flexGridSizer1_Items</a>(self, parent):
+<a name="l00671"></a>00671 <span class="comment"># generated method, don't edit</span>
+<a name="l00672"></a>00672
+<a name="l00673"></a>00673 parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
+<a name="l00674"></a>00674
+<a name="l00675"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#f071ab5e59b63ec2712cd90dc90ac61a">00675</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#f071ab5e59b63ec2712cd90dc90ac61a">_init_sizers</a>(self):
+<a name="l00676"></a>00676 <span class="comment"># generated method, don't edit</span>
+<a name="l00677"></a>00677 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+<a name="l00678"></a>00678
+<a name="l00679"></a>00679 self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#39d47edefb6b24dc8ad6ffa12d3d1bef">_init_coll_flexGridSizer1_Items</a>_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
+<a name="l00680"></a>00680
+<a name="l00681"></a>00681 self.SetSizer(self.flexGridSizer1)
+<a name="l00682"></a>00682
+<a name="l00683"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#429fa9f55c65a135c19b01222b58d797">00683</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#429fa9f55c65a135c19b01222b58d797">_init_ctrls</a>(self, prnt):
+<a name="l00684"></a>00684 <span class="comment"># generated method, don't edit</span>
+<a name="l00685"></a>00685 wx.Dialog.__init__(self, id=wxID_CREATENODEDIALOG,
+<a name="l00686"></a>00686 name=<span class="stringliteral">'CreateNodeDialog'</span>, parent=prnt, pos=wx.Point(376, 223),
+<a name="l00687"></a>00687 size=wx.Size(451, 376), style=wx.DEFAULT_DIALOG_STYLE,
+<a name="l00688"></a>00688 title=<span class="stringliteral">'Create a new Node'</span>)
+<a name="l00689"></a>00689 self.SetClientSize(wx.Size(451, 376))
+<a name="l00690"></a>00690
+<a name="l00691"></a>00691 self.MainPanel = wx.Panel(id=wxID_CREATENODEDIALOGMAINPANEL,
+<a name="l00692"></a>00692 name=<span class="stringliteral">'MainPanel'</span>, parent=self, pos=wx.Point(0, 0),
+<a name="l00693"></a>00693 size=wx.Size(440, 278), style=wx.TAB_TRAVERSAL)
+<a name="l00694"></a>00694 self.MainPanel.SetAutoLayout(<span class="keyword">True</span>)
+<a name="l00695"></a>00695
+<a name="l00696"></a>00696 self.staticText1 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT1,
+<a name="l00697"></a>00697 label=<span class="stringliteral">'Name:'</span>, name=<span class="stringliteral">'staticText1'</span>, parent=self.MainPanel,
+<a name="l00698"></a>00698 pos=wx.Point(24, 24), size=wx.Size(156, 17), style=0)
+<a name="l00699"></a>00699
+<a name="l00700"></a>00700 self.staticText2 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT2,
+<a name="l00701"></a>00701 label=<span class="stringliteral">'Node ID:'</span>, name=<span class="stringliteral">'staticText2'</span>, parent=self.MainPanel,
+<a name="l00702"></a>00702 pos=wx.Point(24, 80), size=wx.Size(67, 17), style=0)
+<a name="l00703"></a>00703
+<a name="l00704"></a>00704 self.staticText3 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT3,
+<a name="l00705"></a>00705 label=<span class="stringliteral">'Type:'</span>, name=<span class="stringliteral">'staticText3'</span>, parent=self.MainPanel,
+<a name="l00706"></a>00706 pos=wx.Point(24, 136), size=wx.Size(71, 17), style=0)
+<a name="l00707"></a>00707
+<a name="l00708"></a>00708 self.Type = wx.Choice(choices=[], id=wxID_CREATENODEDIALOGTYPE,
+<a name="l00709"></a>00709 name=<span class="stringliteral">'Type'</span>, parent=self.MainPanel, pos=wx.Point(24, 160),
+<a name="l00710"></a>00710 size=wx.Size(200, 24), style=0)
+<a name="l00711"></a>00711
+<a name="l00712"></a>00712 self.Name = wx.TextCtrl(id=wxID_CREATENODEDIALOGNAME, name=<span class="stringliteral">'Name'</span>,
+<a name="l00713"></a>00713 parent=self.MainPanel, pos=wx.Point(24, 48), size=wx.Size(200,
+<a name="l00714"></a>00714 25), style=0, value=<span class="stringliteral">''</span>)
+<a name="l00715"></a>00715
+<a name="l00716"></a>00716 self.NodeID = wx.TextCtrl(id=wxID_CREATENODEDIALOGNODEID, name=<span class="stringliteral">'NodeID'</span>,
+<a name="l00717"></a>00717 parent=self.MainPanel, pos=wx.Point(24, 104), size=wx.Size(200,
+<a name="l00718"></a>00718 25), style=wx.TE_RIGHT, value=<span class="stringliteral">''</span>)
+<a name="l00719"></a>00719
+<a name="l00720"></a>00720 self.staticText4 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT4,
+<a name="l00721"></a>00721 label=<span class="stringliteral">'Profile:'</span>, name=<span class="stringliteral">'staticText4'</span>, parent=self.MainPanel,
+<a name="l00722"></a>00722 pos=wx.Point(24, 192), size=wx.Size(47, 17), style=0)
+<a name="l00723"></a>00723
+<a name="l00724"></a>00724 self.Profile = wx.Choice(choices=[], id=wxID_CREATENODEDIALOGPROFILE,
+<a name="l00725"></a>00725 name=<span class="stringliteral">'Profile'</span>, parent=self.MainPanel, pos=wx.Point(24, 216),
+<a name="l00726"></a>00726 size=wx.Size(200, 24), style=0)
+<a name="l00727"></a>00727 self.Profile.Bind(wx.EVT_CHOICE, self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#145fc2276fd439e7d4bca53aff3a467a">OnProfileChoice</a>OnProfileChoice,
+<a name="l00728"></a>00728 id=wxID_CREATENODEDIALOGPROFILE)
+<a name="l00729"></a>00729
+<a name="l00730"></a>00730 self.staticText5 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT5,
+<a name="l00731"></a>00731 label=<span class="stringliteral">'Network Management:'</span>, name=<span class="stringliteral">'staticText5'</span>,
+<a name="l00732"></a>00732 parent=self.MainPanel, pos=wx.Point(256, 24), size=wx.Size(152,
+<a name="l00733"></a>00733 16), style=0)
+<a name="l00734"></a>00734
+<a name="l00735"></a>00735 self.NMT_None = wx.RadioButton(id=wxID_CREATENODEDIALOGNMT_NONE,
+<a name="l00736"></a>00736 label=<span class="stringliteral">'None'</span>, name=<span class="stringliteral">'NMT_None'</span>, parent=self.MainPanel,
+<a name="l00737"></a>00737 pos=wx.Point(256, 40), size=wx.Size(114, 24), style=0)
+<a name="l00738"></a>00738 self.NMT_None.SetValue(<span class="keyword">True</span>)
+<a name="l00739"></a>00739
+<a name="l00740"></a>00740 self.NMT_NodeGuarding = wx.RadioButton(id=wxID_CREATENODEDIALOGNMT_NODEGUARDING,
+<a name="l00741"></a>00741 label=<span class="stringliteral">'Node Guarding'</span>, name=<span class="stringliteral">'NMT_NodeGuarding'</span>,
+<a name="l00742"></a>00742 parent=self.MainPanel, pos=wx.Point(256, 64), size=wx.Size(128,
+<a name="l00743"></a>00743 24), style=0)
+<a name="l00744"></a>00744 self.NMT_NodeGuarding.SetValue(<span class="keyword">False</span>)
+<a name="l00745"></a>00745
+<a name="l00746"></a>00746 self.NMT_Heartbeat = wx.RadioButton(id=wxID_CREATENODEDIALOGNMT_HEARTBEAT,
+<a name="l00747"></a>00747 label=<span class="stringliteral">'Heartbeat'</span>, name=<span class="stringliteral">'NMT_Heartbeat'</span>, parent=self.MainPanel,
+<a name="l00748"></a>00748 pos=wx.Point(256, 88), size=wx.Size(114, 24), style=0)
+<a name="l00749"></a>00749 self.NMT_Heartbeat.SetValue(<span class="keyword">False</span>)
+<a name="l00750"></a>00750
+<a name="l00751"></a>00751 self.staticText6 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT6,
+<a name="l00752"></a>00752 label=<span class="stringliteral">'Options:'</span>, name=<span class="stringliteral">'staticText6'</span>, parent=self.MainPanel,
+<a name="l00753"></a>00753 pos=wx.Point(256, 128), size=wx.Size(72, 17), style=0)
+<a name="l00754"></a>00754
+<a name="l00755"></a>00755 self.DS302 = wx.CheckBox(id=wxID_CREATENODEDIALOGGENSYNC,
+<a name="l00756"></a>00756 label=<span class="stringliteral">'DS-302 Profile'</span>, name=<span class="stringliteral">'DS302'</span>, parent=self.MainPanel,
+<a name="l00757"></a>00757 pos=wx.Point(256, 144), size=wx.Size(128, 24), style=0)
+<a name="l00758"></a>00758 self.DS302.SetValue(<span class="keyword">False</span>)
+<a name="l00759"></a>00759 <span class="comment">#self.DS302.Enable(False)</span>
+<a name="l00760"></a>00760
+<a name="l00761"></a>00761 self.GenSYNC = wx.CheckBox(id=wxID_CREATENODEDIALOGGENSYNC,
+<a name="l00762"></a>00762 label=<span class="stringliteral">'Generate SYNC'</span>, name=<span class="stringliteral">'GenSYNC'</span>, parent=self.MainPanel,
+<a name="l00763"></a>00763 pos=wx.Point(256, 168), size=wx.Size(128, 24), style=0)
+<a name="l00764"></a>00764 self.GenSYNC.SetValue(<span class="keyword">False</span>)
+<a name="l00765"></a>00765
+<a name="l00766"></a>00766 self.Emergency = wx.CheckBox(id=wxID_CREATENODEDIALOGEMERGENCY,
+<a name="l00767"></a>00767 label=<span class="stringliteral">'Emergency support'</span>, name=<span class="stringliteral">'Emergency'</span>,
+<a name="l00768"></a>00768 parent=self.MainPanel, pos=wx.Point(256, 192), size=wx.Size(152,
+<a name="l00769"></a>00769 24), style=0)
+<a name="l00770"></a>00770 self.Emergency.SetValue(<span class="keyword">False</span>)
+<a name="l00771"></a>00771 self.Emergency.Enable(<span class="keyword">False</span>)
+<a name="l00772"></a>00772
+<a name="l00773"></a>00773 self.SaveConfig = wx.CheckBox(id=wxID_CREATENODEDIALOGSAVECONFIG,
+<a name="l00774"></a>00774 label=<span class="stringliteral">'Save Configuration'</span>, name=<span class="stringliteral">'SaveConfig'</span>,
+<a name="l00775"></a>00775 parent=self.MainPanel, pos=wx.Point(256, 216), size=wx.Size(152,
+<a name="l00776"></a>00776 24), style=0)
+<a name="l00777"></a>00777 self.SaveConfig.SetValue(<span class="keyword">False</span>)
+<a name="l00778"></a>00778 self.SaveConfig.Enable(<span class="keyword">False</span>)
+<a name="l00779"></a>00779
+<a name="l00780"></a>00780 <span class="comment"># self.StoreEDS = wx.CheckBox(id=wxID_CREATENODEDIALOGSTOREEDS,</span>
+<a name="l00781"></a>00781 <span class="comment"># label='Store EDS', name='StoreEDS', parent=self.MainPanel,</span>
+<a name="l00782"></a>00782 <span class="comment"># pos=wx.Point(256, 240), size=wx.Size(144, 24), style=0)</span>
+<a name="l00783"></a>00783 <span class="comment"># self.StoreEDS.SetValue(False)</span>
+<a name="l00784"></a>00784
+<a name="l00785"></a>00785 self.staticText7 = wx.StaticText(id=wxID_CREATENODEDIALOGSTATICTEXT7,
+<a name="l00786"></a>00786 label=<span class="stringliteral">'Description:'</span>, name=<span class="stringliteral">'staticText7'</span>, parent=self.MainPanel,
+<a name="l00787"></a>00787 pos=wx.Point(24, 248), size=wx.Size(71, 17), style=0)
+<a name="l00788"></a>00788
+<a name="l00789"></a>00789 self.Description = wx.TextCtrl(id=wxID_CREATENODEDIALOGDESCRIPTION,
+<a name="l00790"></a>00790 name=<span class="stringliteral">'Description'</span>, parent=self.MainPanel, pos=wx.Point(24, 272),
+<a name="l00791"></a>00791 size=wx.Size(400, 25), style=0, value=<span class="stringliteral">''</span>)
+<a name="l00792"></a>00792
+<a name="l00793"></a>00793 self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#f071ab5e59b63ec2712cd90dc90ac61a">_init_sizers</a>_init_sizers()
+<a name="l00794"></a>00794
+<a name="l00795"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#58c8aa89d480669890ef63456d126705">00795</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#58c8aa89d480669890ef63456d126705">__init__</a>(self, parent, cwd):
+<a name="l00796"></a>00796 self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#429fa9f55c65a135c19b01222b58d797">_init_ctrls</a>_init_ctrls(parent)
+<a name="l00797"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#7a8dc1f8cd4b452dbba2203499aad52c">00797</a> self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#7a8dc1f8cd4b452dbba2203499aad52c">ButtonSizer</a>ButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL)
+<a name="l00798"></a>00798 self.flexGridSizer1.Add(self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#7a8dc1f8cd4b452dbba2203499aad52c">ButtonSizer</a>ButtonSizer, 1, wxALIGN_CENTER)
+<a name="l00799"></a>00799 self.NodeID.SetValue(<span class="stringliteral">"0x00"</span>)
+<a name="l00800"></a>00800 self.Type.Append(<span class="stringliteral">"master"</span>)
+<a name="l00801"></a>00801 self.Type.Append(<span class="stringliteral">"slave"</span>)
+<a name="l00802"></a>00802 self.Type.SetStringSelection(<span class="stringliteral">"slave"</span>)
+<a name="l00803"></a>00803 self.Description.SetValue(<span class="stringliteral">""</span>)
+<a name="l00804"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#a5b092c98d3fd4ea4cdffa4d48150ac4">00804</a> self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#a5b092c98d3fd4ea4cdffa4d48150ac4">ListProfile</a>ListProfile = {<span class="stringliteral">"None"</span> : <span class="stringliteral">""</span>}
+<a name="l00805"></a>00805 self.Profile.Append(<span class="stringliteral">"None"</span>)
+<a name="l00806"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#37780e6f4737ffa27ff08bc4de64711c">00806</a> self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#37780e6f4737ffa27ff08bc4de64711c">Directory</a>Directory = os.path.join(cwd, <span class="stringliteral">"config"</span>)
+<a name="l00807"></a>00807 listfiles = os.listdir(self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#37780e6f4737ffa27ff08bc4de64711c">Directory</a>Directory)
+<a name="l00808"></a>00808 listfiles.sort()
+<a name="l00809"></a>00809 <span class="keywordflow">for</span> item <span class="keywordflow">in</span> listfiles:
+<a name="l00810"></a>00810 name, extend = os.path.splitext(item)
+<a name="l00811"></a>00811 <span class="keywordflow">if</span> os.path.isfile(os.path.join(self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#37780e6f4737ffa27ff08bc4de64711c">Directory</a>Directory, item)) <span class="keywordflow">and</span> extend == <span class="stringliteral">".prf"</span> <span class="keywordflow">and</span> name != <span class="stringliteral">"DS-302"</span>:
+<a name="l00812"></a>00812 self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#a5b092c98d3fd4ea4cdffa4d48150ac4">ListProfile</a>ListProfile[name] = os.path.join(self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#37780e6f4737ffa27ff08bc4de64711c">Directory</a>Directory, item)
+<a name="l00813"></a>00813 self.Profile.Append(name)
+<a name="l00814"></a>00814 self.Profile.Append(<span class="stringliteral">"Other"</span>)
+<a name="l00815"></a>00815 self.Profile.SetStringSelection(<span class="stringliteral">"None"</span>)
+<a name="l00816"></a>00816 self.Name.SetFocus()
+<a name="l00817"></a>00817
+<a name="l00818"></a>00818 EVT_BUTTON(self, self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#7a8dc1f8cd4b452dbba2203499aad52c">ButtonSizer</a>ButtonSizer.GetAffirmativeButton().GetId(), self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#1099b975b697d76a4a7ecdaef82b7f60">OnOK</a>OnOK)
+<a name="l00819"></a>00819
+<a name="l00820"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#1099b975b697d76a4a7ecdaef82b7f60">00820</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#1099b975b697d76a4a7ecdaef82b7f60">OnOK</a>(self, event):
+<a name="l00821"></a>00821 name = self.Name.GetValue()
+<a name="l00822"></a>00822 message = <span class="stringliteral">""</span>
+<a name="l00823"></a>00823 <span class="keywordflow">if</span> name != <span class="stringliteral">""</span>:
+<a name="l00824"></a>00824 good = <span class="keywordflow">not</span> name[0].isdigit()
+<a name="l00825"></a>00825 <span class="keywordflow">for</span> item <span class="keywordflow">in</span> name.split(<span class="stringliteral">"_"</span>):
+<a name="l00826"></a>00826 good &= item.isalnum()
+<a name="l00827"></a>00827 <span class="keywordflow">if</span> <span class="keywordflow">not</span> good:
+<a name="l00828"></a>00828 message = <span class="stringliteral">"Node name can't be undefined or start with a digit and must be composed of alphanumerical characters or underscore!"</span>
+<a name="l00829"></a>00829 <span class="keywordflow">if</span> message != <span class="stringliteral">""</span>:
+<a name="l00830"></a>00830 <span class="keywordflow">try</span>:
+<a name="l00831"></a>00831 nodeid = int(self.NodeID.GetValue(), 16)
+<a name="l00832"></a>00832 <span class="keywordflow">except</span>:
+<a name="l00833"></a>00833 message = <span class="stringliteral">"Node ID must be an integer!"</span>
+<a name="l00834"></a>00834 <span class="keywordflow">if</span> message != <span class="stringliteral">""</span>:
+<a name="l00835"></a>00835 message = wxMessageDialog(self, message, <span class="stringliteral">"ERROR"</span>, wxOK|wxICON_ERROR)
+<a name="l00836"></a>00836 message.ShowModal()
+<a name="l00837"></a>00837 message.Destroy()
+<a name="l00838"></a>00838 self.Name.SetFocus()
+<a name="l00839"></a>00839 <span class="keywordflow">else</span>:
+<a name="l00840"></a>00840 self.EndModal(wxID_OK)
+<a name="l00841"></a>00841
+<a name="l00842"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#f62fdd3d1fbbea86a3eb716f20341b49">00842</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#f62fdd3d1fbbea86a3eb716f20341b49">GetValues</a>(self):
+<a name="l00843"></a>00843 name = self.Name.GetValue()
+<a name="l00844"></a>00844 nodeid = 0
+<a name="l00845"></a>00845 <span class="keywordflow">if</span> self.NodeID.GetValue() != <span class="stringliteral">""</span>:
+<a name="l00846"></a>00846 nodeid = int(self.NodeID.GetValue(), 16)
+<a name="l00847"></a>00847 type = self.Type.GetStringSelection()
+<a name="l00848"></a>00848 description = self.Description.GetValue()
+<a name="l00849"></a>00849 <span class="keywordflow">return</span> name, nodeid, type, description
+<a name="l00850"></a>00850
+<a name="l00851"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#2329fe0564d06a39130520ba83a22caf">00851</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#2329fe0564d06a39130520ba83a22caf">GetProfile</a>(self):
+<a name="l00852"></a>00852 name = self.Profile.GetStringSelection()
+<a name="l00853"></a>00853 <span class="keywordflow">return</span> name, self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#a5b092c98d3fd4ea4cdffa4d48150ac4">ListProfile</a>ListProfile[name]
+<a name="l00854"></a>00854
+<a name="l00855"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#e224099d30206d623fcc567101b613d6">00855</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#e224099d30206d623fcc567101b613d6">GetNMTManagement</a>(self):
+<a name="l00856"></a>00856 <span class="keywordflow">if</span> self.NMT_None.GetValue():
+<a name="l00857"></a>00857 <span class="keywordflow">return</span> <span class="stringliteral">"None"</span>
+<a name="l00858"></a>00858 <span class="keywordflow">elif</span> self.NMT_NodeGuarding.GetValue():
+<a name="l00859"></a>00859 <span class="keywordflow">return</span> <span class="stringliteral">"NodeGuarding"</span>
+<a name="l00860"></a>00860 <span class="keywordflow">elif</span> self.NMT_Heartbeat.GetValue():
+<a name="l00861"></a>00861 <span class="keywordflow">return</span> <span class="stringliteral">"Heartbeat"</span>
+<a name="l00862"></a>00862 <span class="keywordflow">return</span> <span class="keywordtype">None</span>
+<a name="l00863"></a>00863
+<a name="l00864"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#02ed8598e287a76055b4524fbf56278d">00864</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#02ed8598e287a76055b4524fbf56278d">GetOptions</a>(self):
+<a name="l00865"></a>00865 options = []
+<a name="l00866"></a>00866 <span class="keywordflow">if</span> self.DS302.GetValue():
+<a name="l00867"></a>00867 options.append(<span class="stringliteral">"DS302"</span>)
+<a name="l00868"></a>00868 <span class="keywordflow">if</span> self.GenSYNC.GetValue():
+<a name="l00869"></a>00869 options.append(<span class="stringliteral">"GenSYNC"</span>)
+<a name="l00870"></a>00870 <span class="keywordflow">if</span> self.Emergency.GetValue():
+<a name="l00871"></a>00871 options.append(<span class="stringliteral">"Emergency"</span>)
+<a name="l00872"></a>00872 <span class="keywordflow">if</span> self.SaveConfig.GetValue():
+<a name="l00873"></a>00873 options.append(<span class="stringliteral">"SaveConfig"</span>)
+<a name="l00874"></a>00874 <span class="comment"># if self.StoreEDS.GetValue():</span>
+<a name="l00875"></a>00875 <span class="comment"># options.append("StoreEDS")</span>
+<a name="l00876"></a>00876 <span class="keywordflow">return</span> options
+<a name="l00877"></a>00877
+<a name="l00878"></a><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#145fc2276fd439e7d4bca53aff3a467a">00878</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#145fc2276fd439e7d4bca53aff3a467a">OnProfileChoice</a>(self, event):
+<a name="l00879"></a>00879 <span class="keywordflow">if</span> self.Profile.GetStringSelection() == <span class="stringliteral">"Other"</span>:
+<a name="l00880"></a>00880 dialog = wxFileDialog(self, <span class="stringliteral">"Choose a file"</span>, self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#37780e6f4737ffa27ff08bc4de64711c">Directory</a>Directory, <span class="stringliteral">""</span>, <span class="stringliteral">"OD Profile files (*.prf)|*.prf|All files|*.*"</span>, wxOPEN|wxCHANGE_DIR)
+<a name="l00881"></a>00881 dialog.ShowModal()
+<a name="l00882"></a>00882 filepath = dialog.GetPath()
+<a name="l00883"></a>00883 dialog.Destroy()
+<a name="l00884"></a>00884 <span class="keywordflow">if</span> os.path.isfile(filepath):
+<a name="l00885"></a>00885 name = os.path.splitext(os.path.basename(filepath))[0]
+<a name="l00886"></a>00886 self.<a class="code" href="classcommondialogs_1_1CreateNodeDialog.html#a5b092c98d3fd4ea4cdffa4d48150ac4">ListProfile</a>ListProfile[name] = filepath
+<a name="l00887"></a>00887 length = self.Profile.GetCount()
+<a name="l00888"></a>00888 self.Profile.Insert(name, length - 2)
+<a name="l00889"></a>00889 self.Profile.SetStringSelection(name)
+<a name="l00890"></a>00890 <span class="keywordflow">else</span>:
+<a name="l00891"></a>00891 self.Profile.SetStringSelection(<span class="stringliteral">"None"</span>)
+<a name="l00892"></a>00892 event.Skip()
+<a name="l00893"></a>00893
+<a name="l00894"></a>00894
+<a name="l00895"></a>00895 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00896"></a>00896 <span class="comment"># ADD Slave to NodeList Dialog</span>
+<a name="l00897"></a>00897 <span class="comment">#-------------------------------------------------------------------------------</span>
+<a name="l00898"></a>00898
+<a name="l00899"></a>00899 [wxID_ADDSLAVEDIALOG, wxID_ADDSLAVEDIALOGMAINPANEL, wxID_ADDSLAVEDIALOGSLAVENAME,
+<a name="l00900"></a>00900 wxID_ADDSLAVEDIALOGSLAVENODEID, wxID_ADDSLAVEDIALOGEDSFILE,
+<a name="l00901"></a>00901 wxID_ADDSLAVEDIALOGIMPORTEDS, wxID_ADDSLAVEDIALOGSTATICTEXT1,
+<a name="l00902"></a>00902 wxID_ADDSLAVEDIALOGSTATICTEXT2, wxID_ADDSLAVEDIALOGSTATICTEXT3,
+<a name="l00903"></a>00903 ] = [wx.NewId() <span class="keywordflow">for</span> _init_ctrls <span class="keywordflow">in</span> range(9)]
+<a name="l00904"></a>00904
+<a name="l00905"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html">00905</a> <span class="keyword">class </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html">AddSlaveDialog</a>(wx.Dialog):
+<a name="l00906"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#881e5f01c3bc7205cd81618e99e97bb7">00906</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#881e5f01c3bc7205cd81618e99e97bb7">_init_coll_flexGridSizer1_Items</a>(self, parent):
+<a name="l00907"></a>00907 <span class="comment"># generated method, don't edit</span>
+<a name="l00908"></a>00908
+<a name="l00909"></a>00909 parent.AddWindow(self.MainPanel, 0, border=0, flag=0)
+<a name="l00910"></a>00910
+<a name="l00911"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#28596c6fdb967515e753e4ba2f3cbbba">00911</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#28596c6fdb967515e753e4ba2f3cbbba">_init_sizers</a>(self):
+<a name="l00912"></a>00912 <span class="comment"># generated method, don't edit</span>
+<a name="l00913"></a>00913 self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+<a name="l00914"></a>00914
+<a name="l00915"></a>00915 self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#881e5f01c3bc7205cd81618e99e97bb7">_init_coll_flexGridSizer1_Items</a>_init_coll_flexGridSizer1_Items(self.flexGridSizer1)
+<a name="l00916"></a>00916
+<a name="l00917"></a>00917 self.SetSizer(self.flexGridSizer1)
+<a name="l00918"></a>00918
+<a name="l00919"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#1fe2e9fa83c9201e4939cbe28ea70f3d">00919</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#1fe2e9fa83c9201e4939cbe28ea70f3d">_init_ctrls</a>(self, prnt):
+<a name="l00920"></a>00920 <span class="comment"># generated method, don't edit</span>
+<a name="l00921"></a>00921 wx.Dialog.__init__(self, id=wxID_ADDSLAVEDIALOG,
+<a name="l00922"></a>00922 name=<span class="stringliteral">'AddSlaveDialog'</span>, parent=prnt, pos=wx.Point(376, 223),
+<a name="l00923"></a>00923 size=wx.Size(300, 250), style=wx.DEFAULT_DIALOG_STYLE,
+<a name="l00924"></a>00924 title=<span class="stringliteral">'Add a slave to nodelist'</span>)
+<a name="l00925"></a>00925 self.SetClientSize(wx.Size(300, 250))
+<a name="l00926"></a>00926
+<a name="l00927"></a>00927 self.MainPanel = wx.Panel(id=wxID_ADDSLAVEDIALOGMAINPANEL,
+<a name="l00928"></a>00928 name=<span class="stringliteral">'MainPanel'</span>, parent=self, pos=wx.Point(0, 0),
+<a name="l00929"></a>00929 size=wx.Size(350, 250), style=wx.TAB_TRAVERSAL)
+<a name="l00930"></a>00930 self.MainPanel.SetAutoLayout(<span class="keyword">True</span>)
+<a name="l00931"></a>00931
+<a name="l00932"></a>00932 self.staticText1 = wx.StaticText(id=wxID_ADDSLAVEDIALOGSTATICTEXT1,
+<a name="l00933"></a>00933 label=<span class="stringliteral">'Slave Name:'</span>, name=<span class="stringliteral">'staticText1'</span>, parent=self.MainPanel,
+<a name="l00934"></a>00934 pos=wx.Point(24, 24), size=wx.Size(150, 17), style=0)
+<a name="l00935"></a>00935
+<a name="l00936"></a>00936 self.SlaveName = wx.TextCtrl(id=wxID_ADDSLAVEDIALOGSLAVENAME,
+<a name="l00937"></a>00937 name=<span class="stringliteral">'SlaveName'</span>, parent=self.MainPanel, pos=wx.Point(24, 48),
+<a name="l00938"></a>00938 size=wx.Size(250, 24), style=0)
+<a name="l00939"></a>00939
+<a name="l00940"></a>00940 self.staticText2 = wx.StaticText(id=wxID_ADDSLAVEDIALOGSTATICTEXT2,
+<a name="l00941"></a>00941 label=<span class="stringliteral">'Slave Node ID:'</span>, name=<span class="stringliteral">'staticText2'</span>, parent=self.MainPanel,
+<a name="l00942"></a>00942 pos=wx.Point(24, 80), size=wx.Size(150, 17), style=0)
+<a name="l00943"></a>00943
+<a name="l00944"></a>00944 self.SlaveNodeID = wx.TextCtrl(id=wxID_ADDSLAVEDIALOGSLAVENODEID,
+<a name="l00945"></a>00945 name=<span class="stringliteral">'SlaveName'</span>, parent=self.MainPanel, pos=wx.Point(24, 104),
+<a name="l00946"></a>00946 size=wx.Size(250, 24), style=wxALIGN_RIGHT)
+<a name="l00947"></a>00947
+<a name="l00948"></a>00948 self.staticText3 = wx.StaticText(id=wxID_ADDSLAVEDIALOGSTATICTEXT3,
+<a name="l00949"></a>00949 label=<span class="stringliteral">'EDS File:'</span>, name=<span class="stringliteral">'staticText3'</span>, parent=self.MainPanel,
+<a name="l00950"></a>00950 pos=wx.Point(24, 136), size=wx.Size(155, 17), style=0)
+<a name="l00951"></a>00951
+<a name="l00952"></a>00952 self.EDSFile = wx.Choice(id=wxID_ADDSLAVEDIALOGEDSFILE,
+<a name="l00953"></a>00953 name=<span class="stringliteral">'EDSFile'</span>, parent=self.MainPanel, pos=wx.Point(24, 160),
+<a name="l00954"></a>00954 size=wx.Size(145, 24), style=0)
+<a name="l00955"></a>00955
+<a name="l00956"></a>00956 self.ImportEDS = wxButton(id=wxID_ADDSLAVEDIALOGIMPORTEDS, label=<span class="stringliteral">'Import EDS'</span>,
+<a name="l00957"></a>00957 name=<span class="stringliteral">'ImportEDS'</span>, parent=self.MainPanel, pos=wx.Point(174, 160),
+<a name="l00958"></a>00958 size=wx.Size(100, 32), style=0)
+<a name="l00959"></a>00959 self.ImportEDS.Bind(wx.EVT_BUTTON, self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#c5d8179971eff35728972924949a4423">OnImportEDSButton</a>OnImportEDSButton,
+<a name="l00960"></a>00960 id=wxID_ADDSLAVEDIALOGIMPORTEDS)
+<a name="l00961"></a>00961
+<a name="l00962"></a>00962 self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#28596c6fdb967515e753e4ba2f3cbbba">_init_sizers</a>_init_sizers()
+<a name="l00963"></a>00963
+<a name="l00964"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#b104177c85484b33a3ef22eab6e55268">00964</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#b104177c85484b33a3ef22eab6e55268">__init__</a>(self, parent):
+<a name="l00965"></a>00965 self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#1fe2e9fa83c9201e4939cbe28ea70f3d">_init_ctrls</a>_init_ctrls(parent)
+<a name="l00966"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#547ce8f618541a9a84f69d2c64c2f113">00966</a> self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#547ce8f618541a9a84f69d2c64c2f113">ButtonSizer</a>ButtonSizer = self.CreateButtonSizer(wxOK|wxCANCEL|wxCENTRE)
+<a name="l00967"></a>00967 self.flexGridSizer1.Add(self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#547ce8f618541a9a84f69d2c64c2f113">ButtonSizer</a>ButtonSizer, 1, wxALIGN_RIGHT)
+<a name="l00968"></a>00968
+<a name="l00969"></a>00969 self.SlaveNodeID.SetValue(<span class="stringliteral">"0x00"</span>)
+<a name="l00970"></a>00970
+<a name="l00971"></a>00971 EVT_BUTTON(self, self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#547ce8f618541a9a84f69d2c64c2f113">ButtonSizer</a>ButtonSizer.GetAffirmativeButton().GetId(), self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#d8788a0255709742043cb758b8e4093d">OnOK</a>OnOK)
+<a name="l00972"></a>00972
+<a name="l00973"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#d8788a0255709742043cb758b8e4093d">00973</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#d8788a0255709742043cb758b8e4093d">OnOK</a>(self, event):
+<a name="l00974"></a>00974 error = []
+<a name="l00975"></a>00975 <span class="keywordflow">if</span> self.SlaveName.GetValue() == <span class="stringliteral">""</span>:
+<a name="l00976"></a>00976 error.append(<span class="stringliteral">"Slave Name"</span>)
+<a name="l00977"></a>00977 <span class="keywordflow">if</span> self.SlaveNodeID.GetValue() == <span class="stringliteral">""</span>:
+<a name="l00978"></a>00978 error.append(<span class="stringliteral">"Slave Node ID"</span>)
+<a name="l00979"></a>00979 <span class="keywordflow">if</span> self.EDSFile.GetStringSelection() == <span class="stringliteral">""</span>:
+<a name="l00980"></a>00980 error.append(<span class="stringliteral">"EDS File"</span>)
+<a name="l00981"></a>00981 <span class="keywordflow">if</span> len(error) > 0:
+<a name="l00982"></a>00982 text = <span class="stringliteral">""</span>
+<a name="l00983"></a>00983 <span class="keywordflow">for</span> i, item <span class="keywordflow">in</span> enumerate(error):
+<a name="l00984"></a>00984 <span class="keywordflow">if</span> i == 0:
+<a name="l00985"></a>00985 text += item
+<a name="l00986"></a>00986 <span class="keywordflow">elif</span> i == len(error) - 1:
+<a name="l00987"></a>00987 text += <span class="stringliteral">" and %s"</span>%item
+<a name="l00988"></a>00988 <span class="keywordflow">else</span>:
+<a name="l00989"></a>00989 text += <span class="stringliteral">", %s"</span>%item
+<a name="l00990"></a>00990 message = wxMessageDialog(self, <span class="stringliteral">"Form isn't complete. %s must be filled!"</span>%text, <span class="stringliteral">"Error"</span>, wxOK|wxICON_ERROR)
+<a name="l00991"></a>00991 message.ShowModal()
+<a name="l00992"></a>00992 message.Destroy()
+<a name="l00993"></a>00993 <span class="keywordflow">else</span>:
+<a name="l00994"></a>00994 <span class="keywordflow">try</span>:
+<a name="l00995"></a>00995 nodeid = self.SlaveNodeID.GetValue()
+<a name="l00996"></a>00996 <span class="keywordflow">if</span> nodeid.find(<span class="stringliteral">"x"</span>) != -1:
+<a name="l00997"></a>00997 nodeid = int(nodeid, 16)
+<a name="l00998"></a>00998 <span class="keywordflow">else</span>:
+<a name="l00999"></a>00999 nodeid = int(nodeid)
+<a name="l01000"></a>01000 <span class="keywordflow">except</span>:
+<a name="l01001"></a>01001 message = wxMessageDialog(self, <span class="stringliteral">"Slave Node ID must be a value in decimal or hexadecimal!"</span>, <span class="stringliteral">"Error"</span>, wxOK|wxICON_ERROR)
+<a name="l01002"></a>01002 message.ShowModal()
+<a name="l01003"></a>01003 message.Destroy()
+<a name="l01004"></a>01004 <span class="keywordflow">return</span>
+<a name="l01005"></a>01005 <span class="keywordflow">if</span> <span class="keywordflow">not</span> 0 <= nodeid <= 127:
+<a name="l01006"></a>01006 message = wxMessageDialog(self, <span class="stringliteral">"Slave Node ID must be between 0 and 127!"</span>, <span class="stringliteral">"Error"</span>, wxOK|wxICON_ERROR)
+<a name="l01007"></a>01007 message.ShowModal()
+<a name="l01008"></a>01008 message.Destroy()
+<a name="l01009"></a>01009 <span class="keywordflow">elif</span> nodeid == 0 <span class="keywordflow">or</span> nodeid <span class="keywordflow">in</span> self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#74c3506f4b1c4fa83d88c013eed6c727">NodeList</a>NodeList.SlaveNodes.keys():
+<a name="l01010"></a>01010 message = wxMessageDialog(self, <span class="stringliteral">"A Node with this ID already exist in the network!"</span>, <span class="stringliteral">"Error"</span>, wxOK|wxICON_ERROR)
+<a name="l01011"></a>01011 message.ShowModal()
+<a name="l01012"></a>01012 message.Destroy()
+<a name="l01013"></a>01013 <span class="keywordflow">else</span>:
+<a name="l01014"></a>01014 self.EndModal(wxID_OK)
+<a name="l01015"></a>01015
+<a name="l01016"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#c5d8179971eff35728972924949a4423">01016</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#c5d8179971eff35728972924949a4423">OnImportEDSButton</a>(self, event):
+<a name="l01017"></a>01017 dialog = wxFileDialog(self, <span class="stringliteral">"Choose an EDS file"</span>, os.getcwd(), <span class="stringliteral">""</span>, <span class="stringliteral">"EDS files (*.eds)|*.eds|All files|*.*"</span>, wxOPEN|wxCHANGE_DIR)
+<a name="l01018"></a>01018 <span class="keywordflow">if</span> dialog.ShowModal() == wxID_OK:
+<a name="l01019"></a>01019 filepath = dialog.GetPath()
+<a name="l01020"></a>01020 <span class="keywordflow">if</span> os.path.isfile(filepath):
+<a name="l01021"></a>01021 result = self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#74c3506f4b1c4fa83d88c013eed6c727">NodeList</a>NodeList.ImportEDSFile(filepath)
+<a name="l01022"></a>01022 <span class="keywordflow">if</span> result:
+<a name="l01023"></a>01023 message = wxMessageDialog(self, result, <span class="stringliteral">"Error"</span>, wxOK|wxICON_ERROR)
+<a name="l01024"></a>01024 message.ShowModal()
+<a name="l01025"></a>01025 message.Destroy()
+<a name="l01026"></a>01026 dialog.Destroy()
+<a name="l01027"></a>01027 self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#7db65b205229e136495f5e98f16aef72">RefreshEDSFile</a>RefreshEDSFile()
+<a name="l01028"></a>01028 event.Skip()
+<a name="l01029"></a>01029
+<a name="l01030"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#7db65b205229e136495f5e98f16aef72">01030</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#7db65b205229e136495f5e98f16aef72">RefreshEDSFile</a>(self):
+<a name="l01031"></a>01031 selection = self.EDSFile.GetStringSelection()
+<a name="l01032"></a>01032 self.EDSFile.Clear()
+<a name="l01033"></a>01033 <span class="keywordflow">for</span> option <span class="keywordflow">in</span> self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#74c3506f4b1c4fa83d88c013eed6c727">NodeList</a>NodeList.EDSNodes.keys():
+<a name="l01034"></a>01034 self.EDSFile.Append(option)
+<a name="l01035"></a>01035 <span class="keywordflow">if</span> self.EDSFile.FindString(selection) != wxNOT_FOUND:
+<a name="l01036"></a>01036 self.EDSFile.SetStringSelection(selection)
+<a name="l01037"></a>01037
+<a name="l01038"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#70e8955dbb57253e53d28f24a7f28da4">01038</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#70e8955dbb57253e53d28f24a7f28da4">SetNodeList</a>(self, nodelist):
+<a name="l01039"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#74c3506f4b1c4fa83d88c013eed6c727">01039</a> self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#74c3506f4b1c4fa83d88c013eed6c727">NodeList</a>NodeList = nodelist
+<a name="l01040"></a>01040 self.<a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#7db65b205229e136495f5e98f16aef72">RefreshEDSFile</a>RefreshEDSFile()
+<a name="l01041"></a>01041
+<a name="l01042"></a><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#0211d3e7bd98931e9426f587b7956d5b">01042</a> <span class="keyword">def </span><a class="code" href="classcommondialogs_1_1AddSlaveDialog.html#0211d3e7bd98931e9426f587b7956d5b">GetValues</a>(self):
+<a name="l01043"></a>01043 values = {}
+<a name="l01044"></a>01044 values[<span class="stringliteral">"slaveName"</span>] = self.SlaveName.GetValue()
+<a name="l01045"></a>01045 nodeid = self.SlaveNodeID.GetValue()
+<a name="l01046"></a>01046 <span class="keywordflow">if</span> nodeid.find(<span class="stringliteral">"x"</span>) != -1:
+<a name="l01047"></a>01047 values[<span class="stringliteral">"slaveNodeID"</span>] = int(nodeid, 16)
+<a name="l01048"></a>01048 <span class="keywordflow">else</span>:
+<a name="l01049"></a>01049 values[<span class="stringliteral">"slaveNodeID"</span>] = int(nodeid)
+<a name="l01050"></a>01050 values[<span class="stringliteral">"edsFile"</span>] = self.EDSFile.GetStringSelection()
+<a name="l01051"></a>01051 <span class="keywordflow">return</span> values
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 4 16:29:06 2007 for CanFestival by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>