/VibrationTest/trunk/VibrationTest/VibrationTestGui.py |
---|
99,24 → 99,26 |
self.frame_1_menubar.Append(wxglade_tmp_menu, "Help") |
self.SetMenuBar(self.frame_1_menubar) |
# Menu Bar end |
self.Description = wx.StaticText(self, -1, "Description") |
self.text_ctrl_6 = wx.TextCtrl(self, -1, "Test") |
self.label_37 = wx.StaticText(self, -1, "Speed(s)") |
self.text_ctrl_9 = wx.TextCtrl(self, -1, "100-200:10") |
self.label_35 = wx.StaticText(self, -1, "Motor(s)") |
self.text_ctrl_7 = wx.TextCtrl(self, -1, "1") |
self.label_38 = wx.StaticText(self, -1, "") |
self.text_ctrl_10 = wx.TextCtrl(self, -1, "") |
self.label_36 = wx.StaticText(self, -1, "Channel") |
self.text_ctrl_8 = wx.TextCtrl(self, -1, "6") |
self.label_39 = wx.StaticText(self, -1, "") |
self.text_ctrl_11 = wx.TextCtrl(self, -1, "") |
self.button_4 = wx.Button(self, -1, "Start") |
self.GraphPanel = wx.Panel(self, -1) |
self.label_40 = wx.StaticText(self, -1, "Graph Type ") |
self.graphTypeChoice = wx.Choice(self, -1, choices=["Raw Signal", "Filtered Signal", "Spectrum"]) |
self.label_41 = wx.StaticText(self, -1, "Y Axis Range ") |
self.yAxisChoice = wx.Choice(self, -1, choices=["25", "50", "100", "200"]) |
self.Port = wx.StaticText(self, -1, "Port") |
self.text_ctrl_1 = wx.TextCtrl(self, -1, "") |
self.label_5 = wx.StaticText(self, -1, "label_5") |
self.text_ctrl_5 = wx.TextCtrl(self, -1, "") |
self.label_2 = wx.StaticText(self, -1, "Motor(s)") |
self.text_ctrl_2 = wx.TextCtrl(self, -1, "") |
self.label_6 = wx.StaticText(self, -1, "label_6") |
self.text_ctrl_6 = wx.TextCtrl(self, -1, "") |
self.label_3 = wx.StaticText(self, -1, "Channel(s)") |
self.text_ctrl_3 = wx.TextCtrl(self, -1, "") |
self.label_7 = wx.StaticText(self, -1, "label_7") |
self.text_ctrl_7 = wx.TextCtrl(self, -1, "") |
self.label_4 = wx.StaticText(self, -1, "Speed(s)") |
self.text_ctrl_4 = wx.TextCtrl(self, -1, "") |
self.label_8 = wx.StaticText(self, -1, "label_8") |
self.text_ctrl_8 = wx.TextCtrl(self, -1, "") |
self.button_1 = wx.Button(self, -1, "button_1") |
self.GraphPanel = wx.Panel(self, -1, style=wx.DOUBLE_BORDER|wx.TAB_TRAVERSAL) |
self.yAxesChoice = wx.ComboBox(self, -1, choices=["10", "25", "50", "100", "250"], style=wx.CB_DROPDOWN) |
self.graphTypeChoise = wx.ComboBox(self, -1, choices=["Raw Data", "Filtered Data", "Spectrum"], style=wx.CB_DROPDOWN) |
self.TestListCtrl = wx.ListCtrl(self, -1, style=wx.LC_REPORT|wx.SUNKEN_BORDER) |
self.__set_properties() |
123,8 → 125,8 |
self.__do_layout() |
self.Bind(wx.EVT_MENU, self.OnImport, id=-1) |
self.Bind(wx.EVT_CHOICE, self.onGraphTypeChange, self.graphTypeChoice) |
self.Bind(wx.EVT_CHOICE, self.onYAxisChange, self.yAxisChoice) |
self.Bind(wx.EVT_COMBOBOX, self.onYAxisChange, self.yAxesChoice) |
self.Bind(wx.EVT_COMBOBOX, self.onYAxisChange, self.graphTypeChoise) |
# end wxGlade |
def setApp(self, app): |
133,59 → 135,47 |
def __set_properties(self): |
# begin wxGlade: MainFrame.__set_properties |
self.SetTitle("VibrationTest") |
self.SetSize((850, 700)) |
self.Description.SetMinSize((53, 13)) |
self.GraphPanel.SetMinSize((800,300)) |
self.graphTypeChoice.SetSelection(0) |
self.yAxisChoice.SetSelection(1) |
self.TestListCtrl.SetMinSize((800,300)) |
self.GraphPanel.SetMinSize((800,350)) |
self.yAxesChoice.SetSelection(2) |
self.graphTypeChoise.SetSelection(0) |
# end wxGlade |
def __do_layout(self): |
# begin wxGlade: MainFrame.__do_layout |
sizer_3 = wx.BoxSizer(wx.HORIZONTAL) |
sizer_8 = wx.BoxSizer(wx.VERTICAL) |
sizer_11 = wx.BoxSizer(wx.VERTICAL) |
sizer_12 = wx.BoxSizer(wx.HORIZONTAL) |
sizer_9 = wx.BoxSizer(wx.HORIZONTAL) |
sizer_10 = wx.BoxSizer(wx.HORIZONTAL) |
grid_sizer_1 = wx.GridSizer(3, 4, 4, 5) |
sizer_3.Add((20, 20), 0, 0, 0) |
sizer_8.Add((20, 20), 0, 0, 0) |
grid_sizer_1.Add(self.Description, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 0) |
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
grid_sizer_2 = wx.GridSizer(2, 1, 4, 4) |
sizer_2 = wx.BoxSizer(wx.HORIZONTAL) |
grid_sizer_1 = wx.GridSizer(5, 4, 4, 4) |
sizer_1.Add((20, 20), 0, 0, 0) |
grid_sizer_1.Add(self.Port, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_1, 0, 0, 0) |
grid_sizer_1.Add(self.label_5, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_5, 0, 0, 0) |
grid_sizer_1.Add(self.label_2, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_2, 0, 0, 0) |
grid_sizer_1.Add(self.label_6, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_6, 0, 0, 0) |
grid_sizer_1.Add(self.label_37, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 0) |
grid_sizer_1.Add(self.text_ctrl_9, 0, 0, 0) |
grid_sizer_1.Add(self.label_35, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 0) |
grid_sizer_1.Add(self.label_3, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_3, 0, 0, 0) |
grid_sizer_1.Add(self.label_7, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_7, 0, 0, 0) |
grid_sizer_1.Add(self.label_38, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 0) |
grid_sizer_1.Add(self.text_ctrl_10, 0, 0, 0) |
grid_sizer_1.Add(self.label_36, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 0) |
grid_sizer_1.Add(self.label_4, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_4, 0, 0, 0) |
grid_sizer_1.Add(self.label_8, 0, wx.ALIGN_RIGHT, 0) |
grid_sizer_1.Add(self.text_ctrl_8, 0, 0, 0) |
grid_sizer_1.Add(self.label_39, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 0) |
grid_sizer_1.Add(self.text_ctrl_11, 0, 0, 0) |
sizer_9.Add(grid_sizer_1, 0, 0, 0) |
sizer_10.Add((50, 20), 0, 0, 0) |
sizer_10.Add(self.button_4, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
sizer_9.Add(sizer_10, 1, wx.EXPAND, 0) |
sizer_8.Add(sizer_9, 0, 0, 0) |
sizer_8.Add((20, 30), 0, 0, 0) |
sizer_11.Add(self.GraphPanel, 1, wx.EXPAND, 0) |
sizer_11.Add((20, 5), 0, 0, 0) |
sizer_12.Add(self.label_40, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
sizer_12.Add(self.graphTypeChoice, 0, 0, 0) |
sizer_12.Add((40, 20), 0, 0, 0) |
sizer_12.Add(self.label_41, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
sizer_12.Add(self.yAxisChoice, 0, 0, 0) |
sizer_11.Add(sizer_12, 0, 0, 0) |
sizer_8.Add(sizer_11, 0, 0, 0) |
sizer_8.Add((20, 30), 0, 0, 0) |
sizer_8.Add(self.TestListCtrl, 1, 0, 0) |
sizer_8.Add((20, 20), 0, 0, 0) |
sizer_3.Add(sizer_8, 1, wx.EXPAND, 0) |
self.SetSizer(sizer_3) |
grid_sizer_1.Add(self.button_1, 0, 0, 0) |
sizer_1.Add(grid_sizer_1, 0, 0, 2) |
sizer_1.Add((20, 20), 0, 0, 0) |
sizer_1.Add(self.GraphPanel, 1, 0, 0) |
sizer_2.Add(self.yAxesChoice, 0, 0, 0) |
sizer_2.Add(self.graphTypeChoise, 0, 0, 0) |
sizer_1.Add(sizer_2, 0, wx.EXPAND, 0) |
sizer_1.Add((20, 20), 0, 0, 0) |
grid_sizer_2.Add(self.TestListCtrl, 1, wx.ALL|wx.EXPAND, 0) |
sizer_1.Add(grid_sizer_2, 1, wx.EXPAND, 0) |
self.SetSizer(sizer_1) |
sizer_1.Fit(self) |
self.Layout() |
self.SetSize((850, 700)) |
# end wxGlade |
# List events |
249,29 → 239,19 |
def drawGraph(self): |
vibTest = self.app.getTest(self.activeTestId) |
nb = vibTest.getDataLen() |
y = int(self.yAxisChoice.GetStringSelection()) |
y = int(self.yAxesChoice.GetStringSelection()) |
if self.graphTypeChoice.GetSelection() == 0: |
if self.graphTypeChoise.GetSelection() == 0: |
xydata = _Numeric.linspace(0,0.09*nb,2*nb) |
xydata.shape = (nb, 2) |
xydata[:,1] = vibTest.getRawData() |
line = wx.lib.plot.PolyLine(xydata, legend= 'Raw Data', colour='red', width=2) |
line = wx.lib.plot.PolyLine(xydata, legend= 'Raw Data', colour='red') |
title = "Raw Signal: %s %s %d" %(vibTest.descr, vibTest.channel, vibTest.speed) |
self.client.Draw(wx.lib.plot.PlotGraphics([line], title, "Time (ms)", "Acc"), yAxis= (-y,y)) |
self.client.SetEnableGrid('Horizontal') |
if self.graphTypeChoice.GetSelection() == 1: |
xydata = _Numeric.linspace(0,0.09*nb,2*nb) |
xydata.shape = (nb, 2) |
xydata[:,1] = vibTest.getFilteredData() |
line = wx.lib.plot.PolyLine(xydata, legend= 'Raw Data', colour='red', width=2) |
title = "Filtered Signal: %s %s %d" %(vibTest.descr, vibTest.channel, vibTest.speed) |
self.client.Draw(wx.lib.plot.PlotGraphics([line], title, "Time (ms)", "Acc"), yAxis= (-y,y)) |
self.client.SetEnableGrid('Horizontal') |
elif self.graphTypeChoice.GetSelection() == 2: |
elif self.graphTypeChoise.GetSelection() == 2: |
xydata = _Numeric.linspace(0,5555,nb) |
xydata.shape = (nb/2, 2) |
278,11 → 258,11 |
xydata[:,1] = vibTest.getSpectrum() |
line = wx.lib.plot.PolyLine(xydata, legend= 'Spectrum', colour='red') |
markers = wx.lib.plot.PolyMarker(xydata, legend= '', colour='red', marker='circle',size=2) |
markers = wx.lib.plot.PolyMarker(xydata, legend= '', colour='red', marker='circle',size=1) |
title = "Spectrum: %s %s %d" %(vibTest.descr, vibTest.channel, vibTest.speed) |
self.client.Draw(wx.lib.plot.PlotGraphics([line,markers], title, "Freq (Hz)", "Acc"), xAxis=(0,300), yAxis= (-0,y)) |
self.client.SetEnableGrid(True) |
self.client.Draw(wx.lib.plot.PlotGraphics([line,markers], title, "Freq (Hz)", "Acc"), xAxis=(0,500), yAxis= (-0,y)) |
self.client.SetEnableGrid('Horizontal') |
def OnImport(self, event): # wxGlade: MainFrame.<event_handler> |
291,7 → 271,7 |
def onYAxisChange(self, event): # wxGlade: MainFrame.<event_handler> |
self.drawGraph() |
def onGraphTypeChange(self, event): # wxGlade: MainFrame.<event_handler> |
def onYAxisChange(self, event): # wxGlade: MainFrame.<event_handler> |
self.drawGraph() |
# end of class MainFrame |
305,15 → 285,13 |
self.channel = channel |
self.dataLen = len(rawData) |
print self.dataLen |
self.rawData = _Numeric.array(rawData) |
self.dc = self.rawData.mean() |
self.rawData -= self.dc |
self.fft = _Numeric.fft.rfft(self.rawData) |
self.spectrum = None |
self.filteredData = None |
self.fft = _Numeric.fft.fft(self.rawData) |
def getDescr(self): |
return self.Descr |
325,19 → 303,8 |
return self.dataLen |
def getSpectrum(self): |
if self.spectrum == None: |
self.spectrum = _Numeric.absolute(self.fft[1:self.dataLen/2+1]) / (self.dataLen/2) |
return self.spectrum |
return _Numeric.absolute(self.fft[1:self.dataLen/2+1]) / (self.dataLen/2) |
def getFilteredData(self): |
if self.filteredData == None: |
tmpfft = self.fft.copy() |
for i in range(0,7): |
tmpfft[i] = 0 |
for i in range(30, len(tmpfft)): |
tmpfft[i] = 0 |
self.filteredData = _Numeric.fft.irfft(tmpfft) |
return self.filteredData |
class App(wx.App): |
def __init__(self, par): |
364,8 → 331,7 |
return 1 |
def Import(self): |
filePath = "./unbal150.txt" |
filePath = "./unbal200.txt" |
#filePath = "./nikivan.txt" |
print "Import %s" % filePath |
384,6 → 350,7 |
for c in range(nbCols): |
data.append([]) |
h = headers[c].split(' ') |
print h |
descr.append(h[0]); |
speed.append(h[1]); |
channel.append(h[2]); |
/VibrationTest/trunk/VibrationTest/VibrationTestGui.wxg |
---|
1,5 → 1,5 |
<?xml version="1.0"?> |
<!-- generated by wxGlade 0.6.3 on Thu Oct 01 16:10:40 2009 --> |
<!-- generated by wxGlade 0.6.3 on Thu Oct 01 13:13:08 2009 --> |
<application path="D:\Fred\MK_Proj\VibrationTest\trunk\VibrationTest\VibrationTestGui.py" name="VibrationTestGui" class="App" option="0" language="python" top_window="frame_1" encoding="ISO-8859-15" use_gettext="0" overwrite="0" use_new_namespace="1" for_version="2.6" is_template="0"> |
<object class="MainFrame" name="frame_1" base="EditFrame"> |
6,7 → 6,6 |
<style>wxDEFAULT_FRAME_STYLE</style> |
<title>VibrationTest</title> |
<menubar>1</menubar> |
<size>850, 700</size> |
<object class="wxMenuBar" name="frame_1_menubar" base="EditMenuBar"> |
<menus> |
<menu name="" label="File"> |
29,8 → 28,8 |
</menu> |
</menus> |
</object> |
<object class="wxBoxSizer" name="sizer_3" base="EditBoxSizer"> |
<orient>wxHORIZONTAL</orient> |
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer"> |
<orient>wxVERTICAL</orient> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
40,275 → 39,228 |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxEXPAND</flag> |
<border>0</border> |
<option>1</option> |
<object class="wxBoxSizer" name="sizer_8" base="EditBoxSizer"> |
<orient>wxVERTICAL</orient> |
<border>2</border> |
<option>0</option> |
<object class="wxGridSizer" name="grid_sizer_1" base="EditGridSizer"> |
<hgap>4</hgap> |
<rows>5</rows> |
<cols>4</cols> |
<vgap>4</vgap> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>20</height> |
<width>20</width> |
<object class="wxStaticText" name="Port" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Port</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxBoxSizer" name="sizer_9" base="EditBoxSizer"> |
<orient>wxHORIZONTAL</orient> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxGridSizer" name="grid_sizer_1" base="EditGridSizer"> |
<hgap>5</hgap> |
<rows>3</rows> |
<cols>4</cols> |
<vgap>4</vgap> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="Description" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Description</label> |
<size>53, 13</size> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_6" base="EditTextCtrl"> |
<value>Test</value> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_37" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Speed(s)</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_9" base="EditTextCtrl"> |
<value>100-200:10</value> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_35" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Motor(s)</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_7" base="EditTextCtrl"> |
<value>1</value> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_38" base="EditStaticText"> |
<attribute>1</attribute> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_10" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_36" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Channel</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_8" base="EditTextCtrl"> |
<value>6</value> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_39" base="EditStaticText"> |
<attribute>1</attribute> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_11" base="EditTextCtrl"> |
</object> |
</object> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxEXPAND</flag> |
<border>0</border> |
<option>1</option> |
<object class="wxBoxSizer" name="sizer_10" base="EditBoxSizer"> |
<orient>wxHORIZONTAL</orient> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>20</height> |
<width>50</width> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxButton" name="button_4" base="EditButton"> |
<label>Start</label> |
</object> |
</object> |
</object> |
</object> |
<object class="wxTextCtrl" name="text_ctrl_1" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>30</height> |
<width>20</width> |
<object class="wxStaticText" name="label_5" base="EditStaticText"> |
<attribute>1</attribute> |
<label>label_5</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxBoxSizer" name="sizer_11" base="EditBoxSizer"> |
<orient>wxVERTICAL</orient> |
<object class="sizeritem"> |
<flag>wxEXPAND</flag> |
<border>0</border> |
<option>1</option> |
<object class="wxPanel" name="GraphPanel" base="EditPanel"> |
<style>wxTAB_TRAVERSAL</style> |
<size>800,300</size> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>5</height> |
<width>20</width> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxBoxSizer" name="sizer_12" base="EditBoxSizer"> |
<orient>wxHORIZONTAL</orient> |
<object class="sizeritem"> |
<flag>wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_40" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Graph Type </label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxChoice" name="graphTypeChoice" base="EditChoice"> |
<selection>0</selection> |
<choices> |
<choice>Raw Signal</choice> |
<choice>Filtered Signal</choice> |
<choice>Spectrum</choice> |
</choices> |
<events> |
<handler event="EVT_CHOICE">onGraphTypeChange</handler> |
</events> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>20</height> |
<width>40</width> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_CENTER_VERTICAL</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_41" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Y Axis Range </label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxChoice" name="yAxisChoice" base="EditChoice"> |
<selection>1</selection> |
<choices> |
<choice>25</choice> |
<choice>50</choice> |
<choice>100</choice> |
<choice>200</choice> |
</choices> |
<events> |
<handler event="EVT_CHOICE">onYAxisChange</handler> |
</events> |
</object> |
</object> |
</object> |
</object> |
<object class="wxTextCtrl" name="text_ctrl_5" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>30</height> |
<width>20</width> |
<object class="wxStaticText" name="label_2" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Motor(s)</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>1</option> |
<object class="wxListCtrl" name="TestListCtrl" base="EditListCtrl"> |
<style>wxLC_REPORT|wxSUNKEN_BORDER</style> |
<size>800,300</size> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_2" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>20</height> |
<width>20</width> |
<object class="wxStaticText" name="label_6" base="EditStaticText"> |
<attribute>1</attribute> |
<label>label_6</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_6" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_3" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Channel(s)</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_3" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_7" base="EditStaticText"> |
<attribute>1</attribute> |
<label>label_7</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_7" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_4" base="EditStaticText"> |
<attribute>1</attribute> |
<label>Speed(s)</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_4" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxALIGN_RIGHT</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxStaticText" name="label_8" base="EditStaticText"> |
<attribute>1</attribute> |
<label>label_8</label> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxTextCtrl" name="text_ctrl_8" base="EditTextCtrl"> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxButton" name="button_1" base="EditButton"> |
<label>button_1</label> |
</object> |
</object> |
<object class="sizerslot" /> |
<object class="sizerslot" /> |
<object class="sizerslot" /> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>20</height> |
<width>20</width> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>1</option> |
<object class="wxPanel" name="GraphPanel" base="EditPanel"> |
<style>wxDOUBLE_BORDER|wxTAB_TRAVERSAL</style> |
<size>800,350</size> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxEXPAND</flag> |
<border>0</border> |
<option>0</option> |
<object class="wxBoxSizer" name="sizer_2" base="EditBoxSizer"> |
<orient>wxHORIZONTAL</orient> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxComboBox" name="yAxesChoice" base="EditComboBox"> |
<selection>2</selection> |
<choices> |
<choice>10</choice> |
<choice>25</choice> |
<choice>50</choice> |
<choice>100</choice> |
<choice>250</choice> |
</choices> |
<events> |
<handler event="EVT_COMBOBOX">onYAxisChange</handler> |
</events> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="wxComboBox" name="graphTypeChoise" base="EditComboBox"> |
<selection>0</selection> |
<choices> |
<choice>Raw Data</choice> |
<choice>Filtered Data</choice> |
<choice>Spectrum</choice> |
</choices> |
<events> |
<handler event="EVT_COMBOBOX">onYAxisChange</handler> |
</events> |
</object> |
</object> |
</object> |
</object> |
<object class="sizeritem"> |
<border>0</border> |
<option>0</option> |
<object class="spacer" name="spacer" base="EditSpacer"> |
<height>20</height> |
<width>20</width> |
</object> |
</object> |
<object class="sizeritem"> |
<flag>wxEXPAND</flag> |
<border>0</border> |
<option>1</option> |
<object class="wxGridSizer" name="grid_sizer_2" base="EditGridSizer"> |
<hgap>4</hgap> |
<rows>2</rows> |
<cols>1</cols> |
<vgap>4</vgap> |
<object class="sizeritem"> |
<flag>wxALL|wxEXPAND</flag> |
<border>0</border> |
<option>1</option> |
<object class="wxListCtrl" name="TestListCtrl" base="EditListCtrl"> |
<style>wxLC_REPORT|wxSUNKEN_BORDER</style> |
</object> |
</object> |
</object> |
</object> |
</object> |
</object> |
</application> |