added delete vias option
This commit is contained in:
@ -83,6 +83,7 @@ class FillArea:
|
|||||||
# ie: radius from the border of the via
|
# ie: radius from the border of the via
|
||||||
self.SetClearanceMM(0.2)
|
self.SetClearanceMM(0.2)
|
||||||
self.only_selected_area = False
|
self.only_selected_area = False
|
||||||
|
self.delete_vias = False
|
||||||
if self.pcb is not None:
|
if self.pcb is not None:
|
||||||
for lnet in ["GND", "/GND"]:
|
for lnet in ["GND", "/GND"]:
|
||||||
if self.pcb.FindNet(lnet) is not None:
|
if self.pcb.FindNet(lnet) is not None:
|
||||||
@ -136,6 +137,10 @@ class FillArea:
|
|||||||
self.only_selected_area = True
|
self.only_selected_area = True
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
def DeleteVias(self):
|
||||||
|
self.delete_vias = True
|
||||||
|
return self
|
||||||
|
|
||||||
def SetClearanceMM(self, s):
|
def SetClearanceMM(self, s):
|
||||||
self.clearance = float(FromMM(s))
|
self.clearance = float(FromMM(s))
|
||||||
return self
|
return self
|
||||||
@ -196,10 +201,27 @@ class FillArea:
|
|||||||
self.pcb.AddNative(m, ADD_APPEND)
|
self.pcb.AddNative(m, ADD_APPEND)
|
||||||
m.SetFlag(IS_NEW)
|
m.SetFlag(IS_NEW)
|
||||||
|
|
||||||
|
def RefillBoardAreas(self):
|
||||||
|
for i in range(self.pcb.GetAreaCount()):
|
||||||
|
area = self.pcb.GetArea(i)
|
||||||
|
area.ClearFilledPolysList()
|
||||||
|
area.UnFill()
|
||||||
|
if not area.GetIsKeepout():
|
||||||
|
area.BuildFilledSolidAreasPolygons(self.pcb)
|
||||||
|
|
||||||
def Run(self):
|
def Run(self):
|
||||||
"""
|
"""
|
||||||
Launch the process
|
Launch the process
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if self.delete_vias:
|
||||||
|
for module in self.pcb.GetModules():
|
||||||
|
print("* Deleting module: %s" % module.GetValue())
|
||||||
|
if module.GetValue() == "AUTO_VIA":
|
||||||
|
self.pcb.DeleteNative(module)
|
||||||
|
self.RefillBoardAreas()
|
||||||
|
return
|
||||||
|
|
||||||
lboard = self.pcb.ComputeBoundingBox()
|
lboard = self.pcb.ComputeBoundingBox()
|
||||||
rectangle = []
|
rectangle = []
|
||||||
origin = lboard.GetPosition()
|
origin = lboard.GetPosition()
|
||||||
@ -273,7 +295,8 @@ class FillArea:
|
|||||||
|
|
||||||
# Same job with all pads
|
# Same job with all pads
|
||||||
for pad in self.pcb.GetPads():
|
for pad in self.pcb.GetPads():
|
||||||
local_offset = max(pad.GetClearance(),self.clearance) + self.size/2
|
local_offset = max(pad.GetClearance(),
|
||||||
|
self.clearance) + self.size / 2
|
||||||
max_size = max(pad.GetSize().x, pad.GetSize().y)
|
max_size = max(pad.GetSize().x, pad.GetSize().y)
|
||||||
start_x = int(floor(((pad.GetPosition().x - (max_size / 2.0 +
|
start_x = int(floor(((pad.GetPosition().x - (max_size / 2.0 +
|
||||||
local_offset)) - origin.x) / self.step))
|
local_offset)) - origin.x) / self.step))
|
||||||
@ -318,7 +341,8 @@ class FillArea:
|
|||||||
opx = stop_x
|
opx = stop_x
|
||||||
opy = stop_y
|
opy = stop_y
|
||||||
|
|
||||||
clearance = max(track.GetClearance(),self.clearance) + self.size/2 + track.GetWidth()/2
|
clearance = max(track.GetClearance(), self.clearance) + \
|
||||||
|
self.size / 2 + track.GetWidth() / 2
|
||||||
|
|
||||||
start_x = int(floor(((start_x - clearance) -
|
start_x = int(floor(((start_x - clearance) -
|
||||||
origin.x) / self.step))
|
origin.x) / self.step))
|
||||||
@ -374,17 +398,14 @@ class FillArea:
|
|||||||
ran_x = 0
|
ran_x = 0
|
||||||
ran_y = 0
|
ran_y = 0
|
||||||
if self.random:
|
if self.random:
|
||||||
ran_x = (random.random() * self.step / 2.0) - (self.step / 4.0)
|
ran_x = (random.random() * self.step / 2.0) - \
|
||||||
ran_y = (random.random() * self.step / 2.0) - (self.step / 4.0)
|
(self.step / 4.0)
|
||||||
|
ran_y = (random.random() * self.step / 2.0) - \
|
||||||
|
(self.step / 4.0)
|
||||||
self.AddModule(module, wxPoint(origin.x + (self.step * x) + ran_x,
|
self.AddModule(module, wxPoint(origin.x + (self.step * x) + ran_x,
|
||||||
origin.y + (self.step * y) + ran_y), x, y)
|
origin.y + (self.step * y) + ran_y), x, y)
|
||||||
|
|
||||||
for i in range(self.pcb.GetAreaCount()):
|
self.RefillBoardAreas()
|
||||||
area = self.pcb.GetArea(i)
|
|
||||||
area.ClearFilledPolysList()
|
|
||||||
area.UnFill()
|
|
||||||
if not area.GetIsKeepout():
|
|
||||||
area.BuildFilledSolidAreasPolygons(self.pcb)
|
|
||||||
|
|
||||||
if self.filename:
|
if self.filename:
|
||||||
self.pcb.Save(self.filename)
|
self.pcb.Save(self.filename)
|
||||||
|
@ -24,6 +24,7 @@ import FillAreaDialog
|
|||||||
|
|
||||||
|
|
||||||
class FillAreaAction(pcbnew.ActionPlugin):
|
class FillAreaAction(pcbnew.ActionPlugin):
|
||||||
|
|
||||||
def defaults(self):
|
def defaults(self):
|
||||||
self.name = "Via stitching WX"
|
self.name = "Via stitching WX"
|
||||||
self.category = "Undefined"
|
self.category = "Undefined"
|
||||||
@ -52,6 +53,8 @@ class FillAreaAction(pcbnew.ActionPlugin):
|
|||||||
fill.SetRandom()
|
fill.SetRandom()
|
||||||
if a.m_only_selected.IsChecked():
|
if a.m_only_selected.IsChecked():
|
||||||
fill.OnlyOnSelectedArea()
|
fill.OnlyOnSelectedArea()
|
||||||
|
if a.m_delete_vias.IsChecked():
|
||||||
|
fill.DeleteVias()
|
||||||
fill.Run()
|
fill.Run()
|
||||||
except Exception:
|
except Exception:
|
||||||
wx.MessageDialog(None, "Invalid parameter")
|
wx.MessageDialog(None, "Invalid parameter")
|
||||||
|
@ -1,23 +1,25 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
## Python code generated with wxFormBuilder (version Feb 16 2016)
|
# Python code generated with wxFormBuilder (version Feb 16 2016)
|
||||||
## http://www.wxformbuilder.org/
|
# http://www.wxformbuilder.org/
|
||||||
##
|
##
|
||||||
## PLEASE DO "NOT" EDIT THIS FILE!
|
# PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
||||||
import wx
|
import wx
|
||||||
import wx.xrc
|
import wx.xrc
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
## Class FillAreaDialog
|
# Class FillAreaDialog
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
||||||
|
|
||||||
class FillAreaDialog (wx.Dialog):
|
class FillAreaDialog (wx.Dialog):
|
||||||
|
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Fill Area parameters", pos = wx.DefaultPosition, size = wx.Size( 369,356 ), style = wx.DEFAULT_DIALOG_STYLE )
|
wx.Dialog.__init__(self, parent, id=wx.ID_ANY, title=u"Fill Area parameters",
|
||||||
|
pos=wx.DefaultPosition, size=wx.Size(369, 369), style=wx.DEFAULT_DIALOG_STYLE)
|
||||||
|
|
||||||
self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
|
self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
|
||||||
|
|
||||||
@ -25,80 +27,107 @@ class FillAreaDialog ( wx.Dialog ):
|
|||||||
fgSizer1.SetFlexibleDirection(wx.BOTH)
|
fgSizer1.SetFlexibleDirection(wx.BOTH)
|
||||||
fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)
|
fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)
|
||||||
|
|
||||||
self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"Via copper size", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText3 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Via copper size", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText3.Wrap(-1)
|
self.m_staticText3.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText3, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_staticText3, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_SizeMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_SizeMM = wx.TextCtrl(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_SizeMM.SetMinSize(wx.Size(1000, -1))
|
self.m_SizeMM.SetMinSize(wx.Size(1000, -1))
|
||||||
|
|
||||||
fgSizer1.Add(self.m_SizeMM, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_SizeMM, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_staticText9 = wx.StaticText( self, wx.ID_ANY, u"Via drill size", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText9 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Via drill size", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText9.Wrap(-1)
|
self.m_staticText9.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText9, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_staticText9, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_DrillMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_DrillMM = wx.TextCtrl(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
fgSizer1.Add(self.m_DrillMM, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_DrillMM, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_staticText5 = wx.StaticText( self, wx.ID_ANY, u"Via clearance", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText5 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Via clearance", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText5.Wrap(-1)
|
self.m_staticText5.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText5, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_staticText5, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_ClearanceMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_ClearanceMM = wx.TextCtrl(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
fgSizer1.Add(self.m_ClearanceMM, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_ClearanceMM, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_staticText6 = wx.StaticText( self, wx.ID_ANY, u"Net name", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText6 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Net name", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText6.Wrap(-1)
|
self.m_staticText6.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText6, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_staticText6, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_Netname = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_Netname = wx.TextCtrl(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
fgSizer1.Add(self.m_Netname, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_Netname, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Step between via", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText2 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Step between via", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText2.Wrap(-1)
|
self.m_staticText2.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText2, 0, wx.ALL, 5)
|
fgSizer1.Add(self.m_staticText2, 0, wx.ALL, 5)
|
||||||
|
|
||||||
self.m_StepMM = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_StepMM = wx.TextCtrl(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
fgSizer1.Add(self.m_StepMM, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_StepMM, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_staticText7 = wx.StaticText( self, wx.ID_ANY, u"Debug mode", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText7 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Debug mode", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText7.Wrap(-1)
|
self.m_staticText7.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText7, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_staticText7, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_Debug = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_Debug = wx.CheckBox(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
fgSizer1.Add(self.m_Debug, 1, wx.ALL | wx.EXPAND, 5)
|
fgSizer1.Add(self.m_Debug, 1, wx.ALL | wx.EXPAND, 5)
|
||||||
|
|
||||||
self.m_staticText8 = wx.StaticText( self, wx.ID_ANY, u"Random it", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText8 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Random it", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText8.Wrap(-1)
|
self.m_staticText8.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText8, 0, wx.ALL, 5)
|
fgSizer1.Add(self.m_staticText8, 0, wx.ALL, 5)
|
||||||
|
|
||||||
self.m_Random = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_Random = wx.CheckBox(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
fgSizer1.Add(self.m_Random, 0, wx.ALL, 5)
|
fgSizer1.Add(self.m_Random, 0, wx.ALL, 5)
|
||||||
|
|
||||||
self.m_staticText81 = wx.StaticText( self, wx.ID_ANY, u"Only under selected Zone", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText81 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Only under selected Zone", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText81.Wrap(-1)
|
self.m_staticText81.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText81, 0, wx.ALL, 5)
|
fgSizer1.Add(self.m_staticText81, 0, wx.ALL, 5)
|
||||||
|
|
||||||
self.m_only_selected = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_only_selected = wx.CheckBox(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
fgSizer1.Add(self.m_only_selected, 0, wx.ALL, 5)
|
fgSizer1.Add(self.m_only_selected, 0, wx.ALL, 5)
|
||||||
|
|
||||||
self.m_staticText71 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText82 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, u"Delete vias", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
|
self.m_staticText82.Wrap(-1)
|
||||||
|
fgSizer1.Add(self.m_staticText82, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
self.m_delete_vias = wx.CheckBox(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
|
fgSizer1.Add(self.m_delete_vias, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
self.m_staticText71 = wx.StaticText(
|
||||||
|
self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_staticText71.Wrap(-1)
|
self.m_staticText71.Wrap(-1)
|
||||||
fgSizer1.Add(self.m_staticText71, 0, wx.ALL, 5)
|
fgSizer1.Add(self.m_staticText71, 0, wx.ALL, 5)
|
||||||
|
|
||||||
bSizer1 = wx.BoxSizer(wx.HORIZONTAL)
|
bSizer1 = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
|
|
||||||
self.m_button1 = wx.Button( self, wx.ID_OK, u"Run", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_button1 = wx.Button(
|
||||||
|
self, wx.ID_OK, u"Run", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
self.m_button1.SetDefault()
|
self.m_button1.SetDefault()
|
||||||
bSizer1.Add(self.m_button1, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)
|
bSizer1.Add(self.m_button1, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)
|
||||||
|
|
||||||
self.m_button2 = wx.Button( self, wx.ID_CANCEL, u"Cancel", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_button2 = wx.Button(
|
||||||
|
self, wx.ID_CANCEL, u"Cancel", wx.DefaultPosition, wx.DefaultSize, 0)
|
||||||
bSizer1.Add(self.m_button2, 0, wx.ALL, 5)
|
bSizer1.Add(self.m_button2, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
fgSizer1.Add(bSizer1, 1, wx.ALIGN_CENTER_HORIZONTAL |
|
||||||
fgSizer1.Add( bSizer1, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 )
|
wx.ALIGN_CENTER_VERTICAL, 5)
|
||||||
|
|
||||||
|
|
||||||
self.SetSizer(fgSizer1)
|
self.SetSizer(fgSizer1)
|
||||||
self.Layout()
|
self.Layout()
|
||||||
@ -107,5 +136,3 @@ class FillAreaDialog ( wx.Dialog ):
|
|||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<property name="minimum_size"></property>
|
<property name="minimum_size"></property>
|
||||||
<property name="name">FillAreaDialog</property>
|
<property name="name">FillAreaDialog</property>
|
||||||
<property name="pos"></property>
|
<property name="pos"></property>
|
||||||
<property name="size">369,356</property>
|
<property name="size">369,369</property>
|
||||||
<property name="style">wxDEFAULT_DIALOG_STYLE</property>
|
<property name="style">wxDEFAULT_DIALOG_STYLE</property>
|
||||||
<property name="subclass"></property>
|
<property name="subclass"></property>
|
||||||
<property name="title">Fill Area parameters</property>
|
<property name="title">Fill Area parameters</property>
|
||||||
@ -1395,6 +1395,89 @@
|
|||||||
<event name="OnUpdateUI"></event>
|
<event name="OnUpdateUI"></event>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxStaticText" expanded="1">
|
||||||
|
<property name="BottomDockable">1</property>
|
||||||
|
<property name="LeftDockable">1</property>
|
||||||
|
<property name="RightDockable">1</property>
|
||||||
|
<property name="TopDockable">1</property>
|
||||||
|
<property name="aui_layer"></property>
|
||||||
|
<property name="aui_name"></property>
|
||||||
|
<property name="aui_position"></property>
|
||||||
|
<property name="aui_row"></property>
|
||||||
|
<property name="best_size"></property>
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="caption"></property>
|
||||||
|
<property name="caption_visible">1</property>
|
||||||
|
<property name="center_pane">0</property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="floatable">1</property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="gripper">0</property>
|
||||||
|
<property name="hidden">0</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="label">Only under selected Zone</property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="min_size"></property>
|
||||||
|
<property name="minimize_button">0</property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="moveable">1</property>
|
||||||
|
<property name="name">m_staticText82</property>
|
||||||
|
<property name="pane_border">1</property>
|
||||||
|
<property name="pane_position"></property>
|
||||||
|
<property name="pane_size"></property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pin_button">1</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="resize">Resizable</property>
|
||||||
|
<property name="show">1</property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass"></property>
|
||||||
|
<property name="toolbar_pane">0</property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<property name="wrap">-1</property>
|
||||||
|
<event name="OnChar"></event>
|
||||||
|
<event name="OnEnterWindow"></event>
|
||||||
|
<event name="OnEraseBackground"></event>
|
||||||
|
<event name="OnKeyDown"></event>
|
||||||
|
<event name="OnKeyUp"></event>
|
||||||
|
<event name="OnKillFocus"></event>
|
||||||
|
<event name="OnLeaveWindow"></event>
|
||||||
|
<event name="OnLeftDClick"></event>
|
||||||
|
<event name="OnLeftDown"></event>
|
||||||
|
<event name="OnLeftUp"></event>
|
||||||
|
<event name="OnMiddleDClick"></event>
|
||||||
|
<event name="OnMiddleDown"></event>
|
||||||
|
<event name="OnMiddleUp"></event>
|
||||||
|
<event name="OnMotion"></event>
|
||||||
|
<event name="OnMouseEvents"></event>
|
||||||
|
<event name="OnMouseWheel"></event>
|
||||||
|
<event name="OnPaint"></event>
|
||||||
|
<event name="OnRightDClick"></event>
|
||||||
|
<event name="OnRightDown"></event>
|
||||||
|
<event name="OnRightUp"></event>
|
||||||
|
<event name="OnSetFocus"></event>
|
||||||
|
<event name="OnSize"></event>
|
||||||
|
<event name="OnUpdateUI"></event>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<object class="sizeritem" expanded="1">
|
<object class="sizeritem" expanded="1">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL</property>
|
<property name="flag">wxALL</property>
|
||||||
@ -1483,6 +1566,94 @@
|
|||||||
<event name="OnUpdateUI"></event>
|
<event name="OnUpdateUI"></event>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxCheckBox" expanded="1">
|
||||||
|
<property name="BottomDockable">1</property>
|
||||||
|
<property name="LeftDockable">1</property>
|
||||||
|
<property name="RightDockable">1</property>
|
||||||
|
<property name="TopDockable">1</property>
|
||||||
|
<property name="aui_layer"></property>
|
||||||
|
<property name="aui_name"></property>
|
||||||
|
<property name="aui_position"></property>
|
||||||
|
<property name="aui_row"></property>
|
||||||
|
<property name="best_size"></property>
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="caption"></property>
|
||||||
|
<property name="caption_visible">1</property>
|
||||||
|
<property name="center_pane">0</property>
|
||||||
|
<property name="checked">0</property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="floatable">1</property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="gripper">0</property>
|
||||||
|
<property name="hidden">0</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="label"></property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="min_size"></property>
|
||||||
|
<property name="minimize_button">0</property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="moveable">1</property>
|
||||||
|
<property name="name">m_delete_vias</property>
|
||||||
|
<property name="pane_border">1</property>
|
||||||
|
<property name="pane_position"></property>
|
||||||
|
<property name="pane_size"></property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pin_button">1</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="resize">Resizable</property>
|
||||||
|
<property name="show">1</property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass"></property>
|
||||||
|
<property name="toolbar_pane">0</property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="validator_data_type"></property>
|
||||||
|
<property name="validator_style">wxFILTER_NONE</property>
|
||||||
|
<property name="validator_type">wxDefaultValidator</property>
|
||||||
|
<property name="validator_variable"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<event name="OnChar"></event>
|
||||||
|
<event name="OnCheckBox"></event>
|
||||||
|
<event name="OnEnterWindow"></event>
|
||||||
|
<event name="OnEraseBackground"></event>
|
||||||
|
<event name="OnKeyDown"></event>
|
||||||
|
<event name="OnKeyUp"></event>
|
||||||
|
<event name="OnKillFocus"></event>
|
||||||
|
<event name="OnLeaveWindow"></event>
|
||||||
|
<event name="OnLeftDClick"></event>
|
||||||
|
<event name="OnLeftDown"></event>
|
||||||
|
<event name="OnLeftUp"></event>
|
||||||
|
<event name="OnMiddleDClick"></event>
|
||||||
|
<event name="OnMiddleDown"></event>
|
||||||
|
<event name="OnMiddleUp"></event>
|
||||||
|
<event name="OnMotion"></event>
|
||||||
|
<event name="OnMouseEvents"></event>
|
||||||
|
<event name="OnMouseWheel"></event>
|
||||||
|
<event name="OnPaint"></event>
|
||||||
|
<event name="OnRightDClick"></event>
|
||||||
|
<event name="OnRightDown"></event>
|
||||||
|
<event name="OnRightUp"></event>
|
||||||
|
<event name="OnSetFocus"></event>
|
||||||
|
<event name="OnSize"></event>
|
||||||
|
<event name="OnUpdateUI"></event>
|
||||||
|
</object>
|
||||||
|
</object
|
||||||
<object class="sizeritem" expanded="1">
|
<object class="sizeritem" expanded="1">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL</property>
|
<property name="flag">wxALL</property>
|
||||||
|
Reference in New Issue
Block a user