# -*- coding: utf-8 -*- ########################################################################### ## Python code generated with wxFormBuilder (version Oct 26 2018) ## http://www.wxformbuilder.org/ ## ## PLEASE DO *NOT* EDIT THIS FILE! ########################################################################### import wx import wx.xrc ########################################################################### ## Class mainFrame ########################################################################### class mainFrame ( wx.Frame ): def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Agronode setup", pos = wx.DefaultPosition, size = wx.Size( 918,615 ), style = wx.DEFAULT_FRAME_STYLE|wx.RESIZE_BORDER|wx.SYSTEM_MENU|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) mainSizer = wx.BoxSizer( wx.VERTICAL ) self.m_notebook = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_panelNode = wx.Panel( self.m_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer6 = wx.BoxSizer( wx.VERTICAL ) bSizer10 = wx.BoxSizer( wx.HORIZONTAL ) bSizer101 = wx.BoxSizer( wx.VERTICAL ) self.m_staticTextNode = wx.StaticText( self.m_panelNode, wx.ID_ANY, u"Node:\n", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticTextNode.Wrap( -1 ) bSizer101.Add( self.m_staticTextNode, 2, wx.ALL|wx.EXPAND, 5 ) self.m_staticTextFlash = wx.StaticText( self.m_panelNode, wx.ID_ANY, u"Flash:\n", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticTextFlash.Wrap( -1 ) bSizer101.Add( self.m_staticTextFlash, 1, wx.ALL, 5 ) self.m_staticTextDatetime = wx.StaticText( self.m_panelNode, wx.ID_ANY, u"Datetime:\n", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticTextDatetime.Wrap( -1 ) bSizer101.Add( self.m_staticTextDatetime, 1, wx.ALL, 5 ) bSizer10.Add( bSizer101, 1, wx.EXPAND, 5 ) bSizer6.Add( bSizer10, 1, wx.EXPAND, 5 ) self.m_panelNode.SetSizer( bSizer6 ) self.m_panelNode.Layout() bSizer6.Fit( self.m_panelNode ) self.m_notebook.AddPage( self.m_panelNode, u"node", True ) self.m_panelScript = wx.Panel( self.m_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer3 = wx.BoxSizer( wx.HORIZONTAL ) self.m_scrolledWindowParams = wx.ScrolledWindow( self.m_panelScript, wx.ID_ANY, wx.DefaultPosition, wx.Size( 200,-1 ), wx.ALWAYS_SHOW_SB|wx.VSCROLL ) self.m_scrolledWindowParams.SetScrollRate( 5, 5 ) bSizerParams = wx.BoxSizer( wx.VERTICAL ) bSizerParams.SetMinSize( wx.Size( 200,-1 ) ) m_comboBoxSizerChoices = [] self.m_comboBoxSizer = wx.ComboBox( self.m_scrolledWindowParams, wx.ID_ANY, u"Combo!", wx.DefaultPosition, wx.DefaultSize, m_comboBoxSizerChoices, 0 ) self.m_comboBoxSizer.Hide() bSizerParams.Add( self.m_comboBoxSizer, 0, wx.ALL, 5 ) self.m_scrolledWindowParams.SetSizer( bSizerParams ) self.m_scrolledWindowParams.Layout() bSizer3.Add( self.m_scrolledWindowParams, 0, wx.EXPAND |wx.ALL, 5 ) self.m_textCtrlScript = wx.TextCtrl( self.m_panelScript, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE|wx.TE_READONLY ) bSizer3.Add( self.m_textCtrlScript, 1, wx.ALL|wx.EXPAND, 5 ) bSizer7 = wx.BoxSizer( wx.VERTICAL ) self.m_buttonLoadScript = wx.Button( self.m_panelScript, wx.ID_ANY, u"Open", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer7.Add( self.m_buttonLoadScript, 0, wx.ALL, 5 ) self.m_buttonUploadScript = wx.Button( self.m_panelScript, wx.ID_ANY, u"Upload", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer7.Add( self.m_buttonUploadScript, 0, wx.ALL, 5 ) self.m_buttonSaveScript = wx.Button( self.m_panelScript, wx.ID_ANY, u"Save", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer7.Add( self.m_buttonSaveScript, 0, wx.ALL, 5 ) self.m_buttonDownloadScript = wx.Button( self.m_panelScript, wx.ID_ANY, u"Download", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer7.Add( self.m_buttonDownloadScript, 0, wx.ALL, 5 ) self.m_staticline1 = wx.StaticLine( self.m_panelScript, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ) bSizer7.Add( self.m_staticline1, 0, wx.EXPAND |wx.ALL, 5 ) self.m_buttonRunScript = wx.Button( self.m_panelScript, wx.ID_ANY, u"Run", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer7.Add( self.m_buttonRunScript, 0, wx.ALL, 5 ) bSizer3.Add( bSizer7, 0, wx.EXPAND, 5 ) self.m_panelScript.SetSizer( bSizer3 ) self.m_panelScript.Layout() bSizer3.Fit( self.m_panelScript ) self.m_notebook.AddPage( self.m_panelScript, u"script", False ) self.m_panelData = wx.Panel( self.m_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizerData = wx.BoxSizer( wx.VERTICAL ) self.m_buttonSaveData = wx.Button( self.m_panelData, wx.ID_ANY, u"Save", wx.DefaultPosition, wx.DefaultSize, 0, wx.DefaultValidator, u"Save" ) bSizerData.Add( self.m_buttonSaveData, 0, wx.ALL, 5 ) self.m_listCtrlData = wx.ListCtrl( self.m_panelData, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_REPORT ) bSizerData.Add( self.m_listCtrlData, 1, wx.ALL|wx.EXPAND, 5 ) self.m_panelData.SetSizer( bSizerData ) self.m_panelData.Layout() bSizerData.Fit( self.m_panelData ) self.m_notebook.AddPage( self.m_panelData, u"data", False ) self.m_panelFirmware = wx.Panel( self.m_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizerData1 = wx.BoxSizer( wx.VERTICAL ) self.m_staticText9 = wx.StaticText( self.m_panelFirmware, wx.ID_ANY, u"New firmware is downloaded via DFuse application", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText9.Wrap( -1 ) bSizerData1.Add( self.m_staticText9, 0, wx.ALL, 5 ) self.m_buttonDfuse = wx.Button( self.m_panelFirmware, wx.ID_ANY, u"Enter DFuse Mode", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizerData1.Add( self.m_buttonDfuse, 0, wx.ALL, 5 ) self.m_panelFirmware.SetSizer( bSizerData1 ) self.m_panelFirmware.Layout() bSizerData1.Fit( self.m_panelFirmware ) self.m_notebook.AddPage( self.m_panelFirmware, u"firmware", False ) self.m_panelSDI12 = wx.Panel( self.m_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer11 = wx.BoxSizer( wx.HORIZONTAL ) sbSizer5 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelSDI12, wx.ID_ANY, wx.EmptyString ), wx.VERTICAL ) self.m_textCtrlSDI12Adress = wx.TextCtrl( sbSizer5.GetStaticBox(), wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 20,-1 ), wx.TE_CENTER ) self.m_textCtrlSDI12Adress.SetMaxLength( 1 ) sbSizer5.Add( self.m_textCtrlSDI12Adress, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, 7 ) self.m_buttonSDI12Scan = wx.Button( sbSizer5.GetStaticBox(), wx.ID_ANY, u"query", wx.DefaultPosition, wx.DefaultSize, 0 ) sbSizer5.Add( self.m_buttonSDI12Scan, 0, wx.ALL, 7 ) bSizer11.Add( sbSizer5, 0, wx.EXPAND, 5 ) bSizer21 = wx.BoxSizer( wx.VERTICAL ) sbSizer2 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelSDI12, wx.ID_ANY, u"address" ), wx.HORIZONTAL ) self.m_buttonSDI12AddressChange = wx.Button( sbSizer2.GetStaticBox(), wx.ID_ANY, u"change to", wx.DefaultPosition, wx.DefaultSize, 0 ) sbSizer2.Add( self.m_buttonSDI12AddressChange, 0, wx.ALL, 7 ) self.m_textCtrlSDI12AdressChange = wx.TextCtrl( sbSizer2.GetStaticBox(), wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 20,-1 ), wx.TE_CENTER ) self.m_textCtrlSDI12AdressChange.SetMaxLength( 1 ) sbSizer2.Add( self.m_textCtrlSDI12AdressChange, 0, wx.ALL, 7 ) bSizer21.Add( sbSizer2, 0, wx.EXPAND, 5 ) sbSizer3 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelSDI12, wx.ID_ANY, u"identify" ), wx.HORIZONTAL ) self.m_buttonSDI12Identify = wx.Button( sbSizer3.GetStaticBox(), wx.ID_ANY, u"identify", wx.DefaultPosition, wx.DefaultSize, 0 ) sbSizer3.Add( self.m_buttonSDI12Identify, 0, wx.ALL, 5 ) self.m_textCtrlSDI12Identification = wx.TextCtrl( sbSizer3.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 300,-1 ), wx.TE_READONLY ) sbSizer3.Add( self.m_textCtrlSDI12Identification, 0, wx.ALL, 5 ) bSizer21.Add( sbSizer3, 0, wx.EXPAND, 5 ) sbSizer4 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelSDI12, wx.ID_ANY, u"command" ), wx.HORIZONTAL ) m_comboBoxSDI12CommandChoices = [] self.m_comboBoxSDI12Command = wx.ComboBox( sbSizer4.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_comboBoxSDI12CommandChoices, 0 ) sbSizer4.Add( self.m_comboBoxSDI12Command, 0, wx.ALL, 5 ) self.m_buttonSDI12Command = wx.Button( sbSizer4.GetStaticBox(), wx.ID_ANY, u"send", wx.DefaultPosition, wx.DefaultSize, 0 ) sbSizer4.Add( self.m_buttonSDI12Command, 0, wx.ALL, 5 ) self.m_textCtrlSDI12CommandResult = wx.TextCtrl( sbSizer4.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 300,-1 ), wx.TE_READONLY ) sbSizer4.Add( self.m_textCtrlSDI12CommandResult, 0, wx.ALL, 5 ) bSizer21.Add( sbSizer4, 0, wx.EXPAND, 5 ) bSizer11.Add( bSizer21, 1, wx.EXPAND, 5 ) self.m_panelSDI12.SetSizer( bSizer11 ) self.m_panelSDI12.Layout() bSizer11.Fit( self.m_panelSDI12 ) self.m_notebook.AddPage( self.m_panelSDI12, u"sdi12", False ) self.m_panel1wire = wx.Panel( self.m_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer111 = wx.BoxSizer( wx.VERTICAL ) bSizer91 = wx.BoxSizer( wx.HORIZONTAL ) self.m_button1wireSearch = wx.Button( self.m_panel1wire, wx.ID_ANY, u"Search", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer91.Add( self.m_button1wireSearch, 0, wx.ALL, 7 ) bSizer111.Add( bSizer91, 0, wx.EXPAND, 5 ) self.m_panel10 = wx.Panel( self.m_panel1wire, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_THEME|wx.TAB_TRAVERSAL ) bSizer142 = wx.BoxSizer( wx.HORIZONTAL ) bSizer15 = wx.BoxSizer( wx.VERTICAL ) self.m_staticText8 = wx.StaticText( self.m_panel10, wx.ID_ANY, u"ROM code virtual address", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText8.Wrap( -1 ) bSizer15.Add( self.m_staticText8, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) m_listBox1wireChoices = [] self.m_listBox1wire = wx.ListBox( self.m_panel10, wx.ID_ANY, wx.DefaultPosition, wx.Size( 200,-1 ), m_listBox1wireChoices, wx.LB_SINGLE ) self.m_listBox1wire.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_TELETYPE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString ) ) bSizer15.Add( self.m_listBox1wire, 1, wx.ALL|wx.EXPAND, 5 ) bSizer142.Add( bSizer15, 0, wx.ALL|wx.EXPAND, 5 ) self.m_button1wireRemap = wx.Button( self.m_panel10, wx.ID_ANY, u"remap to", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_button1wireRemap.Enable( False ) bSizer142.Add( self.m_button1wireRemap, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.m_spinCtrl1wireAdr = wx.SpinCtrl( self.m_panel10, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 255, 0 ) bSizer142.Add( self.m_spinCtrl1wireAdr, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.m_panel10.SetSizer( bSizer142 ) self.m_panel10.Layout() bSizer142.Fit( self.m_panel10 ) bSizer111.Add( self.m_panel10, 1, wx.EXPAND |wx.ALL, 5 ) self.m_panel1wire.SetSizer( bSizer111 ) self.m_panel1wire.Layout() bSizer111.Fit( self.m_panel1wire ) self.m_notebook.AddPage( self.m_panel1wire, u"1wire", False ) self.m_panelSensor = wx.Panel( self.m_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer11111 = wx.BoxSizer( wx.VERTICAL ) fgSizer1 = wx.FlexGridSizer( 5, 2, 0, 0 ) fgSizer1.SetFlexibleDirection( wx.BOTH ) fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_staticText10 = wx.StaticText( self.m_panelSensor, wx.ID_ANY, u"sensor", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT ) self.m_staticText10.Wrap( -1 ) fgSizer1.Add( self.m_staticText10, 0, wx.ALIGN_RIGHT|wx.ALL, 5 ) m_comboBoxSensorChoices = [] self.m_comboBoxSensor = wx.ComboBox( self.m_panelSensor, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), m_comboBoxSensorChoices, 0 ) fgSizer1.Add( self.m_comboBoxSensor, 1, wx.ALL, 5 ) self.m_staticText11 = wx.StaticText( self.m_panelSensor, wx.ID_ANY, u"on address", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT ) self.m_staticText11.Wrap( -1 ) fgSizer1.Add( self.m_staticText11, 1, wx.ALIGN_RIGHT|wx.ALL, 5 ) self.m_spinSensorAddress = wx.SpinCtrl( self.m_panelSensor, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_LEFT|wx.SP_ARROW_KEYS, 0, 255, 0 ) fgSizer1.Add( self.m_spinSensorAddress, 0, wx.ALL, 5 ) self.m_staticText12 = wx.StaticText( self.m_panelSensor, wx.ID_ANY, u"measurement", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT ) self.m_staticText12.Wrap( -1 ) fgSizer1.Add( self.m_staticText12, 1, wx.ALIGN_RIGHT|wx.ALL, 5 ) m_comboBoxTypeChoices = [] self.m_comboBoxType = wx.ComboBox( self.m_panelSensor, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), m_comboBoxTypeChoices, 0 ) fgSizer1.Add( self.m_comboBoxType, 1, wx.ALL, 5 ) bSizer11111.Add( fgSizer1, 0, wx.EXPAND, 5 ) self.m_buttonGet = wx.Button( self.m_panelSensor, wx.ID_ANY, u"Get", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer11111.Add( self.m_buttonGet, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.m_textCtrlSensorValue = wx.TextCtrl( self.m_panelSensor, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_CENTER|wx.TE_READONLY ) bSizer11111.Add( self.m_textCtrlSensorValue, 0, wx.ALL|wx.EXPAND, 5 ) self.m_panelSensor.SetSizer( bSizer11111 ) self.m_panelSensor.Layout() bSizer11111.Fit( self.m_panelSensor ) self.m_notebook.AddPage( self.m_panelSensor, u"sensor", False ) mainSizer.Add( self.m_notebook, 1, wx.EXPAND |wx.ALL, 5 ) self.m_gaugeAct = wx.Gauge( self, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL|wx.GA_SMOOTH ) self.m_gaugeAct.SetValue( 0 ) mainSizer.Add( self.m_gaugeAct, 0, wx.ALL|wx.EXPAND, 5 ) self.SetSizer( mainSizer ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self.Bind( wx.EVT_ACTIVATE, self.onActivate ) self.Bind( wx.EVT_CLOSE, self.onClose ) self.Bind( wx.EVT_SHOW, self.onShow ) self.m_notebook.Bind( wx.EVT_NOTEBOOK_PAGE_CHANGED, self.onPageChange ) self.m_buttonLoadScript.Bind( wx.EVT_BUTTON, self.onLoadScript ) self.m_buttonUploadScript.Bind( wx.EVT_BUTTON, self.onUploadScript ) self.m_buttonSaveScript.Bind( wx.EVT_BUTTON, self.onSaveScript ) self.m_buttonDownloadScript.Bind( wx.EVT_BUTTON, self.onDownloadScript ) self.m_buttonRunScript.Bind( wx.EVT_BUTTON, self.onRunScript ) self.m_buttonSaveData.Bind( wx.EVT_BUTTON, self.onSaveData ) self.m_buttonDfuse.Bind( wx.EVT_BUTTON, self.onDFuse ) self.m_textCtrlSDI12Adress.Bind( wx.EVT_CHAR, self.onSDI12Char ) self.m_buttonSDI12Scan.Bind( wx.EVT_BUTTON, self.onSDI12AddressQuery ) self.m_buttonSDI12AddressChange.Bind( wx.EVT_BUTTON, self.onSDI12AddressChange ) self.m_textCtrlSDI12AdressChange.Bind( wx.EVT_CHAR, self.onSDI12Char ) self.m_buttonSDI12Identify.Bind( wx.EVT_BUTTON, self.onSDI12Identify ) self.m_buttonSDI12Command.Bind( wx.EVT_BUTTON, self.onSDI12Command ) self.m_button1wireSearch.Bind( wx.EVT_BUTTON, self.on1wireSearch ) self.m_listBox1wire.Bind( wx.EVT_LISTBOX, self.on1wireSelected ) self.m_button1wireRemap.Bind( wx.EVT_BUTTON, self.on1wireRemap ) self.m_comboBoxSensor.Bind( wx.EVT_COMBOBOX, self.onSensorChange ) self.m_buttonGet.Bind( wx.EVT_BUTTON, self.onGet ) def __del__( self ): pass # Virtual event handlers, overide them in your derived class def onActivate( self, event ): event.Skip() def onClose( self, event ): event.Skip() def onShow( self, event ): event.Skip() def onPageChange( self, event ): event.Skip() def onLoadScript( self, event ): event.Skip() def onUploadScript( self, event ): event.Skip() def onSaveScript( self, event ): event.Skip() def onDownloadScript( self, event ): event.Skip() def onRunScript( self, event ): event.Skip() def onSaveData( self, event ): event.Skip() def onDFuse( self, event ): event.Skip() def onSDI12Char( self, event ): event.Skip() def onSDI12AddressQuery( self, event ): event.Skip() def onSDI12AddressChange( self, event ): event.Skip() def onSDI12Identify( self, event ): event.Skip() def onSDI12Command( self, event ): event.Skip() def on1wireSearch( self, event ): event.Skip() def on1wireSelected( self, event ): event.Skip() def on1wireRemap( self, event ): event.Skip() def onSensorChange( self, event ): event.Skip() def onGet( self, event ): event.Skip() ########################################################################### ## Class consoleDialog ########################################################################### class consoleDialog ( wx.Dialog ): def __init__( self, parent ): wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Agronode console", pos = wx.DefaultPosition, size = wx.Size( 776,536 ), style = wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) bSizer17 = wx.BoxSizer( wx.VERTICAL ) self.m_textConsole = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE|wx.TE_READONLY ) bSizer17.Add( self.m_textConsole, 1, wx.ALL|wx.EXPAND, 5 ) self.SetSizer( bSizer17 ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self.Bind( wx.EVT_CLOSE, self.onConsoleClose ) def __del__( self ): pass # Virtual event handlers, overide them in your derived class def onConsoleClose( self, event ): event.Skip()