fix an issue created by commit 2954. Gerbview: display now an indicator of layers in use. minor code cleanup.
This commit is contained in:
parent
df8f7d1ee0
commit
3b55948db2
|
@ -10,13 +10,35 @@ More native OSX changes, this removes some WXMAC defines replaced by wxID
|
|||
macros. These are handled by wxWidgets itself and reduces in-app platform
|
||||
defines. More work needs to be done for CvPCB and Gerbview.
|
||||
|
||||
All:
|
||||
All:
|
||||
Hotkey names in menu's all have tabs, this looks more uniform and pretty.
|
||||
|
||||
EESschema & PCBNew:
|
||||
Fix about and preferences wxMenu to be more native (remove unneeded WXMAC )
|
||||
Disable all icons in wxMenu on OSX with macro SETBITMAPS
|
||||
|
||||
jp charras:
|
||||
SETBITMAPS is incorrectly used here. change to SET_BITMAP
|
||||
|
||||
2011-Mar-25 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
|
||||
================================================================================
|
||||
EESchema multiple item hit testing and other minor improvements.
|
||||
|
||||
* Add item clarification context menu to EESchema when multiple unresolved
|
||||
items are found at the current cross hair position.
|
||||
* Add collector class SCH_COLLECTOR for supporting multiple item hit testing.
|
||||
* Removed bit wise masked filtering from schematic item hit testing.
|
||||
* Removed all old hit testing functions and methods scattered about the
|
||||
EESchema source code.
|
||||
* Move terminal point test function into SCH_SCREEN object.
|
||||
* Fixed bug in terminal point test when terminating a bus to a label.
|
||||
* Define the < operator for sorting schematic items.
|
||||
* Add area calculation method to EDA_Rect item.
|
||||
* Add method for returning an item's bitmap for menu display purposes.
|
||||
* Add method for returning an item's menu text for menu display purposes.
|
||||
* Changed EDA_ITEMS container from boost::ptr_vector to std::vector.
|
||||
* Factor coordinate string conversion code from EDA_DRAW_FRAME to function CoordinateToString().
|
||||
|
||||
2011-Mar-16, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
||||
================================================================================
|
||||
Gerbview:
|
||||
|
|
|
@ -416,6 +416,7 @@ set(BITMAP_SRCS
|
|||
Width_Track_Via.xpm
|
||||
Width_Track.xpm
|
||||
Width_Vias.xpm
|
||||
window_close.xpm
|
||||
zip_tool.xpm
|
||||
zip.xpm
|
||||
zoom.xpm
|
||||
|
|
|
@ -0,0 +1,306 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
id="svg7216"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:version="0.48.1 "
|
||||
sodipodi:docname="window-close.svg"
|
||||
sodipodi:version="0.32"
|
||||
width="16"
|
||||
version="1.1"
|
||||
inkscape:export-filename="F:\kicad-launchpad\testing\bitmaps\sources\window-close.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<metadata
|
||||
id="metadata3">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:title></dc:title>
|
||||
<dc:description />
|
||||
<dc:subject>
|
||||
<rdf:Bag>
|
||||
<rdf:li>unsorted</rdf:li>
|
||||
</rdf:Bag>
|
||||
</dc:subject>
|
||||
<dc:publisher>
|
||||
<cc:Agent
|
||||
rdf:about="http://www.openclipart.org/">
|
||||
<dc:title>Open Clip Art Library, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors, Source: GNOME-Colors</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title />
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title />
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:date />
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
<dc:language>en</dc:language>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs7218">
|
||||
<linearGradient
|
||||
id="linearGradient7916">
|
||||
<stop
|
||||
id="stop7918"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop7920"
|
||||
offset="1.0000000"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientTransform="matrix(1.0494758,-1.0494758,1.0494758,1.0494758,-26.939092,23.169297)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient2181"
|
||||
inkscape:collect="always"
|
||||
x1="31.972097"
|
||||
x2="12.717501"
|
||||
xlink:href="#linearGradient7916"
|
||||
y1="17.041941"
|
||||
y2="36.296539" />
|
||||
<linearGradient
|
||||
id="linearGradient7955"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop7957"
|
||||
offset="0"
|
||||
style="stop-color:#c22f2f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop7959"
|
||||
offset="1"
|
||||
style="stop-color:#a40000;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient7961"
|
||||
inkscape:collect="always"
|
||||
x1="23.172504"
|
||||
x2="23.099995"
|
||||
xlink:href="#linearGradient7955"
|
||||
y1="6.0004601"
|
||||
y2="43.000458" />
|
||||
<linearGradient
|
||||
id="linearGradient3165">
|
||||
<stop
|
||||
id="stop3167"
|
||||
offset="0"
|
||||
style="stop-color:#e78181;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop8599"
|
||||
offset="0.25"
|
||||
style="stop-color:#e15f5f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop8601"
|
||||
offset="0.68000001"
|
||||
style="stop-color:#c22f2f;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop3169"
|
||||
offset="1"
|
||||
style="stop-color:#a40000;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
cx="6.5734448"
|
||||
cy="24.500458"
|
||||
fx="6.5734448"
|
||||
fy="24.500458"
|
||||
gradientTransform="matrix(-2.1314195e-8,2.5479117,-4.8841578,-2.2328085e-8,144.16406,-10.748097)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient7958"
|
||||
inkscape:collect="always"
|
||||
r="18.500046"
|
||||
xlink:href="#linearGradient3165" />
|
||||
<linearGradient
|
||||
id="linearGradient2091">
|
||||
<stop
|
||||
id="stop2093"
|
||||
offset="0"
|
||||
style="stop-color:#000000;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop2095"
|
||||
offset="1"
|
||||
style="stop-color:#000000;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
cx="23.070683"
|
||||
cy="35.127438"
|
||||
fx="23.070683"
|
||||
fy="35.127438"
|
||||
gradientTransform="matrix(0.914812,0.01265023,-0.00821502,0.213562,2.253914,27.18889)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient2177"
|
||||
inkscape:collect="always"
|
||||
r="10.31934"
|
||||
xlink:href="#linearGradient2091" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2091"
|
||||
id="radialGradient3009"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.914812,0.01265023,-0.00821502,0.213562,2.253914,27.18889)"
|
||||
cx="23.070683"
|
||||
cy="35.127438"
|
||||
fx="23.070683"
|
||||
fy="35.127438"
|
||||
r="10.31934" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3165"
|
||||
id="radialGradient3011"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-2.1314195e-8,2.5479117,-4.8841578,-2.2328085e-8,144.16406,-10.748097)"
|
||||
cx="6.5734448"
|
||||
cy="24.500458"
|
||||
fx="6.5734448"
|
||||
fy="24.500458"
|
||||
r="18.500046" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7955"
|
||||
id="linearGradient3013"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="23.172504"
|
||||
y1="6.0004601"
|
||||
x2="23.099995"
|
||||
y2="43.000458" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7916"
|
||||
id="linearGradient3015"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0494758,-1.0494758,1.0494758,1.0494758,-26.939092,23.169297)"
|
||||
x1="31.972097"
|
||||
y1="17.041941"
|
||||
x2="12.717501"
|
||||
y2="36.296539" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7916"
|
||||
id="linearGradient3018"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.36503505,-0.42195894,0.36503505,0.42195894,-9.7179447,38.820541)"
|
||||
x1="31.972097"
|
||||
y1="17.041941"
|
||||
x2="12.717501"
|
||||
y2="36.296539" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3165"
|
||||
id="radialGradient3021"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0,1.0244296,-1.6988375,0,49.796194,25.183498)"
|
||||
cx="6.5734448"
|
||||
cy="24.500458"
|
||||
fx="6.5734448"
|
||||
fy="24.500458"
|
||||
r="18.500046" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7955"
|
||||
id="linearGradient3023"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="23.172504"
|
||||
y1="6.0004601"
|
||||
x2="23.099995"
|
||||
y2="43.000458"
|
||||
gradientTransform="matrix(0.34782608,0,0,0.40206638,-0.34782593,29.504946)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3165"
|
||||
id="radialGradient3030"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0,1.0244296,-1.6988375,0,49.796194,25.183498)"
|
||||
cx="6.5734448"
|
||||
cy="24.500458"
|
||||
fx="6.5734448"
|
||||
fy="24.500458"
|
||||
r="18.500046" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7955"
|
||||
id="linearGradient3032"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.34782608,0,0,0.40206638,-0.34782593,29.504946)"
|
||||
x1="23.172504"
|
||||
y1="6.0004601"
|
||||
x2="23.099995"
|
||||
y2="43.000458" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7916"
|
||||
id="linearGradient3034"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.36503505,-0.42195894,0.36503505,0.42195894,-9.7179447,38.820541)"
|
||||
x1="31.972097"
|
||||
y1="17.041941"
|
||||
x2="12.717501"
|
||||
y2="36.296539" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
id="base"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8.0342101"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-height="686"
|
||||
inkscape:window-width="936"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:zoom="30.556833"
|
||||
pagecolor="#ffffff"
|
||||
showgrid="true"
|
||||
borderlayer="false"
|
||||
inkscape:showpageshadow="false"
|
||||
showborder="true"
|
||||
inkscape:window-maximized="0" />
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Layer 1"
|
||||
transform="translate(0,-32)">
|
||||
<g
|
||||
id="g3026"
|
||||
transform="matrix(1.2432556,0,0,1.075408,-2.162244,-2.3227293)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:url(#radialGradient3030);fill-opacity:1;stroke:url(#linearGradient3032);stroke-width:0.37396413;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
|
||||
sodipodi:nodetypes="ccccccccccccc"
|
||||
id="text1314"
|
||||
d="m 14.434782,43.577454 -3.652205,-4.42273 3.652175,-4.020664 -2.608696,-3.015497 -3.6521739,4.221696 -3.6521735,-4.221696 -2.6086952,3.015497 3.6521731,4.020664 -3.6521731,4.42273 2.6086952,3.015497 3.6521735,-4.221697 3.3043479,4.221697 2.956552,-3.015497 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="font-size:59.90107727px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.4;fill:none;stroke:url(#linearGradient3034);stroke-width:0.37396413;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
|
||||
sodipodi:nodetypes="ccccccccccccc"
|
||||
id="path7076"
|
||||
d="m 13.913043,43.577454 -3.652205,-4.42273 3.652174,-4.020664 -2.086956,-2.412398 -3.6520664,4.221697 -3.652281,-4.221697 -2.0869564,2.412398 3.6521734,4.020664 -3.6521734,4.42273 2.0869564,2.412398 3.6521735,-4.221697 3.3043789,4.221513 2.434782,-2.412214 z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,38 @@
|
|||
/* XPM */
|
||||
const char *window_close_xpm[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 16 1",
|
||||
"O c #DE7070",
|
||||
"& c #BC9392",
|
||||
"o c #BF9D9C",
|
||||
"X c #DC6464",
|
||||
"* c #CA4545",
|
||||
"% c #D45051",
|
||||
"- c #C03433",
|
||||
"+ c #E88080",
|
||||
"= c #C43C3C",
|
||||
". c #C2A6A6",
|
||||
"; c #BC8684",
|
||||
": c #B47274",
|
||||
" c None",
|
||||
"$ c #BFB0AF",
|
||||
"@ c #C55A5B",
|
||||
"# c #DD5A59",
|
||||
/* pixels */
|
||||
" .X. .X. ",
|
||||
" oO+O. .O+Oo ",
|
||||
"oOOO+O. .O+OOOo",
|
||||
"@OXXXOO..OOXXXO@",
|
||||
".XO#XXOXXOXX#OX.",
|
||||
" $@O###OO###O@$ ",
|
||||
" $@X######X@$ ",
|
||||
" $@X%%%%X@$ ",
|
||||
" &@%%%%%%@& ",
|
||||
" &%%******%%& ",
|
||||
" o*****%%*****o ",
|
||||
"o**===****===**o",
|
||||
"==---==.&*=---==",
|
||||
"&=---=. ;=---=.",
|
||||
" &---o :--=$ ",
|
||||
" &-o @* "
|
||||
};
|
|
@ -6,7 +6,7 @@
|
|||
#endif
|
||||
|
||||
#ifndef KICAD_BUILD_VERSION
|
||||
#define KICAD_BUILD_VERSION "(2011-04-01)"
|
||||
#define KICAD_BUILD_VERSION "(2011-04-05)"
|
||||
#endif
|
||||
|
||||
// uncomment this line only when creating a stable version
|
||||
|
|
|
@ -74,6 +74,7 @@ void CVPCB_MAINFRAME::ReCreateMenuBar()
|
|||
_( "Prevent CVPcb from exiting after saving netlist file" ),
|
||||
wxITEM_CHECK );
|
||||
configmenu->Append( item );
|
||||
SETBITMAPS( window_close_xpm );
|
||||
|
||||
configmenu->AppendSeparator();
|
||||
ADD_MENUITEM_WITH_HELP( configmenu, ID_CONFIG_SAVE,
|
||||
|
|
|
@ -47,13 +47,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( filesMenu, ID_NEW_PROJECT, _( "&New\tCtrl+N" ),
|
||||
_( "New schematic project" ) );
|
||||
|
||||
SETBITMAPS( new_xpm );
|
||||
SET_BITMAP( new_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Open
|
||||
item = new wxMenuItem( filesMenu, ID_LOAD_PROJECT, _( "&Open\tCtrl+O" ),
|
||||
_( "Open an existing schematic project" ) );
|
||||
SETBITMAPS( open_document_xpm );
|
||||
SET_BITMAP( open_document_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Open Recent submenu
|
||||
|
@ -70,26 +70,26 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( filesMenu, ID_SAVE_PROJECT,
|
||||
_( "&Save Whole Schematic Project\tCtrl+S" ),
|
||||
_( "Save all sheets in the schematic project" ) );
|
||||
SETBITMAPS( save_project_xpm );
|
||||
SET_BITMAP( save_project_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
item = new wxMenuItem( filesMenu, ID_SAVE_ONE_SHEET, _( "Save &Current Sheet Only" ),
|
||||
_( "Save only current schematic sheet" ) );
|
||||
SETBITMAPS( save_xpm );
|
||||
SET_BITMAP( save_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Save as...
|
||||
item = new wxMenuItem( filesMenu, ID_SAVE_ONE_SHEET_AS,
|
||||
_( "Save Current Sheet &as" ),
|
||||
_( "Save current schematic sheet as..." ) );
|
||||
SETBITMAPS( save_as_xpm );
|
||||
SET_BITMAP( save_as_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
|
||||
// Print
|
||||
filesMenu->AppendSeparator();
|
||||
item = new wxMenuItem( filesMenu, wxID_PRINT, _( "P&rint" ), _( "Print schematic" ) );
|
||||
SETBITMAPS( print_button );
|
||||
SET_BITMAP( print_button );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Plot submenu
|
||||
|
@ -97,25 +97,25 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_PS,
|
||||
_( "Plot PostScript" ),
|
||||
_( "Plot schematic sheet in PostScript format" ) );
|
||||
SETBITMAPS( plot_PS_xpm );
|
||||
SET_BITMAP( plot_PS_xpm );
|
||||
choice_plot_fmt->Append( item );
|
||||
|
||||
/* Plot HPGL */
|
||||
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_HPGL, _( "Plot HPGL" ),
|
||||
_( "Plot schematic sheet in HPGL format" ) );
|
||||
SETBITMAPS( plot_HPG_xpm );
|
||||
SET_BITMAP( plot_HPG_xpm );
|
||||
choice_plot_fmt->Append( item );
|
||||
|
||||
// Plot SVG
|
||||
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_SVG, _( "Plot SVG" ),
|
||||
_( "Plot schematic sheet in SVG format" ) );
|
||||
SETBITMAPS( plot_xpm );
|
||||
SET_BITMAP( plot_xpm );
|
||||
choice_plot_fmt->Append( item );
|
||||
|
||||
// Plot DXF
|
||||
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_DXF, _( "Plot DXF" ),
|
||||
_( "Plot schematic sheet in DXF format" ) );
|
||||
SETBITMAPS( plot_xpm );
|
||||
SET_BITMAP( plot_xpm );
|
||||
choice_plot_fmt->Append( item );
|
||||
|
||||
// Under windows, one can draw to the clipboard
|
||||
|
@ -124,7 +124,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( choice_plot_fmt, ID_GEN_COPY_SHEET_TO_CLIPBOARD,
|
||||
_( "Plot to Clipboard" ),
|
||||
_( "Export drawings to clipboard" ) );
|
||||
SETBITMAPS( copy_button );
|
||||
SET_BITMAP( copy_button );
|
||||
choice_plot_fmt->Append( item );
|
||||
#endif
|
||||
|
||||
|
@ -137,7 +137,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
filesMenu->AppendSeparator();
|
||||
|
||||
item = new wxMenuItem( filesMenu, wxID_EXIT, _( "&Quit" ), _( "Quit EESchema" ) );
|
||||
SETBITMAPS( exit_xpm );
|
||||
SET_BITMAP( exit_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Edit menu
|
||||
|
@ -147,21 +147,21 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
text = AddHotkeyName( _( "Undo" ), s_Schematic_Hokeys_Descr, HK_UNDO );
|
||||
|
||||
item = new wxMenuItem( editMenu, wxID_UNDO, text, HELP_UNDO, wxITEM_NORMAL );
|
||||
SETBITMAPS( undo_xpm );
|
||||
SET_BITMAP( undo_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
/* Redo */
|
||||
text = AddHotkeyName( _( "Redo" ), s_Schematic_Hokeys_Descr, HK_REDO );
|
||||
|
||||
item = new wxMenuItem( editMenu, wxID_REDO, text, HELP_REDO, wxITEM_NORMAL );
|
||||
SETBITMAPS( redo_xpm );
|
||||
SET_BITMAP( redo_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
/* Delete */
|
||||
editMenu->AppendSeparator();
|
||||
item = new wxMenuItem( editMenu, ID_SCHEMATIC_DELETE_ITEM_BUTT,
|
||||
_( "Delete" ), HELP_DELETE_ITEMS, wxITEM_NORMAL );
|
||||
SETBITMAPS( delete_body_xpm );
|
||||
SET_BITMAP( delete_body_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
/* Separator */
|
||||
|
@ -170,7 +170,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
/* Find */
|
||||
text = AddHotkeyName( _( "&Find" ), s_Schematic_Hokeys_Descr, HK_FIND_ITEM );
|
||||
item = new wxMenuItem( editMenu, ID_FIND_ITEMS, text, HELP_FIND, wxITEM_NORMAL );
|
||||
SETBITMAPS( find_xpm );
|
||||
SET_BITMAP( find_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
/* Separator */
|
||||
|
@ -180,7 +180,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( editMenu, ID_BACKANNO_ITEMS, _( "Backannotate" ),
|
||||
_( "Back annotated footprint fields" ),
|
||||
wxITEM_NORMAL );
|
||||
SETBITMAPS( backanno_xpm );
|
||||
SET_BITMAP( backanno_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
|
||||
|
@ -204,20 +204,20 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
text = AddHotkeyName( _( "Zoom In" ), s_Schematic_Hokeys_Descr,
|
||||
ID_ZOOM_IN, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, HELP_ZOOM_IN, wxITEM_NORMAL );
|
||||
SETBITMAPS( zoom_in_xpm );
|
||||
SET_BITMAP( zoom_in_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
/* Zoom out */
|
||||
text = AddHotkeyName( _( "Zoom Out" ), s_Schematic_Hokeys_Descr,
|
||||
ID_ZOOM_OUT, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, HELP_ZOOM_OUT, wxITEM_NORMAL );
|
||||
SETBITMAPS( zoom_out_xpm );
|
||||
SET_BITMAP( zoom_out_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
/* Fit on screen */
|
||||
text = AddHotkeyName( _( "Fit on Screen" ), s_Schematic_Hokeys_Descr, HK_ZOOM_AUTO );
|
||||
item = new wxMenuItem( viewMenu, ID_ZOOM_PAGE, text, HELP_ZOOM_FIT, wxITEM_NORMAL );
|
||||
SETBITMAPS( zoom_fit_in_page_xpm );
|
||||
SET_BITMAP( zoom_fit_in_page_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
viewMenu->AppendSeparator();
|
||||
|
@ -225,7 +225,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
/* Redraw view */
|
||||
text = AddHotkeyName( _( "Redraw" ), s_Schematic_Hokeys_Descr, HK_ZOOM_REDRAW );
|
||||
item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text, HELP_ZOOM_REDRAW, wxITEM_NORMAL );
|
||||
SETBITMAPS( zoom_redraw_xpm );
|
||||
SET_BITMAP( zoom_redraw_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
|
||||
|
@ -240,7 +240,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_NEW_COMPONENT, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_SCH_PLACE_COMPONENT, text,
|
||||
HELP_PLACE_COMPONENTS, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_component_xpm );
|
||||
SET_BITMAP( add_component_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Power port */
|
||||
|
@ -248,7 +248,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_NEW_POWER, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_PLACE_POWER_BUTT, text,
|
||||
HELP_PLACE_POWERPORT, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_power_xpm );
|
||||
SET_BITMAP( add_power_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Wire */
|
||||
|
@ -256,7 +256,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_BEGIN_WIRE, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_WIRE_BUTT, text,
|
||||
HELP_PLACE_WIRE, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_line_xpm );
|
||||
SET_BITMAP( add_line_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Bus */
|
||||
|
@ -264,7 +264,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_BEGIN_BUS, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_BUS_BUTT, text,
|
||||
HELP_PLACE_BUS, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_bus_xpm );
|
||||
SET_BITMAP( add_bus_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Wire to Bus entry */
|
||||
|
@ -272,7 +272,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_WIRE_ENTRY, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_WIRETOBUS_ENTRY_BUTT, text,
|
||||
HELP_PLACE_WIRE2BUS_ENTRY, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_line2bus_xpm );
|
||||
SET_BITMAP( add_line2bus_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Bus to Bus entry */
|
||||
|
@ -280,14 +280,14 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_BUS_ENTRY, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_BUSTOBUS_ENTRY_BUTT, text,
|
||||
HELP_PLACE_BUS2BUS_ENTRY, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_bus2bus_xpm );
|
||||
SET_BITMAP( add_bus2bus_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* No connect flag */
|
||||
text = AddHotkeyName( _( "No connect flag" ), s_Schematic_Hokeys_Descr,
|
||||
HK_ADD_NOCONN_FLAG, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_NOCONN_BUTT, text, HELP_PLACE_NC_FLAG, wxITEM_NORMAL );
|
||||
SETBITMAPS( noconn_button );
|
||||
SET_BITMAP( noconn_button );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Net name */
|
||||
|
@ -295,7 +295,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_LABEL, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_LABEL_BUTT, text,
|
||||
HELP_PLACE_NETLABEL, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_line_label_xpm );
|
||||
SET_BITMAP( add_line_label_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Global label */
|
||||
|
@ -303,7 +303,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_GLABEL, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_GLABEL_BUTT, text,
|
||||
HELP_PLACE_GLOBALLABEL, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_glabel_xpm );
|
||||
SET_BITMAP( add_glabel_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Junction */
|
||||
|
@ -311,7 +311,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_JUNCTION, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_JUNCTION_BUTT, text,
|
||||
HELP_PLACE_JUNCTION, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_junction_xpm );
|
||||
SET_BITMAP( add_junction_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Separator */
|
||||
|
@ -322,7 +322,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_HLABEL, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_HIERLABEL_BUTT, text,
|
||||
HELP_PLACE_HIER_LABEL, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_hierarchical_label_xpm );
|
||||
SET_BITMAP( add_hierarchical_label_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Hierarchical sheet */
|
||||
|
@ -330,19 +330,19 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_HIER_SHEET, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_SHEET_SYMBOL_BUTT, text,
|
||||
HELP_PLACE_SHEET, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_hierarchical_subsheet_xpm );
|
||||
SET_BITMAP( add_hierarchical_subsheet_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Import hierarchical sheet */
|
||||
item = new wxMenuItem( placeMenu, ID_IMPORT_HLABEL_BUTT, _( "Import Hierarchical Label" ),
|
||||
HELP_IMPORT_SHEETPIN, wxITEM_NORMAL );
|
||||
SETBITMAPS( import_hierarchical_label_xpm );
|
||||
SET_BITMAP( import_hierarchical_label_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Add hierarchical Pin to Sheet */
|
||||
item = new wxMenuItem( placeMenu, ID_SHEET_PIN_BUTT, _( "Add Hierarchical Pin to Sheet" ),
|
||||
HELP_PLACE_SHEETPIN, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_hierar_pin_xpm );
|
||||
SET_BITMAP( add_hierar_pin_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Separator */
|
||||
|
@ -353,7 +353,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_GRAPHIC_POLYLINE, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_LINE_COMMENT_BUTT, text,
|
||||
HELP_PLACE_GRAPHICLINES, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_dashed_line_xpm );
|
||||
SET_BITMAP( add_dashed_line_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
/* Graphic text */
|
||||
|
@ -361,7 +361,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ADD_GRAPHIC_TEXT, false ); // add comment, not a shortcut
|
||||
item = new wxMenuItem( placeMenu, ID_TEXT_COMMENT_BUTT, text,
|
||||
HELP_PLACE_GRAPHICTEXTS, wxITEM_NORMAL );
|
||||
SETBITMAPS( add_text_xpm );
|
||||
SET_BITMAP( add_text_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
|
||||
|
@ -371,13 +371,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
/* Library */
|
||||
item = new wxMenuItem( configmenu, ID_CONFIG_REQ, _( "&Library" ),
|
||||
_( "Library preferences" ) );
|
||||
SETBITMAPS( library_xpm );
|
||||
SET_BITMAP( library_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
/* Colors */
|
||||
item = new wxMenuItem( configmenu, ID_COLORS_SETUP, _( "&Colors" ),
|
||||
_( "Color preferences" ) );
|
||||
SETBITMAPS( palette_xpm );
|
||||
SET_BITMAP( palette_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
/* Options */
|
||||
|
@ -390,7 +390,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
#endif
|
||||
|
||||
_( "EESchema preferences" ) );
|
||||
SETBITMAPS( preference_xpm );
|
||||
SET_BITMAP( preference_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
/* Language submenu */
|
||||
|
@ -405,13 +405,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
/* Save preferences */
|
||||
item = new wxMenuItem( configmenu, ID_CONFIG_SAVE, _( "&Save preferences" ),
|
||||
_( "Save application preferences" ) );
|
||||
SETBITMAPS( save_setup_xpm );
|
||||
SET_BITMAP( save_setup_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
/* Read preferences */
|
||||
item = new wxMenuItem( configmenu, ID_CONFIG_READ, _( "&Read preferences" ),
|
||||
_( "Read application preferences" ) );
|
||||
SETBITMAPS( read_setup_xpm );
|
||||
SET_BITMAP( read_setup_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
|
||||
|
@ -422,13 +422,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
|
||||
item = new wxMenuItem( helpMenu, ID_GENERAL_HELP, _( "&Contents" ),
|
||||
_( "Open the eeschema manual" ) );
|
||||
SETBITMAPS( online_help_xpm );
|
||||
SET_BITMAP( online_help_xpm );
|
||||
helpMenu->Append( item );
|
||||
|
||||
/* About on all platforms except WXMAC */
|
||||
item = new wxMenuItem( helpMenu, wxID_ABOUT, _( "&About" ),
|
||||
_( "About eeschema schematic designer" ) );
|
||||
SETBITMAPS( info_xpm );
|
||||
SET_BITMAP( info_xpm );
|
||||
helpMenu->Append( item );
|
||||
|
||||
// Create the menubar and append all submenus
|
||||
|
|
|
@ -147,6 +147,7 @@ APERTURE_MACRO* GERBER_IMAGE::FindApertureMacro( const APERTURE_MACRO& aLookup )
|
|||
|
||||
void GERBER_IMAGE::ResetDefaultValues()
|
||||
{
|
||||
m_InUse = false;
|
||||
m_GBRLayerParams.ResetDefaultValues();
|
||||
m_FileName.Empty();
|
||||
m_ImageName = wxT( "no name" ); // Image name from the IN command
|
||||
|
|
|
@ -82,6 +82,8 @@ class GERBER_IMAGE
|
|||
GERBER_LAYER m_GBRLayerParams; // hold params for the current gerber layer
|
||||
|
||||
public:
|
||||
bool m_InUse; // true if this image is currently in use
|
||||
// (a file is loaded in it)
|
||||
wxString m_FileName; // Full File Name for this layer
|
||||
wxString m_ImageName; // Image name, from IN <name>* command
|
||||
int m_GraphicLayer; // Graphic layer Number
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include "class_drawpanel.h"
|
||||
#include "pcbstruct.h"
|
||||
#include "gerbview.h"
|
||||
#include "class_GERBER.h"
|
||||
#include "layer_widget.h"
|
||||
#include "class_gerbview_layer_widget.h"
|
||||
|
||||
|
@ -238,4 +239,37 @@ void GERBER_LAYER_WIDGET::OnRenderEnable( int aId, bool isEnabled )
|
|||
|
||||
//-----</LAYER_WIDGET callbacks>------------------------------------------
|
||||
|
||||
/*
|
||||
* Virtual Function useAlternateBitmap
|
||||
* return true if bitmaps shown in Render layer list
|
||||
* must be alternate bitmaps, or false to use "normal" bitmaps
|
||||
*/
|
||||
bool GERBER_LAYER_WIDGET::useAlternateBitmap(int aRow)
|
||||
{
|
||||
bool inUse = false;
|
||||
GERBER_IMAGE* gerber = g_GERBER_List[aRow];
|
||||
if( gerber != NULL && gerber->m_InUse )
|
||||
inUse = true;
|
||||
return inUse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function UpdateLayerIcons
|
||||
* Update the layer manager icons (layers only)
|
||||
* Useful when loading a file or clearing a layer because they change
|
||||
*/
|
||||
void GERBER_LAYER_WIDGET::UpdateLayerIcons()
|
||||
{
|
||||
int row_count = GetLayerRowCount();
|
||||
for( int row = 0; row < row_count ; row++ )
|
||||
{
|
||||
wxStaticBitmap* bm = (wxStaticBitmap*) getLayerComp( row, 0 );
|
||||
if( bm == NULL)
|
||||
continue;
|
||||
|
||||
if( row == m_CurrentRow )
|
||||
bm->SetBitmap( useAlternateBitmap(row) ? *m_RightArrowAlternateBitmap : *m_RightArrowBitmap );
|
||||
else
|
||||
bm->SetBitmap( useAlternateBitmap(row) ? *m_BlankAlternateBitmap : *m_BlankBitmap );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,6 +59,13 @@ class GERBER_LAYER_WIDGET : public LAYER_WIDGET
|
|||
/// on every child control within the layer panel.
|
||||
void installRightLayerClickHandler();
|
||||
|
||||
/**
|
||||
* Virtual Function useAlternateBitmap
|
||||
* @return true if bitmaps shown in Render layer list
|
||||
* are alternate bitmaps, or false if they are "normal" bitmaps
|
||||
*/
|
||||
virtual bool useAlternateBitmap(int aRow);
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
|
@ -86,6 +93,13 @@ public:
|
|||
*/
|
||||
void SetLayersManagerTabsText( );
|
||||
//-----</implement LAYER_WIDGET abstract callback functions>----------
|
||||
|
||||
/**
|
||||
* Function UpdateLayerIcons
|
||||
* Update the layer manager icons (layers only)
|
||||
* Useful when loading a file or clearing a layer because they change
|
||||
*/
|
||||
void UpdateLayerIcons();
|
||||
};
|
||||
|
||||
#endif // _CLASS_GERBER_LAYER_WIDGET_H_
|
||||
|
|
|
@ -183,8 +183,8 @@ bool GERBVIEW_FRAME::LoadGerberFiles( const wxString& aFullFileName )
|
|||
|
||||
// Synchronize layers tools with actual active layer:
|
||||
setActiveLayer( getActiveLayer() );
|
||||
m_LayersManager->UpdateLayerIcons();
|
||||
syncLayerBox();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -268,6 +268,7 @@ bool GERBVIEW_FRAME::LoadExcellonFiles( const wxString& aFullFileName )
|
|||
|
||||
// Synchronize layers tools with actual active layer:
|
||||
setActiveLayer( getActiveLayer() );
|
||||
m_LayersManager->UpdateLayerIcons();
|
||||
syncLayerBox();
|
||||
|
||||
return true;
|
||||
|
|
|
@ -46,6 +46,7 @@ bool GERBVIEW_FRAME::Clear_Pcb( bool query )
|
|||
SetScreen( ScreenPcb );
|
||||
GetScreen()->Init();
|
||||
setActiveLayer(FIRST_COPPER_LAYER);
|
||||
m_LayersManager->UpdateLayerIcons();
|
||||
syncLayerBox();
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -81,5 +82,6 @@ void GERBVIEW_FRAME::Erase_Current_Layer( bool query )
|
|||
|
||||
ScreenPcb->SetModify();
|
||||
DrawPanel->Refresh();
|
||||
m_LayersManager->UpdateLayerIcons();
|
||||
syncLayerBox();
|
||||
}
|
||||
|
|
|
@ -151,6 +151,8 @@ bool GERBVIEW_FRAME::Read_GERBER_File( const wxString& GERBER_FullFileName,
|
|||
fclose( gerber->m_Current_File );
|
||||
SetLocaleTo_Default();
|
||||
|
||||
gerber->m_InUse = true;
|
||||
|
||||
// Display errors list
|
||||
if( m_Messages.size() > 0 )
|
||||
{
|
||||
|
|
|
@ -412,6 +412,7 @@ extern const char* width_segment_xpm[];
|
|||
extern const char* width_track_via_xpm[];
|
||||
extern const char* width_track_xpm[];
|
||||
extern const char* width_vias_xpm[];
|
||||
extern const char* window_close_xpm[];
|
||||
extern const char* zip_tool_xpm[];
|
||||
extern const char* zip_xpm[];
|
||||
extern const char* zoom_area_xpm[];
|
||||
|
|
|
@ -237,10 +237,18 @@ static inline void ADD_MENUITEM_WITH_HELP_AND_SUBMENU( wxMenu* menu,
|
|||
|
||||
#endif
|
||||
|
||||
// macro to add a bitmap list to check menus (do not use with normal menus)
|
||||
#ifdef __WINDOWS__
|
||||
# define SETBITMAPS( icon ) item->SetBitmaps( apply_xpm, (icon) )
|
||||
#else
|
||||
# define SETBITMAPS( icon )
|
||||
#endif
|
||||
|
||||
// macro to add a bitmap menus (do not use with check menus)
|
||||
#ifdef __WXMAC__
|
||||
# define SET_BITMAP( icon )
|
||||
#else
|
||||
# define SET_BITMAP( icon ) item->SetBitmap( (icon) )
|
||||
#endif
|
||||
|
||||
#endif /* ifdef MACRO_H */
|
||||
|
|
|
@ -49,8 +49,6 @@ extern PCB_SCREEN* ScreenPcb;
|
|||
extern BOARD* g_ModuleEditor_Pcb;
|
||||
|
||||
/* Pad editing */
|
||||
extern wxString g_Current_PadName; // Last used pad name (pad num)
|
||||
|
||||
extern D_PAD g_Pad_Master;
|
||||
|
||||
#endif /* __PCBCOMMON_H__ */
|
||||
|
|
|
@ -8,10 +8,20 @@ else(ZLIB_FOUND)
|
|||
# include files are in ${wxWidgets_ROOT_DIR}/src/zlib
|
||||
# and the corresponding library is libwxzlib-<version>.a (like libwxzlib-2.8.a)
|
||||
# and we try to use it
|
||||
# Unfortunately, we have no way to know exactlty the path of zlib.h becuase this file
|
||||
# Unfortunately, we have no way to know exactlty the path of zlib.h because this file
|
||||
# is in wxWidgets sources, not in wxWidgets include path.
|
||||
find_path(ZLIB_INCLUDE_DIR zlib.h PATHS ${wxWidgets_ROOT_DIR}/../src/zlib/ ${wxWidgets_ROOT_DIR}/src/zlib/ DOC "location of zlib include files")
|
||||
find_file(ZLIB_LIBRARIES NAMES ${wxWidgets_LIB_DIR}/libwxzlib-2.8.a ZLIB_LIBRARIES NAMES ${wxWidgets_LIB_DIR}/libwxzlib-2.9.a libwxzlib.a PATHS ${wxWidgets_ROOT_DIR}/lib/ PATH_SUFFIXES gcc_dll DOC "location of wxzlib library file")
|
||||
find_path(ZLIB_INCLUDE_DIR
|
||||
zlib.h
|
||||
PATHS ${wxWidgets_ROOT_DIR}/../src/zlib/ ${wxWidgets_ROOT_DIR}/src/zlib/
|
||||
DOC "location of zlib include files"
|
||||
)
|
||||
|
||||
find_file(
|
||||
ZLIB_LIBRARIES NAMES ${wxWidgets_LIB_DIR}/libwxzlib-2.8.a
|
||||
ZLIB_LIBRARIES NAMES ${wxWidgets_LIB_DIR}/libwxzlib-2.9.a libwxzlib.a
|
||||
PATHS ${wxWidgets_ROOT_DIR}/lib/ PATH_SUFFIXES gcc_dll
|
||||
DOC "location of wxzlib library file"
|
||||
)
|
||||
endif(ZLIB_FOUND)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
; General Product Description Definitions
|
||||
!define PRODUCT_NAME "KiCad"
|
||||
!define PRODUCT_VERSION "2011.04.01"
|
||||
!define PRODUCT_VERSION "2011.04.05"
|
||||
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
|
||||
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
|
||||
!define COMPANY_NAME ""
|
||||
|
|
|
@ -91,6 +91,26 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
// Helper class to handle hight light nets
|
||||
class HIGHT_LIGHT_INFO
|
||||
{
|
||||
friend class BOARD;
|
||||
protected:
|
||||
int m_netCode; // net selected for hightlight (-1 when no net selected )
|
||||
bool m_hightLightOn; // hightlight active
|
||||
|
||||
protected:
|
||||
void Clear()
|
||||
{
|
||||
m_netCode = -1;
|
||||
m_hightLightOn = false;
|
||||
}
|
||||
|
||||
HIGHT_LIGHT_INFO()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Class BOARD
|
||||
|
@ -109,6 +129,9 @@ private:
|
|||
ZONE_CONTAINERS m_ZoneDescriptorList; ///< edge zone descriptors, owned by pointer
|
||||
|
||||
LAYER m_Layer[NB_COPPER_LAYERS];
|
||||
// if true m_hightLight_NetCode is used
|
||||
HIGHT_LIGHT_INFO m_hightLight; // current hight light data
|
||||
HIGHT_LIGHT_INFO m_hightLightPrevious; // a previously stored hight light data
|
||||
|
||||
public:
|
||||
PCB_BASE_FRAME* m_PcbFrame; // Window of visualization
|
||||
|
@ -249,6 +272,67 @@ public:
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function ResetHightLight
|
||||
* Reset all hight light data to the init state
|
||||
*/
|
||||
void ResetHightLight()
|
||||
{
|
||||
m_hightLight.Clear();
|
||||
m_hightLightPrevious.Clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Function GetHightLightNetCode
|
||||
* @return netcode of net to hightlight (-1 when no net selected)
|
||||
*/
|
||||
int GetHightLightNetCode() { return m_hightLight.m_netCode; }
|
||||
|
||||
/**
|
||||
* Function SetHightLightNet
|
||||
* @param aNetCode = netcode of net to hightlight
|
||||
*/
|
||||
void SetHightLightNet( int aNetCode)
|
||||
{
|
||||
m_hightLight.m_netCode = aNetCode;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function IsHightLightNetON
|
||||
* @return true if a net is currently hightlighted
|
||||
*/
|
||||
bool IsHightLightNetON() { return m_hightLight.m_hightLightOn; }
|
||||
|
||||
/**
|
||||
* Function HightLightOFF
|
||||
* Disable hightlight.
|
||||
*/
|
||||
void HightLightOFF() { m_hightLight.m_hightLightOn = false; }
|
||||
|
||||
/**
|
||||
* Function HightLightON
|
||||
* Enable hightlight.
|
||||
* if m_hightLight_NetCode >= 0, this net will be hightlighted
|
||||
*/
|
||||
void HightLightON() { m_hightLight.m_hightLightOn = true; }
|
||||
|
||||
/**
|
||||
* Function PushHightLight
|
||||
* save current hight light info for later use
|
||||
*/
|
||||
void PushHightLight() { m_hightLightPrevious = m_hightLight; }
|
||||
|
||||
/**
|
||||
* Function PopHightLight
|
||||
* retrieve a previously saved hight light info
|
||||
*/
|
||||
void PopHightLight()
|
||||
{
|
||||
m_hightLight = m_hightLightPrevious;
|
||||
m_hightLightPrevious.Clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Function GetCopperLayerCount
|
||||
* @return int - The number of copper layers in the BOARD.
|
||||
|
|
|
@ -41,6 +41,7 @@ void RemoteCommand( const char* cmdline )
|
|||
char* text;
|
||||
MODULE* module = 0;
|
||||
PCB_EDIT_FRAME* frame = (PCB_EDIT_FRAME*)wxGetApp().GetTopWindow();
|
||||
BOARD* pcb = frame->GetBoard();
|
||||
wxPoint pos;
|
||||
|
||||
strncpy( line, cmdline, sizeof(line) - 1 );
|
||||
|
@ -81,7 +82,7 @@ void RemoteCommand( const char* cmdline )
|
|||
|
||||
modName = FROM_UTF8( text );
|
||||
|
||||
module = frame->GetBoard()->FindModuleByReference( modName );
|
||||
module = pcb->FindModuleByReference( modName );
|
||||
|
||||
if( module )
|
||||
pad = module->FindPadByName( pinName );
|
||||
|
@ -96,13 +97,13 @@ void RemoteCommand( const char* cmdline )
|
|||
|
||||
if( netcode > 0 ) /* highlight the pad net*/
|
||||
{
|
||||
g_HighLight_Status = 1;
|
||||
g_HighLight_NetCode = netcode;
|
||||
pcb->HightLightON();
|
||||
pcb->SetHightLightNet( netcode );
|
||||
}
|
||||
else
|
||||
{
|
||||
g_HighLight_Status = 0;
|
||||
g_HighLight_NetCode = 0;
|
||||
pcb->HightLightOFF();
|
||||
pcb->SetHightLightNet( -1 );
|
||||
}
|
||||
|
||||
if( module == NULL )
|
||||
|
|
|
@ -81,7 +81,7 @@ TRACK* PCB_EDIT_FRAME::Delete_Segment( wxDC* DC, TRACK* aTrack )
|
|||
{
|
||||
DrawPanel->SetMouseCapture( NULL, NULL );
|
||||
|
||||
if( g_HighLight_Status )
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( DC );
|
||||
|
||||
SetCurItem( NULL );
|
||||
|
|
|
@ -555,7 +555,6 @@ void DIALOG_PAD_PROPERTIES::PadPropertiesAccept( wxCommandEvent& event )
|
|||
return;
|
||||
|
||||
TransfertDataToPad( &g_Pad_Master, false );
|
||||
g_Current_PadName = g_Pad_Master.ReturnStringPadName();
|
||||
|
||||
if( m_CurrentPad ) // Set current Pad parameters
|
||||
{
|
||||
|
|
|
@ -1232,7 +1232,8 @@ void PCB_EDIT_FRAME::OnSelectTool( wxCommandEvent& aEvent )
|
|||
if( DisplayOpt.DisplayZonesMode != 0 )
|
||||
DisplayInfoMessage( this, _( "Warning: zone display is OFF!!!" ) );
|
||||
|
||||
if( !g_HighLight_Status && (g_HighLight_NetCode > 0 ) )
|
||||
if( !GetBoard()->IsHightLightNetON() &&
|
||||
(GetBoard()->GetHightLightNetCode() > 0 ) )
|
||||
High_Light( &dc );
|
||||
|
||||
break;
|
||||
|
|
|
@ -148,7 +148,7 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
|
|||
via->m_Flags = IS_NEW;
|
||||
via->m_Shape = GetBoard()->GetBoardDesignSettings()->m_CurrentViaType;
|
||||
via->m_Width = GetBoard()->GetCurrentViaSize();
|
||||
via->SetNet( g_HighLight_NetCode );
|
||||
via->SetNet( GetBoard()->GetHightLightNetCode() );
|
||||
via->m_Start = via->m_End = g_CurrentTrackSegment->m_End;
|
||||
// Usual via is from copper to component.
|
||||
// layer pair is LAYER_N_BACK and LAYER_N_FRONT.
|
||||
|
|
|
@ -22,12 +22,8 @@ void ShowNewTrackWhenMovingCursor( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
|||
const wxPoint& aPosition, bool aErase );
|
||||
static void ComputeBreakPoint( TRACK* track, int n, wxPoint end );
|
||||
static void DeleteNullTrackSegments( BOARD* pcb, DLIST<TRACK>& aTrackList );
|
||||
|
||||
static void EnsureEndTrackOnPad( D_PAD* Pad );
|
||||
|
||||
|
||||
static int OldNetCodeSurbrillance;
|
||||
static int OldEtatSurbrillance;
|
||||
static PICKED_ITEMS_LIST s_ItemsListPicker;
|
||||
|
||||
|
||||
|
@ -37,17 +33,18 @@ static PICKED_ITEMS_LIST s_ItemsListPicker;
|
|||
static void Exit_Editrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
|
||||
{
|
||||
PCB_EDIT_FRAME* frame = (PCB_EDIT_FRAME*) Panel->GetParent();
|
||||
BOARD * pcb = frame->GetBoard();
|
||||
TRACK* track = (TRACK*) frame->GetCurItem();
|
||||
|
||||
if( track && ( track->Type()==TYPE_VIA || track->Type()==TYPE_TRACK ) )
|
||||
{
|
||||
/* Erase the current drawing */
|
||||
ShowNewTrackWhenMovingCursor( Panel, DC, wxDefaultPosition, false );
|
||||
if( g_HighLight_Status )
|
||||
if( pcb->IsHightLightNetON() )
|
||||
frame->High_Light( DC );
|
||||
|
||||
g_HighLight_NetCode = OldNetCodeSurbrillance;
|
||||
if( OldEtatSurbrillance )
|
||||
pcb->PopHightLight();
|
||||
if( pcb->IsHightLightNetON() )
|
||||
frame->High_Light( DC );
|
||||
|
||||
frame->MsgPanel->EraseMsgBox();
|
||||
|
@ -95,17 +92,16 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC )
|
|||
// necessary,
|
||||
// but...
|
||||
|
||||
/* erase old highlight */
|
||||
OldNetCodeSurbrillance = g_HighLight_NetCode;
|
||||
OldEtatSurbrillance = g_HighLight_Status;
|
||||
GetBoard()->PushHightLight();
|
||||
|
||||
if( g_HighLight_Status )
|
||||
// erase old highlight
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( DC );
|
||||
|
||||
g_CurrentTrackList.PushBack( new TRACK( GetBoard() ) );
|
||||
g_CurrentTrackSegment->m_Flags = IS_NEW;
|
||||
|
||||
g_HighLight_NetCode = 0;
|
||||
GetBoard()->SetHightLightNet(0);
|
||||
|
||||
// Search for a starting point of the new track, a track or pad
|
||||
LockPoint = LocateLockPoint( GetBoard(), pos, masquelayer );
|
||||
|
@ -118,12 +114,12 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC )
|
|||
|
||||
/* A pad is found: put the starting point on pad centre */
|
||||
pos = pt_pad->m_Pos;
|
||||
g_HighLight_NetCode = pt_pad->GetNet();
|
||||
GetBoard()->SetHightLightNet( pt_pad->GetNet() );
|
||||
}
|
||||
else /* A track segment is found */
|
||||
{
|
||||
TrackOnStartPoint = (TRACK*) LockPoint;
|
||||
g_HighLight_NetCode = TrackOnStartPoint->GetNet();
|
||||
GetBoard()->SetHightLightNet( TrackOnStartPoint->GetNet() );
|
||||
CreateLockPoint( GetBoard(), pos,
|
||||
TrackOnStartPoint,
|
||||
&s_ItemsListPicker );
|
||||
|
@ -136,7 +132,7 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC )
|
|||
zone = GetBoard()->HitTestForAnyFilledArea( pos, GetScreen()-> m_Active_Layer );
|
||||
|
||||
if( zone )
|
||||
g_HighLight_NetCode = zone->GetNet();
|
||||
GetBoard()->SetHightLightNet( zone->GetNet() );
|
||||
}
|
||||
|
||||
D( g_CurrentTrackList.VerifyListIntegrity(); );
|
||||
|
@ -148,7 +144,7 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC )
|
|||
High_Light( DC );
|
||||
|
||||
// Display info about track Net class, and init track and vias sizes:
|
||||
g_CurrentTrackSegment->SetNet( g_HighLight_NetCode );
|
||||
g_CurrentTrackSegment->SetNet( GetBoard()->GetHightLightNetCode() );
|
||||
GetBoard()->SetCurrentNetClass( g_CurrentTrackSegment->GetNetClassName() );
|
||||
|
||||
g_CurrentTrackSegment->SetLayer( GetScreen()->m_Active_Layer );
|
||||
|
@ -467,7 +463,7 @@ void PCB_EDIT_FRAME::End_Route( TRACK* aTrack, wxDC* DC )
|
|||
* possibly create an anchor. */
|
||||
{
|
||||
TRACK* adr_buf = (TRACK*) LockPoint;
|
||||
g_HighLight_NetCode = adr_buf->GetNet();
|
||||
GetBoard()->SetHightLightNet( adr_buf->GetNet() );
|
||||
|
||||
/* Possible establishment of a hanging point. */
|
||||
LockPoint = CreateLockPoint( GetBoard(),
|
||||
|
@ -529,12 +525,12 @@ void PCB_EDIT_FRAME::End_Route( TRACK* aTrack, wxDC* DC )
|
|||
wxASSERT( g_CurrentTrackSegment==NULL );
|
||||
wxASSERT( g_CurrentTrackList.GetCount()==0 );
|
||||
|
||||
if( g_HighLight_Status )
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( DC );
|
||||
|
||||
g_HighLight_NetCode = OldNetCodeSurbrillance;
|
||||
GetBoard()->PopHightLight();
|
||||
|
||||
if( OldEtatSurbrillance )
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( DC );
|
||||
|
||||
DrawPanel->SetMouseCapture( NULL, NULL );
|
||||
|
|
|
@ -52,7 +52,7 @@ bool PCB_EDIT_FRAME::Clear_Pcb( bool aQuery )
|
|||
GetScreen()->Init();
|
||||
GetScreen()->SetGrid( gridsize );
|
||||
|
||||
g_HighLight_Status = 0;
|
||||
GetBoard()->ResetHightLight();
|
||||
|
||||
// Enable all layers (SetCopperLayerCount() will adjust the copper layers enabled)
|
||||
GetBoard()->SetEnabledLayers(ALL_LAYERS);
|
||||
|
|
|
@ -44,7 +44,9 @@
|
|||
#define BUTT_SIZE_Y 18
|
||||
#define BUTT_VOID 4
|
||||
|
||||
/* XPM */
|
||||
/* XPM
|
||||
* This bitmap is used for not selected layers
|
||||
*/
|
||||
static const char * clear_xpm[] = {
|
||||
"10 14 1 1",
|
||||
" c None",
|
||||
|
@ -63,11 +65,38 @@ static const char * clear_xpm[] = {
|
|||
" ",
|
||||
" "};
|
||||
|
||||
/* XPM */
|
||||
static const char * rightarrow_xpm[] = {
|
||||
"10 14 5 1",
|
||||
/* XPM
|
||||
* This bitmap can be used to show a not selected layer
|
||||
* with special property (mainly not selected layers not in use in Gerbview)
|
||||
*/
|
||||
static const char * clear_alternate_xpm[] = {
|
||||
"10 14 4 1",
|
||||
" c None",
|
||||
"X c #008080",
|
||||
"o c GREEN",
|
||||
"O c #00B080",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" X ",
|
||||
" XXX ",
|
||||
" XXXXX ",
|
||||
" OOOOOOO ",
|
||||
" ooooo ",
|
||||
" ooo ",
|
||||
" o ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
||||
|
||||
|
||||
/* XPM
|
||||
* This bitmap is used for a normale selected layer
|
||||
*/
|
||||
static const char * rightarrow_xpm[] = {
|
||||
"10 14 4 1",
|
||||
" c None",
|
||||
". c white",
|
||||
"X c #8080ff",
|
||||
"o c BLUE",
|
||||
"O c gray56",
|
||||
|
@ -86,6 +115,32 @@ static const char * rightarrow_xpm[] = {
|
|||
" ooO ",
|
||||
" oO "};
|
||||
|
||||
/* XPM
|
||||
* This bitmap can be used to show the selected layer
|
||||
* with special property (mainly a layer in use in Gerbview)
|
||||
*/
|
||||
static const char * rightarrow_alternate_xpm[] = {
|
||||
"10 14 5 1",
|
||||
" c None",
|
||||
". c #00B000",
|
||||
"X c #8080ff",
|
||||
"o c BLUE",
|
||||
"O c gray56",
|
||||
"..X ",
|
||||
"..XX ",
|
||||
"..XXX ",
|
||||
"..XXXX ",
|
||||
"..XXXXX ",
|
||||
"..XXXXXX ",
|
||||
"..XXXXXXX ",
|
||||
"..oooooooO",
|
||||
"..ooooooO ",
|
||||
"..oooooO ",
|
||||
"..ooooO ",
|
||||
"..oooO ",
|
||||
"..ooO ",
|
||||
"..oO "};
|
||||
|
||||
|
||||
/**
|
||||
* Function makeColorTxt
|
||||
|
@ -349,7 +404,8 @@ void LAYER_WIDGET::insertLayerRow( int aRow, const ROW& aSpec )
|
|||
// column 0
|
||||
col = 0;
|
||||
wxStaticBitmap* sbm = new wxStaticBitmap( m_LayerScrolledWindow, encodeId( col, aSpec.id ),
|
||||
*m_BlankBitmap, wxDefaultPosition, m_BitmapSize );
|
||||
useAlternateBitmap(aRow) ? *m_BlankAlternateBitmap : *m_BlankBitmap,
|
||||
wxDefaultPosition, m_BitmapSize );
|
||||
sbm->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( LAYER_WIDGET::OnLeftDownLayers ), NULL, this );
|
||||
m_LayersFlexGridSizer->wxSizer::Insert( index+col, sbm, 0, flags );
|
||||
|
||||
|
@ -502,8 +558,10 @@ LAYER_WIDGET::LAYER_WIDGET( wxWindow* aParent, wxWindow* aFocusOwner, int aPoint
|
|||
m_CurrentRow = -1; // hide the arrow initially
|
||||
|
||||
m_RightArrowBitmap = new wxBitmap( rightarrow_xpm );
|
||||
m_RightArrowAlternateBitmap = new wxBitmap( rightarrow_alternate_xpm );
|
||||
|
||||
m_BlankBitmap = new wxBitmap( clear_xpm ); // translucent
|
||||
m_BlankAlternateBitmap = new wxBitmap( clear_alternate_xpm );
|
||||
m_BitmapSize = wxSize(m_BlankBitmap->GetWidth(), m_BlankBitmap->GetHeight());
|
||||
|
||||
// trap the tab changes so that we can call passOnFocus().
|
||||
|
@ -656,12 +714,12 @@ void LAYER_WIDGET::SelectLayerRow( int aRow )
|
|||
|
||||
wxStaticBitmap* oldbm = (wxStaticBitmap*) getLayerComp( m_CurrentRow, 0 );
|
||||
if( oldbm )
|
||||
oldbm->SetBitmap( *m_BlankBitmap );
|
||||
oldbm->SetBitmap( useAlternateBitmap(m_CurrentRow) ? *m_BlankAlternateBitmap : *m_BlankBitmap );
|
||||
|
||||
wxStaticBitmap* newbm = (wxStaticBitmap*) getLayerComp( aRow, 0 );
|
||||
if( newbm )
|
||||
{
|
||||
newbm->SetBitmap( *m_RightArrowBitmap );
|
||||
newbm->SetBitmap( useAlternateBitmap(aRow) ? *m_RightArrowAlternateBitmap : *m_RightArrowBitmap );
|
||||
|
||||
// Make sure the desired layer row is visible.
|
||||
// It seems that as of 2.8.2, setting the focus does this.
|
||||
|
|
|
@ -103,13 +103,25 @@ protected:
|
|||
|
||||
wxWindow* m_FocusOwner;
|
||||
wxBitmap* m_BlankBitmap;
|
||||
wxBitmap* m_BlankAlternateBitmap;
|
||||
wxBitmap* m_RightArrowBitmap;
|
||||
wxBitmap* m_RightArrowAlternateBitmap;
|
||||
wxSize m_BitmapSize;
|
||||
int m_CurrentRow; ///< selected row of layer list
|
||||
int m_PointSize;
|
||||
|
||||
static wxBitmap makeBitmap( int aColor );
|
||||
|
||||
/**
|
||||
* Virtual Function useAlternateBitmap
|
||||
* @return true if bitmaps shown in Render layer list
|
||||
* are alternate bitmaps, or false if they are "normal" bitmaps
|
||||
* This is a virtual function because Pcbnew uses normal bitmaps
|
||||
* but Gerbview uses both bitmaps
|
||||
* (alternate bitmaps to show layers in use, normal fo others)
|
||||
*/
|
||||
virtual bool useAlternateBitmap(int aRow) { return false; }
|
||||
|
||||
/**
|
||||
* Function encodeId
|
||||
* is here to allow saving a layer index within a control as its wxControl id,
|
||||
|
|
|
@ -42,14 +42,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( filesMenu, ID_NEW_BOARD,
|
||||
_( "&New" ),
|
||||
_( "Clear current board and initialize a new one" ) );
|
||||
SETBITMAPS( new_xpm );
|
||||
SET_BITMAP( new_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Open
|
||||
item = new wxMenuItem( filesMenu, ID_LOAD_FILE,
|
||||
_( "&Open\tCtrl+O" ),
|
||||
_( "Delete current board and load new board" ) );
|
||||
SETBITMAPS( open_document_xpm );
|
||||
SET_BITMAP( open_document_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Load Recent submenu
|
||||
|
@ -65,7 +65,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( filesMenu, ID_APPEND_FILE,
|
||||
_( "&Append Board" ),
|
||||
_( "Append another PCBNew board to the current loaded board" ) );
|
||||
SETBITMAPS( import_xpm );
|
||||
SET_BITMAP( import_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Separator
|
||||
|
@ -75,14 +75,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( filesMenu, ID_SAVE_BOARD,
|
||||
_( "&Save\tCtrl+S" ),
|
||||
_( "Save current board" ) );
|
||||
SETBITMAPS( save_xpm );
|
||||
SET_BITMAP( save_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Save As
|
||||
item = new wxMenuItem( filesMenu, ID_SAVE_BOARD_AS,
|
||||
_( "Save as..." ),
|
||||
_( "Save the current board as.." ) );
|
||||
SETBITMAPS( save_as_xpm );
|
||||
SET_BITMAP( save_as_xpm );
|
||||
filesMenu->Append( item );
|
||||
filesMenu->AppendSeparator();
|
||||
|
||||
|
@ -90,13 +90,13 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( filesMenu, ID_MENU_READ_LAST_SAVED_VERSION_BOARD,
|
||||
_( "&Revert" ),
|
||||
_( "Clear board and get previous saved version of board" ) );
|
||||
SETBITMAPS( jigsaw_xpm );
|
||||
SET_BITMAP( jigsaw_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Rescue
|
||||
item = new wxMenuItem( filesMenu, ID_MENU_RECOVER_BOARD, _( "&Rescue" ),
|
||||
_( "Clear old board and get last rescue file" ) );
|
||||
SETBITMAPS( hammer_xpm );
|
||||
SET_BITMAP( hammer_xpm );
|
||||
filesMenu->Append( item );
|
||||
filesMenu->AppendSeparator();
|
||||
|
||||
|
@ -106,27 +106,27 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_POS_MODULES_FILE,
|
||||
_( "&Modules Position File" ),
|
||||
_( "Generate modules position file for pick and place" ) );
|
||||
SETBITMAPS( post_compo_xpm );
|
||||
SET_BITMAP( post_compo_xpm );
|
||||
fabricationOutputsMenu->Append( item );
|
||||
|
||||
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_DRILL_FILE,
|
||||
_( "&Drill File" ),
|
||||
_( "Generate excellon2 drill file" ) );
|
||||
SETBITMAPS( post_drill_xpm );
|
||||
SET_BITMAP( post_drill_xpm );
|
||||
fabricationOutputsMenu->Append( item );
|
||||
|
||||
// Component File
|
||||
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_CMP_FILE,
|
||||
_( "&Component File" ),
|
||||
_( "(Re)create components file (*.cmp) for CvPcb" ) );
|
||||
SETBITMAPS( create_cmp_file_xpm );
|
||||
SET_BITMAP( create_cmp_file_xpm );
|
||||
fabricationOutputsMenu->Append( item );
|
||||
|
||||
// BOM File
|
||||
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_BOM_FILE_FROM_BOARD,
|
||||
_( "&BOM File" ),
|
||||
_( "Create a bill of materials from schematic" ) );
|
||||
SETBITMAPS( tools_xpm );
|
||||
SET_BITMAP( tools_xpm );
|
||||
fabricationOutputsMenu->Append( item );
|
||||
|
||||
// Fabrications Outputs submenu append
|
||||
|
@ -144,7 +144,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( submenuImport, ID_GEN_IMPORT_SPECCTRA_SESSION,
|
||||
_( "&Specctra Session" ),
|
||||
_( "Import a routed \"Specctra Session\" (*.ses) file" ) );
|
||||
SETBITMAPS( import_xpm ); // @todo need better bitmap
|
||||
SET_BITMAP( import_xpm ); // @todo need better bitmap
|
||||
submenuImport->Append( item );
|
||||
|
||||
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuImport,
|
||||
|
@ -160,27 +160,27 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_SPECCTRA,
|
||||
_( "&Specctra DSN" ),
|
||||
_( "Export the current board to a \"Specctra DSN\" file" ) );
|
||||
SETBITMAPS( export_xpm );
|
||||
SET_BITMAP( export_xpm );
|
||||
submenuexport->Append( item );
|
||||
|
||||
// GenCAD
|
||||
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_GENCADFORMAT,
|
||||
_( "&GenCAD" ), _( "Export GenCAD format" ) );
|
||||
SETBITMAPS( export_xpm );
|
||||
SET_BITMAP( export_xpm );
|
||||
submenuexport->Append( item );
|
||||
|
||||
// Module Report
|
||||
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_MODULE_REPORT,
|
||||
_( "&Module Report" ),
|
||||
_( "Create a report of all modules on the current board" ) );
|
||||
SETBITMAPS( tools_xpm );
|
||||
SET_BITMAP( tools_xpm );
|
||||
submenuexport->Append( item );
|
||||
|
||||
// VRML
|
||||
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_VRML,
|
||||
_( "&VRML" ),
|
||||
_( "Export a VRML board representation" ) );
|
||||
SETBITMAPS( show_3d_xpm );
|
||||
SET_BITMAP( show_3d_xpm );
|
||||
submenuexport->Append( item );
|
||||
|
||||
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuexport,
|
||||
|
@ -193,21 +193,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( filesMenu, wxID_PRINT,
|
||||
_( "&Print\tCtrl+P" ),
|
||||
_( "Print board" ) );
|
||||
SETBITMAPS( print_button );
|
||||
SET_BITMAP( print_button );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Create SVG file
|
||||
item = new wxMenuItem( filesMenu, ID_GEN_PLOT_SVG,
|
||||
_( "Print S&VG" ),
|
||||
_( "Plot board in Scalable Vector Graphics format" ) );
|
||||
SETBITMAPS( print_button );
|
||||
SET_BITMAP( print_button );
|
||||
filesMenu->Append( item );
|
||||
|
||||
// Plot
|
||||
item = new wxMenuItem( filesMenu, ID_GEN_PLOT,
|
||||
_( "&Plot" ),
|
||||
_( "Plot board in HPGL, PostScript or Gerber RS-274X format)" ) );
|
||||
SETBITMAPS( plot_xpm );
|
||||
SET_BITMAP( plot_xpm );
|
||||
filesMenu->Append( item );
|
||||
filesMenu->AppendSeparator();
|
||||
|
||||
|
@ -217,14 +217,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( submenuarchive, ID_MENU_ARCHIVE_NEW_MODULES,
|
||||
_( "Archive New Footprints" ),
|
||||
_( "Archive new footprints only in a library (keep other footprints in this lib)" ) );
|
||||
SETBITMAPS( library_update_xpm );
|
||||
SET_BITMAP( library_update_xpm );
|
||||
submenuarchive->Append( item );
|
||||
|
||||
// Create FootPrint Archive
|
||||
item = new wxMenuItem( submenuarchive, ID_MENU_ARCHIVE_ALL_MODULES,
|
||||
_( "Create Footprint Archive" ),
|
||||
_( "Archive all footprints in a library (old library will be deleted)" ) );
|
||||
SETBITMAPS( library_xpm );
|
||||
SET_BITMAP( library_xpm );
|
||||
submenuarchive->Append( item );
|
||||
|
||||
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuarchive,
|
||||
|
@ -236,7 +236,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
/* Quit */
|
||||
filesMenu->AppendSeparator();
|
||||
item = new wxMenuItem( filesMenu, wxID_EXIT, _( "&Quit" ), _( "Quit PCBNew" ) );
|
||||
SETBITMAPS( exit_xpm );
|
||||
SET_BITMAP( exit_xpm );
|
||||
filesMenu->Append( item );
|
||||
|
||||
/** Create Edit menu **/
|
||||
|
@ -246,21 +246,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
text = AddHotkeyName( _( "Undo" ), g_Pcbnew_Editor_Hokeys_Descr, HK_UNDO );
|
||||
item = new wxMenuItem( editMenu, wxID_UNDO, text,
|
||||
HELP_UNDO, wxITEM_NORMAL );
|
||||
SETBITMAPS( undo_xpm );
|
||||
SET_BITMAP( undo_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
// Redo
|
||||
text = AddHotkeyName( _( "Redo" ), g_Pcbnew_Editor_Hokeys_Descr, HK_REDO );
|
||||
item = new wxMenuItem( editMenu, wxID_REDO, text,
|
||||
HELP_REDO, wxITEM_NORMAL );
|
||||
SETBITMAPS( redo_xpm );
|
||||
SET_BITMAP( redo_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
// Delete
|
||||
item = new wxMenuItem( editMenu, ID_PCB_DELETE_ITEM_BUTT,
|
||||
_( "Delete" ),
|
||||
_( "Delete items" ) );
|
||||
SETBITMAPS( delete_body_xpm );
|
||||
SET_BITMAP( delete_body_xpm );
|
||||
editMenu->Append( item );
|
||||
editMenu->AppendSeparator();
|
||||
|
||||
|
@ -268,7 +268,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
text = AddHotkeyName( _( "&Find" ), g_Pcbnew_Editor_Hokeys_Descr, HK_FIND_ITEM );
|
||||
item = new wxMenuItem( editMenu, ID_FIND_ITEMS,
|
||||
text, HELP_FIND );
|
||||
SETBITMAPS( find_xpm );
|
||||
SET_BITMAP( find_xpm );
|
||||
editMenu->Append( item );
|
||||
editMenu->AppendSeparator();
|
||||
|
||||
|
@ -276,21 +276,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( editMenu, ID_PCB_GLOBAL_DELETE,
|
||||
_( "Global &Deletions" ),
|
||||
_( "Delete tracks, modules, texts... on board" ) );
|
||||
SETBITMAPS( general_deletions_xpm );
|
||||
SET_BITMAP( general_deletions_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
// Cleanup Tracks and Vias
|
||||
item = new wxMenuItem( editMenu, ID_MENU_PCB_CLEAN,
|
||||
_( "&Cleanup Tracks and Vias" ),
|
||||
_( "Clean stubs, vias, delete break points, or connect dangling tracks to pads and vias" ) );
|
||||
SETBITMAPS( delete_body_xpm );
|
||||
SET_BITMAP( delete_body_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
// Swap Layers
|
||||
item = new wxMenuItem( editMenu, ID_MENU_PCB_SWAP_LAYERS,
|
||||
_( "&Swap Layers" ),
|
||||
_( "Swap tracks on copper layers or drawings on other layers" ) );
|
||||
SETBITMAPS( swap_layer_xpm );
|
||||
SET_BITMAP( swap_layer_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
// Reset module reference sizes
|
||||
|
@ -298,7 +298,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
ID_MENU_PCB_RESET_TEXTMODULE_REFERENCE_SIZES,
|
||||
_( "Reset Module &Reference Sizes" ),
|
||||
_( "Reset text size and width of all module references to current defaults" ) );
|
||||
SETBITMAPS( reset_text_xpm );
|
||||
SET_BITMAP( reset_text_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
// Reset module value sizes
|
||||
|
@ -306,7 +306,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
ID_MENU_PCB_RESET_TEXTMODULE_VALUE_SIZES,
|
||||
_( "Reset Module &Value Sizes" ),
|
||||
_( "Reset text size and width of all module values to current defaults" ) );
|
||||
SETBITMAPS( reset_text_xpm );
|
||||
SET_BITMAP( reset_text_xpm );
|
||||
editMenu->Append( item );
|
||||
|
||||
/** Create View menu **/
|
||||
|
@ -328,7 +328,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
HK_ZOOM_IN, false );
|
||||
item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text,
|
||||
HELP_ZOOM_IN, wxITEM_NORMAL );
|
||||
SETBITMAPS( zoom_in_xpm );
|
||||
SET_BITMAP( zoom_in_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
// Zoom Out
|
||||
|
@ -337,7 +337,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text,
|
||||
HELP_ZOOM_OUT, wxITEM_NORMAL );
|
||||
|
||||
SETBITMAPS( zoom_out_xpm );
|
||||
SET_BITMAP( zoom_out_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
// Fit on Screen
|
||||
|
@ -346,7 +346,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
|
||||
item = new wxMenuItem( viewMenu, ID_ZOOM_PAGE, text,
|
||||
HELP_ZOOM_FIT, wxITEM_NORMAL );
|
||||
SETBITMAPS( zoom_fit_in_page_xpm );
|
||||
SET_BITMAP( zoom_fit_in_page_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
viewMenu->AppendSeparator();
|
||||
|
@ -358,7 +358,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text,
|
||||
HELP_ZOOM_REDRAW,
|
||||
wxITEM_NORMAL );
|
||||
SETBITMAPS( zoom_redraw_xpm );
|
||||
SET_BITMAP( zoom_redraw_xpm );
|
||||
viewMenu->Append( item );
|
||||
viewMenu->AppendSeparator();
|
||||
|
||||
|
@ -366,14 +366,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( viewMenu, ID_MENU_PCB_SHOW_3D_FRAME,
|
||||
_( "3D Display" ),
|
||||
_( "Show board in 3D viewer" ) );
|
||||
SETBITMAPS( show_3d_xpm );
|
||||
SET_BITMAP( show_3d_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
// List Nets
|
||||
item = new wxMenuItem( viewMenu, ID_MENU_LIST_NETS,
|
||||
_( "&List Nets" ),
|
||||
_( "View a list of nets with names and id's" ) );
|
||||
SETBITMAPS( tools_xpm );
|
||||
SET_BITMAP( tools_xpm );
|
||||
viewMenu->Append( item );
|
||||
|
||||
|
||||
|
@ -386,7 +386,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( placeMenu, ID_PCB_MODULE_BUTT, text,
|
||||
_( "Add modules" ), wxITEM_NORMAL );
|
||||
|
||||
SETBITMAPS( module_xpm );
|
||||
SET_BITMAP( module_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Track
|
||||
|
@ -395,42 +395,42 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( placeMenu, ID_TRACK_BUTT, text,
|
||||
_( "Add tracks and vias" ), wxITEM_NORMAL );
|
||||
|
||||
SETBITMAPS( add_tracks_xpm );
|
||||
SET_BITMAP( add_tracks_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Zone
|
||||
item = new wxMenuItem( placeMenu, ID_PCB_ZONES_BUTT,
|
||||
_( "Zone" ),
|
||||
_( "Add filled zones" ));
|
||||
SETBITMAPS( add_zone_xpm );
|
||||
SET_BITMAP( add_zone_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Text
|
||||
item = new wxMenuItem( placeMenu, ID_PCB_ADD_TEXT_BUTT,
|
||||
_( "Text" ),
|
||||
_( "Add text on copper layers or graphic text" ) );
|
||||
SETBITMAPS( add_text_xpm );
|
||||
SET_BITMAP( add_text_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Graphic Arc
|
||||
item = new wxMenuItem( placeMenu, ID_PCB_ARC_BUTT,
|
||||
_( "Arc" ),
|
||||
_( "Add graphic arc" ) );
|
||||
SETBITMAPS( add_arc_xpm );
|
||||
SET_BITMAP( add_arc_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Graphic Circle
|
||||
item = new wxMenuItem( placeMenu, ID_PCB_CIRCLE_BUTT,
|
||||
_( "Circle" ),
|
||||
_( "Add graphic circle" ));
|
||||
SETBITMAPS( add_circle_xpm );
|
||||
SET_BITMAP( add_circle_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Line or Polygon
|
||||
item = new wxMenuItem( placeMenu, ID_PCB_ADD_LINE_BUTT,
|
||||
_( "Line or Polygon" ),
|
||||
_( "Add graphic line or polygon" ));
|
||||
SETBITMAPS( add_dashed_line_xpm );
|
||||
SET_BITMAP( add_dashed_line_xpm );
|
||||
placeMenu->Append( item );
|
||||
placeMenu->AppendSeparator();
|
||||
|
||||
|
@ -438,14 +438,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( placeMenu, ID_PCB_DIMENSION_BUTT,
|
||||
_( "Dimension" ),
|
||||
_( "Add dimension" ) );
|
||||
SETBITMAPS( add_dimension_xpm );
|
||||
SET_BITMAP( add_dimension_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Layer alignment target
|
||||
item = new wxMenuItem( placeMenu, ID_PCB_MIRE_BUTT,
|
||||
_( "Layer alignment target" ),
|
||||
_( "Add layer alignment target" ));
|
||||
SETBITMAPS( add_mires_xpm );
|
||||
SET_BITMAP( add_mires_xpm );
|
||||
placeMenu->Append( item );
|
||||
placeMenu->AppendSeparator();
|
||||
|
||||
|
@ -453,14 +453,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( placeMenu, ID_PCB_PLACE_OFFSET_COORD_BUTT,
|
||||
_( "Drill and Place Offset" ),
|
||||
_( "Place the origin point for drill and place files" ));
|
||||
SETBITMAPS( pcb_offset_xpm );
|
||||
SET_BITMAP( pcb_offset_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
// Grid Origin
|
||||
item = new wxMenuItem( placeMenu, ID_PCB_PLACE_GRID_COORD_BUTT,
|
||||
_( "Grid Origin" ),
|
||||
_( "Set the origin point for the grid" ));
|
||||
SETBITMAPS( grid_select_axis_xpm );
|
||||
SET_BITMAP( grid_select_axis_xpm );
|
||||
placeMenu->Append( item );
|
||||
|
||||
|
||||
|
@ -472,7 +472,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( configmenu, ID_CONFIG_REQ,
|
||||
_( "&Library" ),
|
||||
_( "Setting libraries, directories and others..." ) );
|
||||
SETBITMAPS( library_xpm );
|
||||
SET_BITMAP( library_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
// Colors and Visibility are also handled by the layers manager toolbar
|
||||
|
@ -480,7 +480,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
m_show_layer_manager_tools ?
|
||||
_( "Hide &Layers Manager" ) : _("Show &Layers Manager" ),
|
||||
HELP_SHOW_HIDE_LAYERMANAGER );
|
||||
SETBITMAPS( layers_manager_xpm );
|
||||
SET_BITMAP( layers_manager_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
// General
|
||||
|
@ -493,14 +493,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
#endif
|
||||
_( "Select general options for PCBnew" ) );
|
||||
|
||||
SETBITMAPS( preference_xpm );
|
||||
SET_BITMAP( preference_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
// Display
|
||||
item = new wxMenuItem( configmenu, ID_PCB_DISPLAY_OPTIONS_SETUP,
|
||||
_( "&Display" ),
|
||||
_( "Select how items (pads, tracks texts ... ) are displayed" ) );
|
||||
SETBITMAPS( display_options_xpm );
|
||||
SET_BITMAP( display_options_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
// Create Dimensions submenu
|
||||
|
@ -510,28 +510,28 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( dimensionsMenu, ID_PCB_USER_GRID_SETUP,
|
||||
_( "Grid" ),
|
||||
_( "Adjust user grid dimensions" ) );
|
||||
SETBITMAPS( grid_xpm );
|
||||
SET_BITMAP( grid_xpm );
|
||||
dimensionsMenu->Append( item );
|
||||
|
||||
// Text and Drawings
|
||||
item = new wxMenuItem( dimensionsMenu, ID_PCB_DRAWINGS_WIDTHS_SETUP,
|
||||
_( "Texts and Drawings" ),
|
||||
_( "Adjust dimensions for texts and drawings" ) );
|
||||
SETBITMAPS( options_text_xpm );
|
||||
SET_BITMAP( options_text_xpm );
|
||||
dimensionsMenu->Append( item );
|
||||
|
||||
// Pads
|
||||
item = new wxMenuItem( dimensionsMenu, ID_PCB_PAD_SETUP,
|
||||
_( "Pads" ),
|
||||
_( "Adjust default pad characteristics" ) );
|
||||
SETBITMAPS( pad_xpm );
|
||||
SET_BITMAP( pad_xpm );
|
||||
dimensionsMenu->Append( item );
|
||||
|
||||
// Pads Mask Clearance
|
||||
item = new wxMenuItem( dimensionsMenu, ID_PCB_MASK_CLEARANCE,
|
||||
_( "Pads Mask Clearance" ),
|
||||
_( "Adjust the global clearance between pads and the solder resist mask" ) );
|
||||
SETBITMAPS( pads_mask_layers_xpm );
|
||||
SET_BITMAP( pads_mask_layers_xpm );
|
||||
dimensionsMenu->Append( item );
|
||||
|
||||
|
||||
|
@ -540,7 +540,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( dimensionsMenu, ID_CONFIG_SAVE,
|
||||
_( "&Save" ),
|
||||
_( "Save dimension preferences" ) );
|
||||
SETBITMAPS( save_xpm );
|
||||
SET_BITMAP( save_xpm );
|
||||
dimensionsMenu->Append( item );
|
||||
|
||||
// Append dimension menu to config menu
|
||||
|
@ -560,14 +560,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( configmenu, ID_CONFIG_SAVE,
|
||||
_( "&Save Preferences" ),
|
||||
_( "Save application preferences" ) );
|
||||
SETBITMAPS( save_setup_xpm );
|
||||
SET_BITMAP( save_setup_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
// Read Preferences
|
||||
item = new wxMenuItem( configmenu, ID_CONFIG_READ,
|
||||
_( "&Read Preferences" ),
|
||||
_( "Read application preferences" ) );
|
||||
SETBITMAPS( read_setup_xpm );
|
||||
SET_BITMAP( read_setup_xpm );
|
||||
configmenu->Append( item );
|
||||
|
||||
|
||||
|
@ -580,14 +580,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( designRulesMenu, ID_MENU_PCB_SHOW_DESIGN_RULES_DIALOG,
|
||||
_( "Design Rules" ),
|
||||
_( "Open the design rules editor" ) );
|
||||
SETBITMAPS( hammer_xpm );
|
||||
SET_BITMAP( hammer_xpm );
|
||||
designRulesMenu->Append( item );
|
||||
|
||||
// Layers Setup
|
||||
item = new wxMenuItem( configmenu, ID_PCB_LAYERS_SETUP,
|
||||
_( "&Layers Setup" ),
|
||||
_( "Enable and set layer properties" ) );
|
||||
SETBITMAPS( copper_layers_setup_xpm );
|
||||
SET_BITMAP( copper_layers_setup_xpm );
|
||||
designRulesMenu->Append( item );
|
||||
|
||||
|
||||
|
@ -602,14 +602,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
item = new wxMenuItem( helpMenu, ID_GENERAL_HELP,
|
||||
_( "&Contents" ),
|
||||
_( "Open the on line PCBnew documentation" ) );
|
||||
SETBITMAPS( online_help_xpm );
|
||||
SET_BITMAP( online_help_xpm );
|
||||
helpMenu->Append( item );
|
||||
|
||||
// About
|
||||
item = new wxMenuItem( helpMenu, wxID_ABOUT,
|
||||
_( "&About" ),
|
||||
_( "About PCBnew printed circuit board designer" ));
|
||||
SETBITMAPS( info_xpm );
|
||||
SET_BITMAP( info_xpm );
|
||||
helpMenu->Append( item );
|
||||
|
||||
|
||||
|
|
|
@ -184,13 +184,13 @@ void PCB_BASE_FRAME::Import_Pad_Settings( D_PAD* aPad, bool aDraw )
|
|||
*/
|
||||
void PCB_BASE_FRAME::AddPad( MODULE* Module, bool draw )
|
||||
{
|
||||
D_PAD* Pad;
|
||||
int rX, rY;
|
||||
wxString lastPadName; // Last used pad name (pad num)
|
||||
lastPadName = g_Pad_Master.ReturnStringPadName();
|
||||
|
||||
m_Pcb->m_Status_Pcb = 0;
|
||||
Module->m_LastEdit_Time = time( NULL );
|
||||
|
||||
Pad = new D_PAD( Module );
|
||||
D_PAD* Pad = new D_PAD( Module );
|
||||
|
||||
/* Add the new pad to end of the module pad list. */
|
||||
Module->m_Pads.PushBack( Pad );
|
||||
|
@ -201,29 +201,27 @@ void PCB_BASE_FRAME::AddPad( MODULE* Module, bool draw )
|
|||
|
||||
Pad->m_Pos = GetScreen()->GetCrossHairPosition();
|
||||
|
||||
rX = Pad->m_Pos.x - Module->m_Pos.x;
|
||||
rY = Pad->m_Pos.y - Module->m_Pos.y;
|
||||
// Set the relative pad position
|
||||
// ( pad position for module orient, 0, and relative to the module position)
|
||||
Pad->m_Pos0 = Pad->m_Pos - Module->m_Pos;
|
||||
RotatePoint( &Pad->m_Pos0, -Module->m_Orient );
|
||||
|
||||
RotatePoint( &rX, &rY, -Module->m_Orient );
|
||||
|
||||
Pad->m_Pos0.x = rX;
|
||||
Pad->m_Pos0.y = rY;
|
||||
|
||||
/* Automatically increment the current pad number and name. */
|
||||
/* Automatically increment the current pad number. */
|
||||
long num = 0;
|
||||
int ponder = 1;
|
||||
|
||||
while( g_Current_PadName.Len() && g_Current_PadName.Last() >= '0'
|
||||
&& g_Current_PadName.Last() <= '9' )
|
||||
while( lastPadName.Len() && lastPadName.Last() >= '0'
|
||||
&& lastPadName.Last() <= '9' )
|
||||
{
|
||||
num += ( g_Current_PadName.Last() - '0' ) * ponder;
|
||||
g_Current_PadName.RemoveLast();
|
||||
num += ( lastPadName.Last() - '0' ) * ponder;
|
||||
lastPadName.RemoveLast();
|
||||
ponder *= 10;
|
||||
}
|
||||
|
||||
num++;
|
||||
g_Current_PadName << num;
|
||||
Pad->SetPadName( g_Current_PadName );
|
||||
num++; // Use next number for the new pad
|
||||
lastPadName << num;
|
||||
Pad->SetPadName( lastPadName );
|
||||
g_Pad_Master.SetPadName(lastPadName);
|
||||
|
||||
Module->Set_Rectangle_Encadrement();
|
||||
Pad->DisplayInfo( this );
|
||||
|
|
|
@ -32,8 +32,6 @@ static bool InitialiseDragParameters();
|
|||
static wxPoint PosInit, s_LastPos;
|
||||
static TRACK* NewTrack; /* New track or track being moved. */
|
||||
static int NbPtNewTrack;
|
||||
static int Old_HighLigth_NetCode;
|
||||
static bool Old_HighLigt_Status;
|
||||
static double s_StartSegmentSlope, s_EndSegmentSlope,
|
||||
s_MovingSegmentSlope,
|
||||
s_StartSegment_Yorg, s_EndSegment_Yorg,
|
||||
|
@ -54,6 +52,7 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
|
|||
{
|
||||
TRACK* NextS;
|
||||
int ii;
|
||||
BOARD * pcb = ( (PCB_EDIT_FRAME*) Panel->GetParent() )->GetBoard();
|
||||
|
||||
/* Erase the current drawings */
|
||||
wxPoint oldpos = Panel->GetScreen()->GetCrossHairPosition();
|
||||
|
@ -64,10 +63,8 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
|
|||
Panel->m_mouseCaptureCallback( Panel, DC, wxDefaultPosition, true );
|
||||
|
||||
Panel->GetScreen()->SetCrossHairPosition( oldpos );
|
||||
g_HighLight_Status = false;
|
||||
( (PCB_EDIT_FRAME*) Panel->GetParent() )->GetBoard()->DrawHighLight( Panel,
|
||||
DC,
|
||||
g_HighLight_NetCode );
|
||||
pcb->HightLightOFF();
|
||||
pcb->DrawHighLight( Panel, DC, pcb->GetHightLightNetCode() );
|
||||
|
||||
if( NewTrack )
|
||||
{
|
||||
|
@ -122,11 +119,10 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
|
|||
// Clear the undo picker list:
|
||||
s_ItemsListPicker.ClearListAndDeleteItems();
|
||||
|
||||
g_HighLight_NetCode = Old_HighLigth_NetCode;
|
||||
g_HighLight_Status = Old_HighLigt_Status;
|
||||
if( g_HighLight_Status )
|
||||
( (PCB_EDIT_FRAME*) Panel->GetParent() )->GetBoard()->DrawHighLight(
|
||||
Panel, DC, g_HighLight_NetCode );
|
||||
pcb->PopHightLight();
|
||||
|
||||
if( pcb->IsHightLightNetON() )
|
||||
pcb->DrawHighLight( Panel, DC, pcb->GetHightLightNetCode() );
|
||||
|
||||
EraseDragList();
|
||||
Panel->SetMouseCapture( NULL, NULL );
|
||||
|
@ -665,9 +661,9 @@ void PCB_EDIT_FRAME::Start_MoveOneNodeOrSegment( TRACK* track, wxDC* DC, int com
|
|||
EraseDragList();
|
||||
|
||||
/* Change highlighted net: the new one will be highlighted */
|
||||
Old_HighLigt_Status = g_HighLight_Status;
|
||||
Old_HighLigth_NetCode = g_HighLight_NetCode;
|
||||
if( g_HighLight_Status )
|
||||
GetBoard()->PushHightLight();
|
||||
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( DC );
|
||||
PosInit = GetScreen()->GetCrossHairPosition();
|
||||
|
||||
|
@ -738,10 +734,10 @@ void PCB_EDIT_FRAME::Start_MoveOneNodeOrSegment( TRACK* track, wxDC* DC, int com
|
|||
s_LastPos = PosInit;
|
||||
DrawPanel->SetMouseCapture( Show_MoveNode, Abort_MoveTrack );
|
||||
|
||||
g_HighLight_NetCode = track->GetNet();
|
||||
g_HighLight_Status = true;
|
||||
GetBoard()->SetHightLightNet( track->GetNet() );
|
||||
GetBoard()->HightLightON();
|
||||
|
||||
GetBoard()->DrawHighLight( DrawPanel, DC, g_HighLight_NetCode );
|
||||
GetBoard()->DrawHighLight( DrawPanel, DC, GetBoard()->GetHightLightNetCode() );
|
||||
DrawPanel->m_mouseCaptureCallback( DrawPanel, DC, wxDefaultPosition, true );
|
||||
}
|
||||
|
||||
|
@ -902,9 +898,8 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC
|
|||
s_EndSegmentPresent = false;
|
||||
|
||||
/* Change high light net: the new one will be highlighted */
|
||||
Old_HighLigt_Status = g_HighLight_Status;
|
||||
Old_HighLigth_NetCode = g_HighLight_NetCode;
|
||||
if( g_HighLight_Status )
|
||||
GetBoard()->PushHightLight();
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( DC );
|
||||
|
||||
EraseDragList();
|
||||
|
@ -938,9 +933,9 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC
|
|||
s_LastPos = GetScreen()->GetCrossHairPosition();
|
||||
DrawPanel->SetMouseCapture( Show_Drag_Track_Segment_With_Cte_Slope, Abort_MoveTrack );
|
||||
|
||||
g_HighLight_NetCode = track->GetNet();
|
||||
g_HighLight_Status = true;
|
||||
GetBoard()->DrawHighLight( DrawPanel, DC, g_HighLight_NetCode );
|
||||
GetBoard()->SetHightLightNet( track->GetNet() );
|
||||
GetBoard()->HightLightON();
|
||||
GetBoard()->DrawHighLight( DrawPanel, DC, GetBoard()->GetHightLightNetCode() );
|
||||
|
||||
// Prepare the Undo command
|
||||
ITEM_PICKER picker( NULL, UR_CHANGED );
|
||||
|
|
|
@ -61,7 +61,6 @@ int g_MagneticTrackOption = capture_cursor_in_track_tool;
|
|||
int g_HighLight_NetCode = -1;
|
||||
|
||||
wxPoint g_Offset_Module; /* Offset de trace du modul en depl */
|
||||
wxString g_Current_PadName; // Last used pad name (pad num)
|
||||
|
||||
// Wildcard for footprint libraries filesnames
|
||||
const wxString g_FootprintLibFileWildcard( wxT( "Kicad footprint library file (*.mod)|*.mod" ) );
|
||||
|
|
|
@ -69,14 +69,8 @@ extern bool g_TwoSegmentTrackBuild;
|
|||
extern int g_MagneticPadOption;
|
||||
extern int g_MagneticTrackOption;
|
||||
|
||||
/* Variables to handle highlight nets */
|
||||
extern bool g_HighLight_Status;
|
||||
extern int g_HighLight_NetCode;
|
||||
|
||||
extern wxPoint g_Offset_Module; /* Offset de trace du modul en depl */
|
||||
|
||||
extern wxString g_Current_PadName; // Last used pad name (pad num)
|
||||
|
||||
|
||||
enum MagneticPadOptionValues {
|
||||
no_effect,
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
/*******************/
|
||||
|
||||
#include "fctsys.h"
|
||||
#include "gr_basic.h"
|
||||
#include "class_drawpanel.h"
|
||||
#include "confirm.h"
|
||||
#include "kicad_string.h"
|
||||
|
||||
#include "pcbnew.h"
|
||||
|
@ -80,10 +78,10 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event )
|
|||
{
|
||||
INSTALL_UNBUFFERED_DC( dc, DrawPanel );
|
||||
|
||||
if( g_HighLight_Status )
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( &dc );
|
||||
|
||||
g_HighLight_NetCode = netcode;
|
||||
GetBoard()->SetHightLightNet( netcode );
|
||||
High_Light( &dc );
|
||||
}
|
||||
}
|
||||
|
@ -94,7 +92,8 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event )
|
|||
*/
|
||||
int PCB_EDIT_FRAME::Select_High_Light( wxDC* DC )
|
||||
{
|
||||
if( g_HighLight_Status )
|
||||
int netcode = -1;
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
High_Light( DC );
|
||||
|
||||
// use this scheme because a pad is a higher priority than a track in the
|
||||
|
@ -115,33 +114,35 @@ int PCB_EDIT_FRAME::Select_High_Light( wxDC* DC )
|
|||
switch( item->Type() )
|
||||
{
|
||||
case TYPE_PAD:
|
||||
g_HighLight_NetCode = ( (D_PAD*) item )->GetNet();
|
||||
High_Light( DC );
|
||||
netcode = ( (D_PAD*) item )->GetNet();
|
||||
SendMessageToEESCHEMA( item );
|
||||
return g_HighLight_NetCode;
|
||||
break;
|
||||
|
||||
case TYPE_TRACK:
|
||||
case TYPE_VIA:
|
||||
case TYPE_ZONE:
|
||||
|
||||
// since these classes are all derived from TRACK, use a common
|
||||
// GetNet() function:
|
||||
g_HighLight_NetCode = ( (TRACK*) item )->GetNet();
|
||||
High_Light( DC );
|
||||
return g_HighLight_NetCode;
|
||||
netcode = ( (TRACK*) item )->GetNet();
|
||||
break;
|
||||
|
||||
case TYPE_ZONE_CONTAINER:
|
||||
g_HighLight_NetCode = ( (ZONE_CONTAINER*) item )->GetNet();
|
||||
High_Light( DC );
|
||||
return g_HighLight_NetCode;
|
||||
netcode = ( (ZONE_CONTAINER*) item )->GetNet();
|
||||
break;
|
||||
|
||||
default:
|
||||
; // until somebody changes GENERAL_COLLECTOR::PadsOrTracks,
|
||||
// this should not happen.
|
||||
}
|
||||
}
|
||||
if( netcode >= 0 )
|
||||
{
|
||||
GetBoard()->SetHightLightNet( netcode );
|
||||
High_Light( DC );
|
||||
}
|
||||
|
||||
return -1; // HitTest() failed.
|
||||
|
||||
return netcode; // HitTest() failed.
|
||||
}
|
||||
|
||||
|
||||
|
@ -152,7 +153,10 @@ int PCB_EDIT_FRAME::Select_High_Light( wxDC* DC )
|
|||
*/
|
||||
void PCB_EDIT_FRAME::High_Light( wxDC* DC )
|
||||
{
|
||||
g_HighLight_Status = !g_HighLight_Status;
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
GetBoard()->HightLightOFF();
|
||||
else
|
||||
GetBoard()->HightLightON();
|
||||
|
||||
GetBoard()->DrawHighLight( DrawPanel, DC, g_HighLight_NetCode );
|
||||
GetBoard()->DrawHighLight( DrawPanel, DC, GetBoard()->GetHightLightNetCode() );
|
||||
}
|
||||
|
|
|
@ -198,8 +198,8 @@ void BOARD::Draw( EDA_DRAW_PANEL* aPanel, wxDC* DC,
|
|||
}
|
||||
|
||||
// @todo: this high-light functionality could be built into me.
|
||||
if( g_HighLight_Status )
|
||||
DrawHighLight( aPanel, DC, g_HighLight_NetCode );
|
||||
if( IsHightLightNetON() )
|
||||
DrawHighLight( aPanel, DC, GetHightLightNetCode() );
|
||||
|
||||
// draw the BOARD's markers last, otherwise the high light will erase
|
||||
// any marker on a pad
|
||||
|
@ -214,22 +214,11 @@ void BOARD::DrawHighLight( EDA_DRAW_PANEL* aDrawPanel, wxDC* DC, int aNetCode )
|
|||
{
|
||||
int draw_mode;
|
||||
|
||||
if( g_HighLight_Status )
|
||||
if( IsHightLightNetON() )
|
||||
draw_mode = GR_SURBRILL | GR_OR;
|
||||
else
|
||||
draw_mode = GR_AND | GR_SURBRILL;
|
||||
|
||||
#if 0 // does not unhighlight properly
|
||||
// redraw the zones with the aNetCode
|
||||
for( SEGZONE* zone = m_Zone; zone; zone = zone->Next() )
|
||||
{
|
||||
if( zone->GetNet() == aNetCode )
|
||||
{
|
||||
zone->Draw( aDrawPanel, DC, draw_mode );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Redraw ZONE_CONTAINERS
|
||||
BOARD::ZONE_CONTAINERS& zones = m_ZoneDescriptorList;
|
||||
for( BOARD::ZONE_CONTAINERS::iterator zc = zones.begin(); zc!=zones.end(); ++zc )
|
||||
|
@ -241,7 +230,7 @@ void BOARD::DrawHighLight( EDA_DRAW_PANEL* aDrawPanel, wxDC* DC, int aNetCode )
|
|||
}
|
||||
|
||||
// Redraw any pads that have aNetCode
|
||||
for( MODULE* module = m_Modules; module; module = module->Next() )
|
||||
for( MODULE* module = m_Modules; module; module = module->Next() )
|
||||
{
|
||||
for( D_PAD* pad = module->m_Pads; pad; pad = pad->Next() )
|
||||
{
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Name: zones_by_polygon.cpp
|
||||
// Licence: GPL License
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -172,12 +171,13 @@ void PCB_EDIT_FRAME::Start_Move_Zone_Corner( wxDC* DC, ZONE_CONTAINER* zone_cont
|
|||
{
|
||||
if( zone_container->IsOnCopperLayer() ) /* Show the Net */
|
||||
{
|
||||
if( g_HighLight_Status && DC )
|
||||
if( GetBoard()->IsHightLightNetON() && DC )
|
||||
{
|
||||
High_Light( DC ); // Remove old hightlight selection
|
||||
}
|
||||
|
||||
g_HighLight_NetCode = g_Zone_Default_Setting.m_NetcodeSelection = zone_container->GetNet();
|
||||
g_Zone_Default_Setting.m_NetcodeSelection = zone_container->GetNet();
|
||||
GetBoard()->SetHightLightNet( zone_container->GetNet() );
|
||||
if( DC )
|
||||
High_Light( DC );
|
||||
}
|
||||
|
@ -246,12 +246,13 @@ void PCB_EDIT_FRAME::Start_Move_Zone_Outlines( wxDC* DC, ZONE_CONTAINER* zone_co
|
|||
/* Show the Net */
|
||||
if( zone_container->IsOnCopperLayer() ) /* Show the Net */
|
||||
{
|
||||
if( g_HighLight_Status )
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
{
|
||||
High_Light( DC ); // Remove old hightlight selection
|
||||
}
|
||||
|
||||
g_HighLight_NetCode = g_Zone_Default_Setting.m_NetcodeSelection = zone_container->GetNet();
|
||||
g_Zone_Default_Setting.m_NetcodeSelection = zone_container->GetNet();
|
||||
GetBoard()->SetHightLightNet( zone_container->GetNet() );
|
||||
High_Light( DC );
|
||||
}
|
||||
|
||||
|
@ -507,9 +508,10 @@ int PCB_EDIT_FRAME::Begin_Zone( wxDC* DC )
|
|||
DrawPanel->m_IgnoreMouseEvents = TRUE;
|
||||
if( zone->IsOnCopperLayer() )
|
||||
{ // Put a zone on a copper layer
|
||||
if ( g_HighLight_NetCode )
|
||||
if ( GetBoard()->GetHightLightNetCode() > 0 )
|
||||
{
|
||||
g_Zone_Default_Setting.m_NetcodeSelection = g_HighLight_NetCode;
|
||||
g_Zone_Default_Setting.m_NetcodeSelection = GetBoard()->GetHightLightNetCode();
|
||||
|
||||
zone->SetNet( g_Zone_Default_Setting.m_NetcodeSelection );
|
||||
zone->SetNetNameFromNetCode( );
|
||||
}
|
||||
|
@ -550,12 +552,12 @@ int PCB_EDIT_FRAME::Begin_Zone( wxDC* DC )
|
|||
{
|
||||
if( s_CurrentZone )
|
||||
g_Zone_Default_Setting.m_NetcodeSelection = s_CurrentZone->GetNet();
|
||||
if( g_HighLight_Status )
|
||||
if( GetBoard()->IsHightLightNetON() )
|
||||
{
|
||||
High_Light( DC ); // Remove old hightlight selection
|
||||
}
|
||||
|
||||
g_HighLight_NetCode = g_Zone_Default_Setting.m_NetcodeSelection;
|
||||
GetBoard()->SetHightLightNet( g_Zone_Default_Setting.m_NetcodeSelection );
|
||||
High_Light( DC );
|
||||
}
|
||||
if( !s_AddCutoutToCurrentZone )
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
release version:
|
||||
2011 apr 01
|
||||
2011 apr 05
|
||||
files (.zip,.tgz):
|
||||
kicad-2011-04-01
|
||||
kicad-2011-04-05
|
||||
|
|
Loading…
Reference in New Issue