Commit 3b55948d authored by jean-pierre charras's avatar jean-pierre charras

fix an issue created by commit 2954. Gerbview: display now an indicator of...

fix an issue created by commit 2954. Gerbview: display now an indicator of layers in use. minor code cleanup.
parent df8f7d1e
...@@ -10,13 +10,35 @@ More native OSX changes, this removes some WXMAC defines replaced by wxID ...@@ -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 macros. These are handled by wxWidgets itself and reduces in-app platform
defines. More work needs to be done for CvPCB and Gerbview. 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. Hotkey names in menu's all have tabs, this looks more uniform and pretty.
EESschema & PCBNew: EESschema & PCBNew:
Fix about and preferences wxMenu to be more native (remove unneeded WXMAC ) Fix about and preferences wxMenu to be more native (remove unneeded WXMAC )
Disable all icons in wxMenu on OSX with macro SETBITMAPS 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> 2011-Mar-16, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================ ================================================================================
Gerbview: Gerbview:
......
...@@ -416,6 +416,7 @@ set(BITMAP_SRCS ...@@ -416,6 +416,7 @@ set(BITMAP_SRCS
Width_Track_Via.xpm Width_Track_Via.xpm
Width_Track.xpm Width_Track.xpm
Width_Vias.xpm Width_Vias.xpm
window_close.xpm
zip_tool.xpm zip_tool.xpm
zip.xpm zip.xpm
zoom.xpm zoom.xpm
......
<?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>
/* 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 @@ ...@@ -6,7 +6,7 @@
#endif #endif
#ifndef KICAD_BUILD_VERSION #ifndef KICAD_BUILD_VERSION
#define KICAD_BUILD_VERSION "(2011-04-01)" #define KICAD_BUILD_VERSION "(2011-04-05)"
#endif #endif
// uncomment this line only when creating a stable version // uncomment this line only when creating a stable version
......
...@@ -74,6 +74,7 @@ void CVPCB_MAINFRAME::ReCreateMenuBar() ...@@ -74,6 +74,7 @@ void CVPCB_MAINFRAME::ReCreateMenuBar()
_( "Prevent CVPcb from exiting after saving netlist file" ), _( "Prevent CVPcb from exiting after saving netlist file" ),
wxITEM_CHECK ); wxITEM_CHECK );
configmenu->Append( item ); configmenu->Append( item );
SETBITMAPS( window_close_xpm );
configmenu->AppendSeparator(); configmenu->AppendSeparator();
ADD_MENUITEM_WITH_HELP( configmenu, ID_CONFIG_SAVE, ADD_MENUITEM_WITH_HELP( configmenu, ID_CONFIG_SAVE,
......
...@@ -47,13 +47,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -47,13 +47,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_NEW_PROJECT, _( "&New\tCtrl+N" ), item = new wxMenuItem( filesMenu, ID_NEW_PROJECT, _( "&New\tCtrl+N" ),
_( "New schematic project" ) ); _( "New schematic project" ) );
SETBITMAPS( new_xpm ); SET_BITMAP( new_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Open // Open
item = new wxMenuItem( filesMenu, ID_LOAD_PROJECT, _( "&Open\tCtrl+O" ), item = new wxMenuItem( filesMenu, ID_LOAD_PROJECT, _( "&Open\tCtrl+O" ),
_( "Open an existing schematic project" ) ); _( "Open an existing schematic project" ) );
SETBITMAPS( open_document_xpm ); SET_BITMAP( open_document_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Open Recent submenu // Open Recent submenu
...@@ -70,26 +70,26 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -70,26 +70,26 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_SAVE_PROJECT, item = new wxMenuItem( filesMenu, ID_SAVE_PROJECT,
_( "&Save Whole Schematic Project\tCtrl+S" ), _( "&Save Whole Schematic Project\tCtrl+S" ),
_( "Save all sheets in the schematic project" ) ); _( "Save all sheets in the schematic project" ) );
SETBITMAPS( save_project_xpm ); SET_BITMAP( save_project_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
item = new wxMenuItem( filesMenu, ID_SAVE_ONE_SHEET, _( "Save &Current Sheet Only" ), item = new wxMenuItem( filesMenu, ID_SAVE_ONE_SHEET, _( "Save &Current Sheet Only" ),
_( "Save only current schematic sheet" ) ); _( "Save only current schematic sheet" ) );
SETBITMAPS( save_xpm ); SET_BITMAP( save_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Save as... // Save as...
item = new wxMenuItem( filesMenu, ID_SAVE_ONE_SHEET_AS, item = new wxMenuItem( filesMenu, ID_SAVE_ONE_SHEET_AS,
_( "Save Current Sheet &as" ), _( "Save Current Sheet &as" ),
_( "Save current schematic sheet as..." ) ); _( "Save current schematic sheet as..." ) );
SETBITMAPS( save_as_xpm ); SET_BITMAP( save_as_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Print // Print
filesMenu->AppendSeparator(); filesMenu->AppendSeparator();
item = new wxMenuItem( filesMenu, wxID_PRINT, _( "P&rint" ), _( "Print schematic" ) ); item = new wxMenuItem( filesMenu, wxID_PRINT, _( "P&rint" ), _( "Print schematic" ) );
SETBITMAPS( print_button ); SET_BITMAP( print_button );
filesMenu->Append( item ); filesMenu->Append( item );
// Plot submenu // Plot submenu
...@@ -97,25 +97,25 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -97,25 +97,25 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_PS, item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_PS,
_( "Plot PostScript" ), _( "Plot PostScript" ),
_( "Plot schematic sheet in PostScript format" ) ); _( "Plot schematic sheet in PostScript format" ) );
SETBITMAPS( plot_PS_xpm ); SET_BITMAP( plot_PS_xpm );
choice_plot_fmt->Append( item ); choice_plot_fmt->Append( item );
/* Plot HPGL */ /* Plot HPGL */
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_HPGL, _( "Plot HPGL" ), item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_HPGL, _( "Plot HPGL" ),
_( "Plot schematic sheet in HPGL format" ) ); _( "Plot schematic sheet in HPGL format" ) );
SETBITMAPS( plot_HPG_xpm ); SET_BITMAP( plot_HPG_xpm );
choice_plot_fmt->Append( item ); choice_plot_fmt->Append( item );
// Plot SVG // Plot SVG
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_SVG, _( "Plot SVG" ), item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_SVG, _( "Plot SVG" ),
_( "Plot schematic sheet in SVG format" ) ); _( "Plot schematic sheet in SVG format" ) );
SETBITMAPS( plot_xpm ); SET_BITMAP( plot_xpm );
choice_plot_fmt->Append( item ); choice_plot_fmt->Append( item );
// Plot DXF // Plot DXF
item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_DXF, _( "Plot DXF" ), item = new wxMenuItem( choice_plot_fmt, ID_GEN_PLOT_DXF, _( "Plot DXF" ),
_( "Plot schematic sheet in DXF format" ) ); _( "Plot schematic sheet in DXF format" ) );
SETBITMAPS( plot_xpm ); SET_BITMAP( plot_xpm );
choice_plot_fmt->Append( item ); choice_plot_fmt->Append( item );
// Under windows, one can draw to the clipboard // Under windows, one can draw to the clipboard
...@@ -124,7 +124,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -124,7 +124,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( choice_plot_fmt, ID_GEN_COPY_SHEET_TO_CLIPBOARD, item = new wxMenuItem( choice_plot_fmt, ID_GEN_COPY_SHEET_TO_CLIPBOARD,
_( "Plot to Clipboard" ), _( "Plot to Clipboard" ),
_( "Export drawings to clipboard" ) ); _( "Export drawings to clipboard" ) );
SETBITMAPS( copy_button ); SET_BITMAP( copy_button );
choice_plot_fmt->Append( item ); choice_plot_fmt->Append( item );
#endif #endif
...@@ -137,7 +137,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -137,7 +137,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
filesMenu->AppendSeparator(); filesMenu->AppendSeparator();
item = new wxMenuItem( filesMenu, wxID_EXIT, _( "&Quit" ), _( "Quit EESchema" ) ); item = new wxMenuItem( filesMenu, wxID_EXIT, _( "&Quit" ), _( "Quit EESchema" ) );
SETBITMAPS( exit_xpm ); SET_BITMAP( exit_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Edit menu // Edit menu
...@@ -147,21 +147,21 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -147,21 +147,21 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
text = AddHotkeyName( _( "Undo" ), s_Schematic_Hokeys_Descr, HK_UNDO ); text = AddHotkeyName( _( "Undo" ), s_Schematic_Hokeys_Descr, HK_UNDO );
item = new wxMenuItem( editMenu, wxID_UNDO, text, HELP_UNDO, wxITEM_NORMAL ); item = new wxMenuItem( editMenu, wxID_UNDO, text, HELP_UNDO, wxITEM_NORMAL );
SETBITMAPS( undo_xpm ); SET_BITMAP( undo_xpm );
editMenu->Append( item ); editMenu->Append( item );
/* Redo */ /* Redo */
text = AddHotkeyName( _( "Redo" ), s_Schematic_Hokeys_Descr, HK_REDO ); text = AddHotkeyName( _( "Redo" ), s_Schematic_Hokeys_Descr, HK_REDO );
item = new wxMenuItem( editMenu, wxID_REDO, text, HELP_REDO, wxITEM_NORMAL ); item = new wxMenuItem( editMenu, wxID_REDO, text, HELP_REDO, wxITEM_NORMAL );
SETBITMAPS( redo_xpm ); SET_BITMAP( redo_xpm );
editMenu->Append( item ); editMenu->Append( item );
/* Delete */ /* Delete */
editMenu->AppendSeparator(); editMenu->AppendSeparator();
item = new wxMenuItem( editMenu, ID_SCHEMATIC_DELETE_ITEM_BUTT, item = new wxMenuItem( editMenu, ID_SCHEMATIC_DELETE_ITEM_BUTT,
_( "Delete" ), HELP_DELETE_ITEMS, wxITEM_NORMAL ); _( "Delete" ), HELP_DELETE_ITEMS, wxITEM_NORMAL );
SETBITMAPS( delete_body_xpm ); SET_BITMAP( delete_body_xpm );
editMenu->Append( item ); editMenu->Append( item );
/* Separator */ /* Separator */
...@@ -170,7 +170,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -170,7 +170,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
/* Find */ /* Find */
text = AddHotkeyName( _( "&Find" ), s_Schematic_Hokeys_Descr, HK_FIND_ITEM ); text = AddHotkeyName( _( "&Find" ), s_Schematic_Hokeys_Descr, HK_FIND_ITEM );
item = new wxMenuItem( editMenu, ID_FIND_ITEMS, text, HELP_FIND, wxITEM_NORMAL ); item = new wxMenuItem( editMenu, ID_FIND_ITEMS, text, HELP_FIND, wxITEM_NORMAL );
SETBITMAPS( find_xpm ); SET_BITMAP( find_xpm );
editMenu->Append( item ); editMenu->Append( item );
/* Separator */ /* Separator */
...@@ -180,7 +180,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -180,7 +180,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( editMenu, ID_BACKANNO_ITEMS, _( "Backannotate" ), item = new wxMenuItem( editMenu, ID_BACKANNO_ITEMS, _( "Backannotate" ),
_( "Back annotated footprint fields" ), _( "Back annotated footprint fields" ),
wxITEM_NORMAL ); wxITEM_NORMAL );
SETBITMAPS( backanno_xpm ); SET_BITMAP( backanno_xpm );
editMenu->Append( item ); editMenu->Append( item );
...@@ -204,20 +204,20 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -204,20 +204,20 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
text = AddHotkeyName( _( "Zoom In" ), s_Schematic_Hokeys_Descr, text = AddHotkeyName( _( "Zoom In" ), s_Schematic_Hokeys_Descr,
ID_ZOOM_IN, false ); // add comment, not a shortcut ID_ZOOM_IN, false ); // add comment, not a shortcut
item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, HELP_ZOOM_IN, wxITEM_NORMAL ); 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 ); viewMenu->Append( item );
/* Zoom out */ /* Zoom out */
text = AddHotkeyName( _( "Zoom Out" ), s_Schematic_Hokeys_Descr, text = AddHotkeyName( _( "Zoom Out" ), s_Schematic_Hokeys_Descr,
ID_ZOOM_OUT, false ); // add comment, not a shortcut ID_ZOOM_OUT, false ); // add comment, not a shortcut
item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, HELP_ZOOM_OUT, wxITEM_NORMAL ); 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 ); viewMenu->Append( item );
/* Fit on screen */ /* Fit on screen */
text = AddHotkeyName( _( "Fit on Screen" ), s_Schematic_Hokeys_Descr, HK_ZOOM_AUTO ); 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 ); 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->Append( item );
viewMenu->AppendSeparator(); viewMenu->AppendSeparator();
...@@ -225,7 +225,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -225,7 +225,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
/* Redraw view */ /* Redraw view */
text = AddHotkeyName( _( "Redraw" ), s_Schematic_Hokeys_Descr, HK_ZOOM_REDRAW ); text = AddHotkeyName( _( "Redraw" ), s_Schematic_Hokeys_Descr, HK_ZOOM_REDRAW );
item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text, HELP_ZOOM_REDRAW, wxITEM_NORMAL ); 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->Append( item );
...@@ -240,7 +240,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -240,7 +240,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_NEW_COMPONENT, false ); // add comment, not a shortcut HK_ADD_NEW_COMPONENT, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_SCH_PLACE_COMPONENT, text, item = new wxMenuItem( placeMenu, ID_SCH_PLACE_COMPONENT, text,
HELP_PLACE_COMPONENTS, wxITEM_NORMAL ); HELP_PLACE_COMPONENTS, wxITEM_NORMAL );
SETBITMAPS( add_component_xpm ); SET_BITMAP( add_component_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Power port */ /* Power port */
...@@ -248,7 +248,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -248,7 +248,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_NEW_POWER, false ); // add comment, not a shortcut HK_ADD_NEW_POWER, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_PLACE_POWER_BUTT, text, item = new wxMenuItem( placeMenu, ID_PLACE_POWER_BUTT, text,
HELP_PLACE_POWERPORT, wxITEM_NORMAL ); HELP_PLACE_POWERPORT, wxITEM_NORMAL );
SETBITMAPS( add_power_xpm ); SET_BITMAP( add_power_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Wire */ /* Wire */
...@@ -256,7 +256,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -256,7 +256,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_BEGIN_WIRE, false ); // add comment, not a shortcut HK_BEGIN_WIRE, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_WIRE_BUTT, text, item = new wxMenuItem( placeMenu, ID_WIRE_BUTT, text,
HELP_PLACE_WIRE, wxITEM_NORMAL ); HELP_PLACE_WIRE, wxITEM_NORMAL );
SETBITMAPS( add_line_xpm ); SET_BITMAP( add_line_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Bus */ /* Bus */
...@@ -264,7 +264,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -264,7 +264,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_BEGIN_BUS, false ); // add comment, not a shortcut HK_BEGIN_BUS, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_BUS_BUTT, text, item = new wxMenuItem( placeMenu, ID_BUS_BUTT, text,
HELP_PLACE_BUS, wxITEM_NORMAL ); HELP_PLACE_BUS, wxITEM_NORMAL );
SETBITMAPS( add_bus_xpm ); SET_BITMAP( add_bus_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Wire to Bus entry */ /* Wire to Bus entry */
...@@ -272,7 +272,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -272,7 +272,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_WIRE_ENTRY, false ); // add comment, not a shortcut HK_ADD_WIRE_ENTRY, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_WIRETOBUS_ENTRY_BUTT, text, item = new wxMenuItem( placeMenu, ID_WIRETOBUS_ENTRY_BUTT, text,
HELP_PLACE_WIRE2BUS_ENTRY, wxITEM_NORMAL ); HELP_PLACE_WIRE2BUS_ENTRY, wxITEM_NORMAL );
SETBITMAPS( add_line2bus_xpm ); SET_BITMAP( add_line2bus_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Bus to Bus entry */ /* Bus to Bus entry */
...@@ -280,14 +280,14 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -280,14 +280,14 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_BUS_ENTRY, false ); // add comment, not a shortcut HK_ADD_BUS_ENTRY, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_BUSTOBUS_ENTRY_BUTT, text, item = new wxMenuItem( placeMenu, ID_BUSTOBUS_ENTRY_BUTT, text,
HELP_PLACE_BUS2BUS_ENTRY, wxITEM_NORMAL ); HELP_PLACE_BUS2BUS_ENTRY, wxITEM_NORMAL );
SETBITMAPS( add_bus2bus_xpm ); SET_BITMAP( add_bus2bus_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* No connect flag */ /* No connect flag */
text = AddHotkeyName( _( "No connect flag" ), s_Schematic_Hokeys_Descr, text = AddHotkeyName( _( "No connect flag" ), s_Schematic_Hokeys_Descr,
HK_ADD_NOCONN_FLAG, false ); // add comment, not a shortcut HK_ADD_NOCONN_FLAG, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_NOCONN_BUTT, text, HELP_PLACE_NC_FLAG, wxITEM_NORMAL ); item = new wxMenuItem( placeMenu, ID_NOCONN_BUTT, text, HELP_PLACE_NC_FLAG, wxITEM_NORMAL );
SETBITMAPS( noconn_button ); SET_BITMAP( noconn_button );
placeMenu->Append( item ); placeMenu->Append( item );
/* Net name */ /* Net name */
...@@ -295,7 +295,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -295,7 +295,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_LABEL, false ); // add comment, not a shortcut HK_ADD_LABEL, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_LABEL_BUTT, text, item = new wxMenuItem( placeMenu, ID_LABEL_BUTT, text,
HELP_PLACE_NETLABEL, wxITEM_NORMAL ); HELP_PLACE_NETLABEL, wxITEM_NORMAL );
SETBITMAPS( add_line_label_xpm ); SET_BITMAP( add_line_label_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Global label */ /* Global label */
...@@ -303,7 +303,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -303,7 +303,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_GLABEL, false ); // add comment, not a shortcut HK_ADD_GLABEL, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_GLABEL_BUTT, text, item = new wxMenuItem( placeMenu, ID_GLABEL_BUTT, text,
HELP_PLACE_GLOBALLABEL, wxITEM_NORMAL ); HELP_PLACE_GLOBALLABEL, wxITEM_NORMAL );
SETBITMAPS( add_glabel_xpm ); SET_BITMAP( add_glabel_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Junction */ /* Junction */
...@@ -311,7 +311,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -311,7 +311,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_JUNCTION, false ); // add comment, not a shortcut HK_ADD_JUNCTION, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_JUNCTION_BUTT, text, item = new wxMenuItem( placeMenu, ID_JUNCTION_BUTT, text,
HELP_PLACE_JUNCTION, wxITEM_NORMAL ); HELP_PLACE_JUNCTION, wxITEM_NORMAL );
SETBITMAPS( add_junction_xpm ); SET_BITMAP( add_junction_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Separator */ /* Separator */
...@@ -322,7 +322,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -322,7 +322,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_HLABEL, false ); // add comment, not a shortcut HK_ADD_HLABEL, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_HIERLABEL_BUTT, text, item = new wxMenuItem( placeMenu, ID_HIERLABEL_BUTT, text,
HELP_PLACE_HIER_LABEL, wxITEM_NORMAL ); HELP_PLACE_HIER_LABEL, wxITEM_NORMAL );
SETBITMAPS( add_hierarchical_label_xpm ); SET_BITMAP( add_hierarchical_label_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Hierarchical sheet */ /* Hierarchical sheet */
...@@ -330,19 +330,19 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -330,19 +330,19 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_HIER_SHEET, false ); // add comment, not a shortcut HK_ADD_HIER_SHEET, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_SHEET_SYMBOL_BUTT, text, item = new wxMenuItem( placeMenu, ID_SHEET_SYMBOL_BUTT, text,
HELP_PLACE_SHEET, wxITEM_NORMAL ); HELP_PLACE_SHEET, wxITEM_NORMAL );
SETBITMAPS( add_hierarchical_subsheet_xpm ); SET_BITMAP( add_hierarchical_subsheet_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Import hierarchical sheet */ /* Import hierarchical sheet */
item = new wxMenuItem( placeMenu, ID_IMPORT_HLABEL_BUTT, _( "Import Hierarchical Label" ), item = new wxMenuItem( placeMenu, ID_IMPORT_HLABEL_BUTT, _( "Import Hierarchical Label" ),
HELP_IMPORT_SHEETPIN, wxITEM_NORMAL ); HELP_IMPORT_SHEETPIN, wxITEM_NORMAL );
SETBITMAPS( import_hierarchical_label_xpm ); SET_BITMAP( import_hierarchical_label_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Add hierarchical Pin to Sheet */ /* Add hierarchical Pin to Sheet */
item = new wxMenuItem( placeMenu, ID_SHEET_PIN_BUTT, _( "Add Hierarchical Pin to Sheet" ), item = new wxMenuItem( placeMenu, ID_SHEET_PIN_BUTT, _( "Add Hierarchical Pin to Sheet" ),
HELP_PLACE_SHEETPIN, wxITEM_NORMAL ); HELP_PLACE_SHEETPIN, wxITEM_NORMAL );
SETBITMAPS( add_hierar_pin_xpm ); SET_BITMAP( add_hierar_pin_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Separator */ /* Separator */
...@@ -353,7 +353,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -353,7 +353,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_GRAPHIC_POLYLINE, false ); // add comment, not a shortcut HK_ADD_GRAPHIC_POLYLINE, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_LINE_COMMENT_BUTT, text, item = new wxMenuItem( placeMenu, ID_LINE_COMMENT_BUTT, text,
HELP_PLACE_GRAPHICLINES, wxITEM_NORMAL ); HELP_PLACE_GRAPHICLINES, wxITEM_NORMAL );
SETBITMAPS( add_dashed_line_xpm ); SET_BITMAP( add_dashed_line_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
/* Graphic text */ /* Graphic text */
...@@ -361,7 +361,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -361,7 +361,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_GRAPHIC_TEXT, false ); // add comment, not a shortcut HK_ADD_GRAPHIC_TEXT, false ); // add comment, not a shortcut
item = new wxMenuItem( placeMenu, ID_TEXT_COMMENT_BUTT, text, item = new wxMenuItem( placeMenu, ID_TEXT_COMMENT_BUTT, text,
HELP_PLACE_GRAPHICTEXTS, wxITEM_NORMAL ); HELP_PLACE_GRAPHICTEXTS, wxITEM_NORMAL );
SETBITMAPS( add_text_xpm ); SET_BITMAP( add_text_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
...@@ -371,13 +371,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -371,13 +371,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
/* Library */ /* Library */
item = new wxMenuItem( configmenu, ID_CONFIG_REQ, _( "&Library" ), item = new wxMenuItem( configmenu, ID_CONFIG_REQ, _( "&Library" ),
_( "Library preferences" ) ); _( "Library preferences" ) );
SETBITMAPS( library_xpm ); SET_BITMAP( library_xpm );
configmenu->Append( item ); configmenu->Append( item );
/* Colors */ /* Colors */
item = new wxMenuItem( configmenu, ID_COLORS_SETUP, _( "&Colors" ), item = new wxMenuItem( configmenu, ID_COLORS_SETUP, _( "&Colors" ),
_( "Color preferences" ) ); _( "Color preferences" ) );
SETBITMAPS( palette_xpm ); SET_BITMAP( palette_xpm );
configmenu->Append( item ); configmenu->Append( item );
/* Options */ /* Options */
...@@ -390,7 +390,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -390,7 +390,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
#endif #endif
_( "EESchema preferences" ) ); _( "EESchema preferences" ) );
SETBITMAPS( preference_xpm ); SET_BITMAP( preference_xpm );
configmenu->Append( item ); configmenu->Append( item );
/* Language submenu */ /* Language submenu */
...@@ -405,13 +405,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -405,13 +405,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
/* Save preferences */ /* Save preferences */
item = new wxMenuItem( configmenu, ID_CONFIG_SAVE, _( "&Save preferences" ), item = new wxMenuItem( configmenu, ID_CONFIG_SAVE, _( "&Save preferences" ),
_( "Save application preferences" ) ); _( "Save application preferences" ) );
SETBITMAPS( save_setup_xpm ); SET_BITMAP( save_setup_xpm );
configmenu->Append( item ); configmenu->Append( item );
/* Read preferences */ /* Read preferences */
item = new wxMenuItem( configmenu, ID_CONFIG_READ, _( "&Read preferences" ), item = new wxMenuItem( configmenu, ID_CONFIG_READ, _( "&Read preferences" ),
_( "Read application preferences" ) ); _( "Read application preferences" ) );
SETBITMAPS( read_setup_xpm ); SET_BITMAP( read_setup_xpm );
configmenu->Append( item ); configmenu->Append( item );
...@@ -422,13 +422,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -422,13 +422,13 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( helpMenu, ID_GENERAL_HELP, _( "&Contents" ), item = new wxMenuItem( helpMenu, ID_GENERAL_HELP, _( "&Contents" ),
_( "Open the eeschema manual" ) ); _( "Open the eeschema manual" ) );
SETBITMAPS( online_help_xpm ); SET_BITMAP( online_help_xpm );
helpMenu->Append( item ); helpMenu->Append( item );
/* About on all platforms except WXMAC */ /* About on all platforms except WXMAC */
item = new wxMenuItem( helpMenu, wxID_ABOUT, _( "&About" ), item = new wxMenuItem( helpMenu, wxID_ABOUT, _( "&About" ),
_( "About eeschema schematic designer" ) ); _( "About eeschema schematic designer" ) );
SETBITMAPS( info_xpm ); SET_BITMAP( info_xpm );
helpMenu->Append( item ); helpMenu->Append( item );
// Create the menubar and append all submenus // Create the menubar and append all submenus
......
...@@ -147,6 +147,7 @@ APERTURE_MACRO* GERBER_IMAGE::FindApertureMacro( const APERTURE_MACRO& aLookup ) ...@@ -147,6 +147,7 @@ APERTURE_MACRO* GERBER_IMAGE::FindApertureMacro( const APERTURE_MACRO& aLookup )
void GERBER_IMAGE::ResetDefaultValues() void GERBER_IMAGE::ResetDefaultValues()
{ {
m_InUse = false;
m_GBRLayerParams.ResetDefaultValues(); m_GBRLayerParams.ResetDefaultValues();
m_FileName.Empty(); m_FileName.Empty();
m_ImageName = wxT( "no name" ); // Image name from the IN command m_ImageName = wxT( "no name" ); // Image name from the IN command
......
...@@ -82,6 +82,8 @@ class GERBER_IMAGE ...@@ -82,6 +82,8 @@ class GERBER_IMAGE
GERBER_LAYER m_GBRLayerParams; // hold params for the current gerber layer GERBER_LAYER m_GBRLayerParams; // hold params for the current gerber layer
public: 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_FileName; // Full File Name for this layer
wxString m_ImageName; // Image name, from IN <name>* command wxString m_ImageName; // Image name, from IN <name>* command
int m_GraphicLayer; // Graphic layer Number int m_GraphicLayer; // Graphic layer Number
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "class_drawpanel.h" #include "class_drawpanel.h"
#include "pcbstruct.h" #include "pcbstruct.h"
#include "gerbview.h" #include "gerbview.h"
#include "class_GERBER.h"
#include "layer_widget.h" #include "layer_widget.h"
#include "class_gerbview_layer_widget.h" #include "class_gerbview_layer_widget.h"
...@@ -238,4 +239,37 @@ void GERBER_LAYER_WIDGET::OnRenderEnable( int aId, bool isEnabled ) ...@@ -238,4 +239,37 @@ void GERBER_LAYER_WIDGET::OnRenderEnable( int aId, bool isEnabled )
//-----</LAYER_WIDGET callbacks>------------------------------------------ //-----</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 ...@@ -59,6 +59,13 @@ class GERBER_LAYER_WIDGET : public LAYER_WIDGET
/// on every child control within the layer panel. /// on every child control within the layer panel.
void installRightLayerClickHandler(); 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: public:
/** /**
...@@ -86,6 +93,13 @@ public: ...@@ -86,6 +93,13 @@ public:
*/ */
void SetLayersManagerTabsText( ); void SetLayersManagerTabsText( );
//-----</implement LAYER_WIDGET abstract callback functions>---------- //-----</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_ #endif // _CLASS_GERBER_LAYER_WIDGET_H_
...@@ -183,8 +183,8 @@ bool GERBVIEW_FRAME::LoadGerberFiles( const wxString& aFullFileName ) ...@@ -183,8 +183,8 @@ bool GERBVIEW_FRAME::LoadGerberFiles( const wxString& aFullFileName )
// Synchronize layers tools with actual active layer: // Synchronize layers tools with actual active layer:
setActiveLayer( getActiveLayer() ); setActiveLayer( getActiveLayer() );
m_LayersManager->UpdateLayerIcons();
syncLayerBox(); syncLayerBox();
return true; return true;
} }
...@@ -268,6 +268,7 @@ bool GERBVIEW_FRAME::LoadExcellonFiles( const wxString& aFullFileName ) ...@@ -268,6 +268,7 @@ bool GERBVIEW_FRAME::LoadExcellonFiles( const wxString& aFullFileName )
// Synchronize layers tools with actual active layer: // Synchronize layers tools with actual active layer:
setActiveLayer( getActiveLayer() ); setActiveLayer( getActiveLayer() );
m_LayersManager->UpdateLayerIcons();
syncLayerBox(); syncLayerBox();
return true; return true;
......
...@@ -46,6 +46,7 @@ bool GERBVIEW_FRAME::Clear_Pcb( bool query ) ...@@ -46,6 +46,7 @@ bool GERBVIEW_FRAME::Clear_Pcb( bool query )
SetScreen( ScreenPcb ); SetScreen( ScreenPcb );
GetScreen()->Init(); GetScreen()->Init();
setActiveLayer(FIRST_COPPER_LAYER); setActiveLayer(FIRST_COPPER_LAYER);
m_LayersManager->UpdateLayerIcons();
syncLayerBox(); syncLayerBox();
return TRUE; return TRUE;
} }
...@@ -81,5 +82,6 @@ void GERBVIEW_FRAME::Erase_Current_Layer( bool query ) ...@@ -81,5 +82,6 @@ void GERBVIEW_FRAME::Erase_Current_Layer( bool query )
ScreenPcb->SetModify(); ScreenPcb->SetModify();
DrawPanel->Refresh(); DrawPanel->Refresh();
m_LayersManager->UpdateLayerIcons();
syncLayerBox(); syncLayerBox();
} }
...@@ -151,6 +151,8 @@ bool GERBVIEW_FRAME::Read_GERBER_File( const wxString& GERBER_FullFileName, ...@@ -151,6 +151,8 @@ bool GERBVIEW_FRAME::Read_GERBER_File( const wxString& GERBER_FullFileName,
fclose( gerber->m_Current_File ); fclose( gerber->m_Current_File );
SetLocaleTo_Default(); SetLocaleTo_Default();
gerber->m_InUse = true;
// Display errors list // Display errors list
if( m_Messages.size() > 0 ) if( m_Messages.size() > 0 )
{ {
......
...@@ -412,6 +412,7 @@ extern const char* width_segment_xpm[]; ...@@ -412,6 +412,7 @@ extern const char* width_segment_xpm[];
extern const char* width_track_via_xpm[]; extern const char* width_track_via_xpm[];
extern const char* width_track_xpm[]; extern const char* width_track_xpm[];
extern const char* width_vias_xpm[]; extern const char* width_vias_xpm[];
extern const char* window_close_xpm[];
extern const char* zip_tool_xpm[]; extern const char* zip_tool_xpm[];
extern const char* zip_xpm[]; extern const char* zip_xpm[];
extern const char* zoom_area_xpm[]; extern const char* zoom_area_xpm[];
......
...@@ -237,10 +237,18 @@ static inline void ADD_MENUITEM_WITH_HELP_AND_SUBMENU( wxMenu* menu, ...@@ -237,10 +237,18 @@ static inline void ADD_MENUITEM_WITH_HELP_AND_SUBMENU( wxMenu* menu,
#endif #endif
// macro to add a bitmap list to check menus (do not use with normal menus)
#ifdef __WINDOWS__ #ifdef __WINDOWS__
# define SETBITMAPS( icon ) item->SetBitmaps( apply_xpm, (icon) ) # define SETBITMAPS( icon ) item->SetBitmaps( apply_xpm, (icon) )
#else #else
# define SETBITMAPS( icon ) # define SETBITMAPS( icon )
#endif #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 */ #endif /* ifdef MACRO_H */
...@@ -49,8 +49,6 @@ extern PCB_SCREEN* ScreenPcb; ...@@ -49,8 +49,6 @@ extern PCB_SCREEN* ScreenPcb;
extern BOARD* g_ModuleEditor_Pcb; extern BOARD* g_ModuleEditor_Pcb;
/* Pad editing */ /* Pad editing */
extern wxString g_Current_PadName; // Last used pad name (pad num)
extern D_PAD g_Pad_Master; extern D_PAD g_Pad_Master;
#endif /* __PCBCOMMON_H__ */ #endif /* __PCBCOMMON_H__ */
...@@ -8,10 +8,20 @@ else(ZLIB_FOUND) ...@@ -8,10 +8,20 @@ else(ZLIB_FOUND)
# include files are in ${wxWidgets_ROOT_DIR}/src/zlib # include files are in ${wxWidgets_ROOT_DIR}/src/zlib
# and the corresponding library is libwxzlib-<version>.a (like libwxzlib-2.8.a) # and the corresponding library is libwxzlib-<version>.a (like libwxzlib-2.8.a)
# and we try to use it # 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. # 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_path(ZLIB_INCLUDE_DIR
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") 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) endif(ZLIB_FOUND)
include_directories(${CMAKE_CURRENT_SOURCE_DIR} include_directories(${CMAKE_CURRENT_SOURCE_DIR}
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
; General Product Description Definitions ; General Product Description Definitions
!define PRODUCT_NAME "KiCad" !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 PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/" !define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
!define COMPANY_NAME "" !define COMPANY_NAME ""
......
...@@ -91,6 +91,26 @@ public: ...@@ -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 * Class BOARD
...@@ -109,6 +129,9 @@ private: ...@@ -109,6 +129,9 @@ private:
ZONE_CONTAINERS m_ZoneDescriptorList; ///< edge zone descriptors, owned by pointer ZONE_CONTAINERS m_ZoneDescriptorList; ///< edge zone descriptors, owned by pointer
LAYER m_Layer[NB_COPPER_LAYERS]; 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: public:
PCB_BASE_FRAME* m_PcbFrame; // Window of visualization PCB_BASE_FRAME* m_PcbFrame; // Window of visualization
...@@ -249,6 +272,67 @@ public: ...@@ -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 * Function GetCopperLayerCount
* @return int - The number of copper layers in the BOARD. * @return int - The number of copper layers in the BOARD.
......
...@@ -41,6 +41,7 @@ void RemoteCommand( const char* cmdline ) ...@@ -41,6 +41,7 @@ void RemoteCommand( const char* cmdline )
char* text; char* text;
MODULE* module = 0; MODULE* module = 0;
PCB_EDIT_FRAME* frame = (PCB_EDIT_FRAME*)wxGetApp().GetTopWindow(); PCB_EDIT_FRAME* frame = (PCB_EDIT_FRAME*)wxGetApp().GetTopWindow();
BOARD* pcb = frame->GetBoard();
wxPoint pos; wxPoint pos;
strncpy( line, cmdline, sizeof(line) - 1 ); strncpy( line, cmdline, sizeof(line) - 1 );
...@@ -81,7 +82,7 @@ void RemoteCommand( const char* cmdline ) ...@@ -81,7 +82,7 @@ void RemoteCommand( const char* cmdline )
modName = FROM_UTF8( text ); modName = FROM_UTF8( text );
module = frame->GetBoard()->FindModuleByReference( modName ); module = pcb->FindModuleByReference( modName );
if( module ) if( module )
pad = module->FindPadByName( pinName ); pad = module->FindPadByName( pinName );
...@@ -96,13 +97,13 @@ void RemoteCommand( const char* cmdline ) ...@@ -96,13 +97,13 @@ void RemoteCommand( const char* cmdline )
if( netcode > 0 ) /* highlight the pad net*/ if( netcode > 0 ) /* highlight the pad net*/
{ {
g_HighLight_Status = 1; pcb->HightLightON();
g_HighLight_NetCode = netcode; pcb->SetHightLightNet( netcode );
} }
else else
{ {
g_HighLight_Status = 0; pcb->HightLightOFF();
g_HighLight_NetCode = 0; pcb->SetHightLightNet( -1 );
} }
if( module == NULL ) if( module == NULL )
......
...@@ -81,7 +81,7 @@ TRACK* PCB_EDIT_FRAME::Delete_Segment( wxDC* DC, TRACK* aTrack ) ...@@ -81,7 +81,7 @@ TRACK* PCB_EDIT_FRAME::Delete_Segment( wxDC* DC, TRACK* aTrack )
{ {
DrawPanel->SetMouseCapture( NULL, NULL ); DrawPanel->SetMouseCapture( NULL, NULL );
if( g_HighLight_Status ) if( GetBoard()->IsHightLightNetON() )
High_Light( DC ); High_Light( DC );
SetCurItem( NULL ); SetCurItem( NULL );
......
...@@ -555,7 +555,6 @@ void DIALOG_PAD_PROPERTIES::PadPropertiesAccept( wxCommandEvent& event ) ...@@ -555,7 +555,6 @@ void DIALOG_PAD_PROPERTIES::PadPropertiesAccept( wxCommandEvent& event )
return; return;
TransfertDataToPad( &g_Pad_Master, false ); TransfertDataToPad( &g_Pad_Master, false );
g_Current_PadName = g_Pad_Master.ReturnStringPadName();
if( m_CurrentPad ) // Set current Pad parameters if( m_CurrentPad ) // Set current Pad parameters
{ {
......
...@@ -1232,7 +1232,8 @@ void PCB_EDIT_FRAME::OnSelectTool( wxCommandEvent& aEvent ) ...@@ -1232,7 +1232,8 @@ void PCB_EDIT_FRAME::OnSelectTool( wxCommandEvent& aEvent )
if( DisplayOpt.DisplayZonesMode != 0 ) if( DisplayOpt.DisplayZonesMode != 0 )
DisplayInfoMessage( this, _( "Warning: zone display is OFF!!!" ) ); DisplayInfoMessage( this, _( "Warning: zone display is OFF!!!" ) );
if( !g_HighLight_Status && (g_HighLight_NetCode > 0 ) ) if( !GetBoard()->IsHightLightNetON() &&
(GetBoard()->GetHightLightNetCode() > 0 ) )
High_Light( &dc ); High_Light( &dc );
break; break;
......
...@@ -148,7 +148,7 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC ) ...@@ -148,7 +148,7 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
via->m_Flags = IS_NEW; via->m_Flags = IS_NEW;
via->m_Shape = GetBoard()->GetBoardDesignSettings()->m_CurrentViaType; via->m_Shape = GetBoard()->GetBoardDesignSettings()->m_CurrentViaType;
via->m_Width = GetBoard()->GetCurrentViaSize(); via->m_Width = GetBoard()->GetCurrentViaSize();
via->SetNet( g_HighLight_NetCode ); via->SetNet( GetBoard()->GetHightLightNetCode() );
via->m_Start = via->m_End = g_CurrentTrackSegment->m_End; via->m_Start = via->m_End = g_CurrentTrackSegment->m_End;
// Usual via is from copper to component. // Usual via is from copper to component.
// layer pair is LAYER_N_BACK and LAYER_N_FRONT. // layer pair is LAYER_N_BACK and LAYER_N_FRONT.
......
...@@ -22,12 +22,8 @@ void ShowNewTrackWhenMovingCursor( EDA_DRAW_PANEL* aPanel, wxDC* aDC, ...@@ -22,12 +22,8 @@ void ShowNewTrackWhenMovingCursor( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
const wxPoint& aPosition, bool aErase ); const wxPoint& aPosition, bool aErase );
static void ComputeBreakPoint( TRACK* track, int n, wxPoint end ); static void ComputeBreakPoint( TRACK* track, int n, wxPoint end );
static void DeleteNullTrackSegments( BOARD* pcb, DLIST<TRACK>& aTrackList ); static void DeleteNullTrackSegments( BOARD* pcb, DLIST<TRACK>& aTrackList );
static void EnsureEndTrackOnPad( D_PAD* Pad ); static void EnsureEndTrackOnPad( D_PAD* Pad );
static int OldNetCodeSurbrillance;
static int OldEtatSurbrillance;
static PICKED_ITEMS_LIST s_ItemsListPicker; static PICKED_ITEMS_LIST s_ItemsListPicker;
...@@ -37,17 +33,18 @@ 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 ) static void Exit_Editrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
{ {
PCB_EDIT_FRAME* frame = (PCB_EDIT_FRAME*) Panel->GetParent(); PCB_EDIT_FRAME* frame = (PCB_EDIT_FRAME*) Panel->GetParent();
BOARD * pcb = frame->GetBoard();
TRACK* track = (TRACK*) frame->GetCurItem(); TRACK* track = (TRACK*) frame->GetCurItem();
if( track && ( track->Type()==TYPE_VIA || track->Type()==TYPE_TRACK ) ) if( track && ( track->Type()==TYPE_VIA || track->Type()==TYPE_TRACK ) )
{ {
/* Erase the current drawing */ /* Erase the current drawing */
ShowNewTrackWhenMovingCursor( Panel, DC, wxDefaultPosition, false ); ShowNewTrackWhenMovingCursor( Panel, DC, wxDefaultPosition, false );
if( g_HighLight_Status ) if( pcb->IsHightLightNetON() )
frame->High_Light( DC ); frame->High_Light( DC );
g_HighLight_NetCode = OldNetCodeSurbrillance; pcb->PopHightLight();
if( OldEtatSurbrillance ) if( pcb->IsHightLightNetON() )
frame->High_Light( DC ); frame->High_Light( DC );
frame->MsgPanel->EraseMsgBox(); frame->MsgPanel->EraseMsgBox();
...@@ -95,17 +92,16 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC ) ...@@ -95,17 +92,16 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC )
// necessary, // necessary,
// but... // but...
/* erase old highlight */ GetBoard()->PushHightLight();
OldNetCodeSurbrillance = g_HighLight_NetCode;
OldEtatSurbrillance = g_HighLight_Status;
if( g_HighLight_Status ) // erase old highlight
if( GetBoard()->IsHightLightNetON() )
High_Light( DC ); High_Light( DC );
g_CurrentTrackList.PushBack( new TRACK( GetBoard() ) ); g_CurrentTrackList.PushBack( new TRACK( GetBoard() ) );
g_CurrentTrackSegment->m_Flags = IS_NEW; 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 // Search for a starting point of the new track, a track or pad
LockPoint = LocateLockPoint( GetBoard(), pos, masquelayer ); LockPoint = LocateLockPoint( GetBoard(), pos, masquelayer );
...@@ -118,12 +114,12 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC ) ...@@ -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 */ /* A pad is found: put the starting point on pad centre */
pos = pt_pad->m_Pos; pos = pt_pad->m_Pos;
g_HighLight_NetCode = pt_pad->GetNet(); GetBoard()->SetHightLightNet( pt_pad->GetNet() );
} }
else /* A track segment is found */ else /* A track segment is found */
{ {
TrackOnStartPoint = (TRACK*) LockPoint; TrackOnStartPoint = (TRACK*) LockPoint;
g_HighLight_NetCode = TrackOnStartPoint->GetNet(); GetBoard()->SetHightLightNet( TrackOnStartPoint->GetNet() );
CreateLockPoint( GetBoard(), pos, CreateLockPoint( GetBoard(), pos,
TrackOnStartPoint, TrackOnStartPoint,
&s_ItemsListPicker ); &s_ItemsListPicker );
...@@ -136,7 +132,7 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC ) ...@@ -136,7 +132,7 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC )
zone = GetBoard()->HitTestForAnyFilledArea( pos, GetScreen()-> m_Active_Layer ); zone = GetBoard()->HitTestForAnyFilledArea( pos, GetScreen()-> m_Active_Layer );
if( zone ) if( zone )
g_HighLight_NetCode = zone->GetNet(); GetBoard()->SetHightLightNet( zone->GetNet() );
} }
D( g_CurrentTrackList.VerifyListIntegrity(); ); D( g_CurrentTrackList.VerifyListIntegrity(); );
...@@ -148,7 +144,7 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC ) ...@@ -148,7 +144,7 @@ TRACK* PCB_EDIT_FRAME::Begin_Route( TRACK* aTrack, wxDC* DC )
High_Light( DC ); High_Light( DC );
// Display info about track Net class, and init track and vias sizes: // 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() ); GetBoard()->SetCurrentNetClass( g_CurrentTrackSegment->GetNetClassName() );
g_CurrentTrackSegment->SetLayer( GetScreen()->m_Active_Layer ); g_CurrentTrackSegment->SetLayer( GetScreen()->m_Active_Layer );
...@@ -467,7 +463,7 @@ void PCB_EDIT_FRAME::End_Route( TRACK* aTrack, wxDC* DC ) ...@@ -467,7 +463,7 @@ void PCB_EDIT_FRAME::End_Route( TRACK* aTrack, wxDC* DC )
* possibly create an anchor. */ * possibly create an anchor. */
{ {
TRACK* adr_buf = (TRACK*) LockPoint; TRACK* adr_buf = (TRACK*) LockPoint;
g_HighLight_NetCode = adr_buf->GetNet(); GetBoard()->SetHightLightNet( adr_buf->GetNet() );
/* Possible establishment of a hanging point. */ /* Possible establishment of a hanging point. */
LockPoint = CreateLockPoint( GetBoard(), LockPoint = CreateLockPoint( GetBoard(),
...@@ -529,12 +525,12 @@ void PCB_EDIT_FRAME::End_Route( TRACK* aTrack, wxDC* DC ) ...@@ -529,12 +525,12 @@ void PCB_EDIT_FRAME::End_Route( TRACK* aTrack, wxDC* DC )
wxASSERT( g_CurrentTrackSegment==NULL ); wxASSERT( g_CurrentTrackSegment==NULL );
wxASSERT( g_CurrentTrackList.GetCount()==0 ); wxASSERT( g_CurrentTrackList.GetCount()==0 );
if( g_HighLight_Status ) if( GetBoard()->IsHightLightNetON() )
High_Light( DC ); High_Light( DC );
g_HighLight_NetCode = OldNetCodeSurbrillance; GetBoard()->PopHightLight();
if( OldEtatSurbrillance ) if( GetBoard()->IsHightLightNetON() )
High_Light( DC ); High_Light( DC );
DrawPanel->SetMouseCapture( NULL, NULL ); DrawPanel->SetMouseCapture( NULL, NULL );
......
...@@ -52,7 +52,7 @@ bool PCB_EDIT_FRAME::Clear_Pcb( bool aQuery ) ...@@ -52,7 +52,7 @@ bool PCB_EDIT_FRAME::Clear_Pcb( bool aQuery )
GetScreen()->Init(); GetScreen()->Init();
GetScreen()->SetGrid( gridsize ); GetScreen()->SetGrid( gridsize );
g_HighLight_Status = 0; GetBoard()->ResetHightLight();
// Enable all layers (SetCopperLayerCount() will adjust the copper layers enabled) // Enable all layers (SetCopperLayerCount() will adjust the copper layers enabled)
GetBoard()->SetEnabledLayers(ALL_LAYERS); GetBoard()->SetEnabledLayers(ALL_LAYERS);
......
...@@ -44,7 +44,9 @@ ...@@ -44,7 +44,9 @@
#define BUTT_SIZE_Y 18 #define BUTT_SIZE_Y 18
#define BUTT_VOID 4 #define BUTT_VOID 4
/* XPM */ /* XPM
* This bitmap is used for not selected layers
*/
static const char * clear_xpm[] = { static const char * clear_xpm[] = {
"10 14 1 1", "10 14 1 1",
" c None", " c None",
...@@ -63,11 +65,38 @@ static const char * clear_xpm[] = { ...@@ -63,11 +65,38 @@ static const char * clear_xpm[] = {
" ", " ",
" "}; " "};
/* XPM */ /* 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[] = { static const char * rightarrow_xpm[] = {
"10 14 5 1", "10 14 4 1",
" c None", " c None",
". c white",
"X c #8080ff", "X c #8080ff",
"o c BLUE", "o c BLUE",
"O c gray56", "O c gray56",
...@@ -86,6 +115,32 @@ static const char * rightarrow_xpm[] = { ...@@ -86,6 +115,32 @@ static const char * rightarrow_xpm[] = {
" ooO ", " ooO ",
" oO "}; " 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 * Function makeColorTxt
...@@ -349,7 +404,8 @@ void LAYER_WIDGET::insertLayerRow( int aRow, const ROW& aSpec ) ...@@ -349,7 +404,8 @@ void LAYER_WIDGET::insertLayerRow( int aRow, const ROW& aSpec )
// column 0 // column 0
col = 0; col = 0;
wxStaticBitmap* sbm = new wxStaticBitmap( m_LayerScrolledWindow, encodeId( col, aSpec.id ), 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 ); sbm->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( LAYER_WIDGET::OnLeftDownLayers ), NULL, this );
m_LayersFlexGridSizer->wxSizer::Insert( index+col, sbm, 0, flags ); m_LayersFlexGridSizer->wxSizer::Insert( index+col, sbm, 0, flags );
...@@ -502,8 +558,10 @@ LAYER_WIDGET::LAYER_WIDGET( wxWindow* aParent, wxWindow* aFocusOwner, int aPoint ...@@ -502,8 +558,10 @@ LAYER_WIDGET::LAYER_WIDGET( wxWindow* aParent, wxWindow* aFocusOwner, int aPoint
m_CurrentRow = -1; // hide the arrow initially m_CurrentRow = -1; // hide the arrow initially
m_RightArrowBitmap = new wxBitmap( rightarrow_xpm ); m_RightArrowBitmap = new wxBitmap( rightarrow_xpm );
m_RightArrowAlternateBitmap = new wxBitmap( rightarrow_alternate_xpm );
m_BlankBitmap = new wxBitmap( clear_xpm ); // translucent m_BlankBitmap = new wxBitmap( clear_xpm ); // translucent
m_BlankAlternateBitmap = new wxBitmap( clear_alternate_xpm );
m_BitmapSize = wxSize(m_BlankBitmap->GetWidth(), m_BlankBitmap->GetHeight()); m_BitmapSize = wxSize(m_BlankBitmap->GetWidth(), m_BlankBitmap->GetHeight());
// trap the tab changes so that we can call passOnFocus(). // trap the tab changes so that we can call passOnFocus().
...@@ -656,12 +714,12 @@ void LAYER_WIDGET::SelectLayerRow( int aRow ) ...@@ -656,12 +714,12 @@ void LAYER_WIDGET::SelectLayerRow( int aRow )
wxStaticBitmap* oldbm = (wxStaticBitmap*) getLayerComp( m_CurrentRow, 0 ); wxStaticBitmap* oldbm = (wxStaticBitmap*) getLayerComp( m_CurrentRow, 0 );
if( oldbm ) if( oldbm )
oldbm->SetBitmap( *m_BlankBitmap ); oldbm->SetBitmap( useAlternateBitmap(m_CurrentRow) ? *m_BlankAlternateBitmap : *m_BlankBitmap );
wxStaticBitmap* newbm = (wxStaticBitmap*) getLayerComp( aRow, 0 ); wxStaticBitmap* newbm = (wxStaticBitmap*) getLayerComp( aRow, 0 );
if( newbm ) if( newbm )
{ {
newbm->SetBitmap( *m_RightArrowBitmap ); newbm->SetBitmap( useAlternateBitmap(aRow) ? *m_RightArrowAlternateBitmap : *m_RightArrowBitmap );
// Make sure the desired layer row is visible. // Make sure the desired layer row is visible.
// It seems that as of 2.8.2, setting the focus does this. // It seems that as of 2.8.2, setting the focus does this.
......
...@@ -103,13 +103,25 @@ protected: ...@@ -103,13 +103,25 @@ protected:
wxWindow* m_FocusOwner; wxWindow* m_FocusOwner;
wxBitmap* m_BlankBitmap; wxBitmap* m_BlankBitmap;
wxBitmap* m_BlankAlternateBitmap;
wxBitmap* m_RightArrowBitmap; wxBitmap* m_RightArrowBitmap;
wxBitmap* m_RightArrowAlternateBitmap;
wxSize m_BitmapSize; wxSize m_BitmapSize;
int m_CurrentRow; ///< selected row of layer list int m_CurrentRow; ///< selected row of layer list
int m_PointSize; int m_PointSize;
static wxBitmap makeBitmap( int aColor ); 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 * Function encodeId
* is here to allow saving a layer index within a control as its wxControl id, * is here to allow saving a layer index within a control as its wxControl id,
......
...@@ -42,14 +42,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -42,14 +42,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_NEW_BOARD, item = new wxMenuItem( filesMenu, ID_NEW_BOARD,
_( "&New" ), _( "&New" ),
_( "Clear current board and initialize a new one" ) ); _( "Clear current board and initialize a new one" ) );
SETBITMAPS( new_xpm ); SET_BITMAP( new_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Open // Open
item = new wxMenuItem( filesMenu, ID_LOAD_FILE, item = new wxMenuItem( filesMenu, ID_LOAD_FILE,
_( "&Open\tCtrl+O" ), _( "&Open\tCtrl+O" ),
_( "Delete current board and load new board" ) ); _( "Delete current board and load new board" ) );
SETBITMAPS( open_document_xpm ); SET_BITMAP( open_document_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Load Recent submenu // Load Recent submenu
...@@ -65,7 +65,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -65,7 +65,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_APPEND_FILE, item = new wxMenuItem( filesMenu, ID_APPEND_FILE,
_( "&Append Board" ), _( "&Append Board" ),
_( "Append another PCBNew board to the current loaded board" ) ); _( "Append another PCBNew board to the current loaded board" ) );
SETBITMAPS( import_xpm ); SET_BITMAP( import_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Separator // Separator
...@@ -75,14 +75,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -75,14 +75,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_SAVE_BOARD, item = new wxMenuItem( filesMenu, ID_SAVE_BOARD,
_( "&Save\tCtrl+S" ), _( "&Save\tCtrl+S" ),
_( "Save current board" ) ); _( "Save current board" ) );
SETBITMAPS( save_xpm ); SET_BITMAP( save_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Save As // Save As
item = new wxMenuItem( filesMenu, ID_SAVE_BOARD_AS, item = new wxMenuItem( filesMenu, ID_SAVE_BOARD_AS,
_( "Save as..." ), _( "Save as..." ),
_( "Save the current board as.." ) ); _( "Save the current board as.." ) );
SETBITMAPS( save_as_xpm ); SET_BITMAP( save_as_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
filesMenu->AppendSeparator(); filesMenu->AppendSeparator();
...@@ -90,13 +90,13 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -90,13 +90,13 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, ID_MENU_READ_LAST_SAVED_VERSION_BOARD, item = new wxMenuItem( filesMenu, ID_MENU_READ_LAST_SAVED_VERSION_BOARD,
_( "&Revert" ), _( "&Revert" ),
_( "Clear board and get previous saved version of board" ) ); _( "Clear board and get previous saved version of board" ) );
SETBITMAPS( jigsaw_xpm ); SET_BITMAP( jigsaw_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
// Rescue // Rescue
item = new wxMenuItem( filesMenu, ID_MENU_RECOVER_BOARD, _( "&Rescue" ), item = new wxMenuItem( filesMenu, ID_MENU_RECOVER_BOARD, _( "&Rescue" ),
_( "Clear old board and get last rescue file" ) ); _( "Clear old board and get last rescue file" ) );
SETBITMAPS( hammer_xpm ); SET_BITMAP( hammer_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
filesMenu->AppendSeparator(); filesMenu->AppendSeparator();
...@@ -106,27 +106,27 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -106,27 +106,27 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_POS_MODULES_FILE, item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_POS_MODULES_FILE,
_( "&Modules Position File" ), _( "&Modules Position File" ),
_( "Generate modules position file for pick and place" ) ); _( "Generate modules position file for pick and place" ) );
SETBITMAPS( post_compo_xpm ); SET_BITMAP( post_compo_xpm );
fabricationOutputsMenu->Append( item ); fabricationOutputsMenu->Append( item );
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_DRILL_FILE, item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_DRILL_FILE,
_( "&Drill File" ), _( "&Drill File" ),
_( "Generate excellon2 drill file" ) ); _( "Generate excellon2 drill file" ) );
SETBITMAPS( post_drill_xpm ); SET_BITMAP( post_drill_xpm );
fabricationOutputsMenu->Append( item ); fabricationOutputsMenu->Append( item );
// Component File // Component File
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_CMP_FILE, item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_CMP_FILE,
_( "&Component File" ), _( "&Component File" ),
_( "(Re)create components file (*.cmp) for CvPcb" ) ); _( "(Re)create components file (*.cmp) for CvPcb" ) );
SETBITMAPS( create_cmp_file_xpm ); SET_BITMAP( create_cmp_file_xpm );
fabricationOutputsMenu->Append( item ); fabricationOutputsMenu->Append( item );
// BOM File // BOM File
item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_BOM_FILE_FROM_BOARD, item = new wxMenuItem( fabricationOutputsMenu, ID_PCB_GEN_BOM_FILE_FROM_BOARD,
_( "&BOM File" ), _( "&BOM File" ),
_( "Create a bill of materials from schematic" ) ); _( "Create a bill of materials from schematic" ) );
SETBITMAPS( tools_xpm ); SET_BITMAP( tools_xpm );
fabricationOutputsMenu->Append( item ); fabricationOutputsMenu->Append( item );
// Fabrications Outputs submenu append // Fabrications Outputs submenu append
...@@ -144,7 +144,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -144,7 +144,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( submenuImport, ID_GEN_IMPORT_SPECCTRA_SESSION, item = new wxMenuItem( submenuImport, ID_GEN_IMPORT_SPECCTRA_SESSION,
_( "&Specctra Session" ), _( "&Specctra Session" ),
_( "Import a routed \"Specctra Session\" (*.ses) file" ) ); _( "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 ); submenuImport->Append( item );
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuImport, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuImport,
...@@ -160,27 +160,27 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -160,27 +160,27 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_SPECCTRA, item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_SPECCTRA,
_( "&Specctra DSN" ), _( "&Specctra DSN" ),
_( "Export the current board to a \"Specctra DSN\" file" ) ); _( "Export the current board to a \"Specctra DSN\" file" ) );
SETBITMAPS( export_xpm ); SET_BITMAP( export_xpm );
submenuexport->Append( item ); submenuexport->Append( item );
// GenCAD // GenCAD
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_GENCADFORMAT, item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_GENCADFORMAT,
_( "&GenCAD" ), _( "Export GenCAD format" ) ); _( "&GenCAD" ), _( "Export GenCAD format" ) );
SETBITMAPS( export_xpm ); SET_BITMAP( export_xpm );
submenuexport->Append( item ); submenuexport->Append( item );
// Module Report // Module Report
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_MODULE_REPORT, item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_MODULE_REPORT,
_( "&Module Report" ), _( "&Module Report" ),
_( "Create a report of all modules on the current board" ) ); _( "Create a report of all modules on the current board" ) );
SETBITMAPS( tools_xpm ); SET_BITMAP( tools_xpm );
submenuexport->Append( item ); submenuexport->Append( item );
// VRML // VRML
item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_VRML, item = new wxMenuItem( submenuexport, ID_GEN_EXPORT_FILE_VRML,
_( "&VRML" ), _( "&VRML" ),
_( "Export a VRML board representation" ) ); _( "Export a VRML board representation" ) );
SETBITMAPS( show_3d_xpm ); SET_BITMAP( show_3d_xpm );
submenuexport->Append( item ); submenuexport->Append( item );
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuexport, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuexport,
...@@ -193,21 +193,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -193,21 +193,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( filesMenu, wxID_PRINT, item = new wxMenuItem( filesMenu, wxID_PRINT,
_( "&Print\tCtrl+P" ), _( "&Print\tCtrl+P" ),
_( "Print board" ) ); _( "Print board" ) );
SETBITMAPS( print_button ); SET_BITMAP( print_button );
filesMenu->Append( item ); filesMenu->Append( item );
// Create SVG file // Create SVG file
item = new wxMenuItem( filesMenu, ID_GEN_PLOT_SVG, item = new wxMenuItem( filesMenu, ID_GEN_PLOT_SVG,
_( "Print S&VG" ), _( "Print S&VG" ),
_( "Plot board in Scalable Vector Graphics format" ) ); _( "Plot board in Scalable Vector Graphics format" ) );
SETBITMAPS( print_button ); SET_BITMAP( print_button );
filesMenu->Append( item ); filesMenu->Append( item );
// Plot // Plot
item = new wxMenuItem( filesMenu, ID_GEN_PLOT, item = new wxMenuItem( filesMenu, ID_GEN_PLOT,
_( "&Plot" ), _( "&Plot" ),
_( "Plot board in HPGL, PostScript or Gerber RS-274X format)" ) ); _( "Plot board in HPGL, PostScript or Gerber RS-274X format)" ) );
SETBITMAPS( plot_xpm ); SET_BITMAP( plot_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
filesMenu->AppendSeparator(); filesMenu->AppendSeparator();
...@@ -217,14 +217,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -217,14 +217,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( submenuarchive, ID_MENU_ARCHIVE_NEW_MODULES, item = new wxMenuItem( submenuarchive, ID_MENU_ARCHIVE_NEW_MODULES,
_( "Archive New Footprints" ), _( "Archive New Footprints" ),
_( "Archive new footprints only in a library (keep other footprints in this lib)" ) ); _( "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 ); submenuarchive->Append( item );
// Create FootPrint Archive // Create FootPrint Archive
item = new wxMenuItem( submenuarchive, ID_MENU_ARCHIVE_ALL_MODULES, item = new wxMenuItem( submenuarchive, ID_MENU_ARCHIVE_ALL_MODULES,
_( "Create Footprint Archive" ), _( "Create Footprint Archive" ),
_( "Archive all footprints in a library (old library will be deleted)" ) ); _( "Archive all footprints in a library (old library will be deleted)" ) );
SETBITMAPS( library_xpm ); SET_BITMAP( library_xpm );
submenuarchive->Append( item ); submenuarchive->Append( item );
ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuarchive, ADD_MENUITEM_WITH_HELP_AND_SUBMENU( filesMenu, submenuarchive,
...@@ -236,7 +236,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -236,7 +236,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
/* Quit */ /* Quit */
filesMenu->AppendSeparator(); filesMenu->AppendSeparator();
item = new wxMenuItem( filesMenu, wxID_EXIT, _( "&Quit" ), _( "Quit PCBNew" ) ); item = new wxMenuItem( filesMenu, wxID_EXIT, _( "&Quit" ), _( "Quit PCBNew" ) );
SETBITMAPS( exit_xpm ); SET_BITMAP( exit_xpm );
filesMenu->Append( item ); filesMenu->Append( item );
/** Create Edit menu **/ /** Create Edit menu **/
...@@ -246,21 +246,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -246,21 +246,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
text = AddHotkeyName( _( "Undo" ), g_Pcbnew_Editor_Hokeys_Descr, HK_UNDO ); text = AddHotkeyName( _( "Undo" ), g_Pcbnew_Editor_Hokeys_Descr, HK_UNDO );
item = new wxMenuItem( editMenu, wxID_UNDO, text, item = new wxMenuItem( editMenu, wxID_UNDO, text,
HELP_UNDO, wxITEM_NORMAL ); HELP_UNDO, wxITEM_NORMAL );
SETBITMAPS( undo_xpm ); SET_BITMAP( undo_xpm );
editMenu->Append( item ); editMenu->Append( item );
// Redo // Redo
text = AddHotkeyName( _( "Redo" ), g_Pcbnew_Editor_Hokeys_Descr, HK_REDO ); text = AddHotkeyName( _( "Redo" ), g_Pcbnew_Editor_Hokeys_Descr, HK_REDO );
item = new wxMenuItem( editMenu, wxID_REDO, text, item = new wxMenuItem( editMenu, wxID_REDO, text,
HELP_REDO, wxITEM_NORMAL ); HELP_REDO, wxITEM_NORMAL );
SETBITMAPS( redo_xpm ); SET_BITMAP( redo_xpm );
editMenu->Append( item ); editMenu->Append( item );
// Delete // Delete
item = new wxMenuItem( editMenu, ID_PCB_DELETE_ITEM_BUTT, item = new wxMenuItem( editMenu, ID_PCB_DELETE_ITEM_BUTT,
_( "Delete" ), _( "Delete" ),
_( "Delete items" ) ); _( "Delete items" ) );
SETBITMAPS( delete_body_xpm ); SET_BITMAP( delete_body_xpm );
editMenu->Append( item ); editMenu->Append( item );
editMenu->AppendSeparator(); editMenu->AppendSeparator();
...@@ -268,7 +268,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -268,7 +268,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
text = AddHotkeyName( _( "&Find" ), g_Pcbnew_Editor_Hokeys_Descr, HK_FIND_ITEM ); text = AddHotkeyName( _( "&Find" ), g_Pcbnew_Editor_Hokeys_Descr, HK_FIND_ITEM );
item = new wxMenuItem( editMenu, ID_FIND_ITEMS, item = new wxMenuItem( editMenu, ID_FIND_ITEMS,
text, HELP_FIND ); text, HELP_FIND );
SETBITMAPS( find_xpm ); SET_BITMAP( find_xpm );
editMenu->Append( item ); editMenu->Append( item );
editMenu->AppendSeparator(); editMenu->AppendSeparator();
...@@ -276,21 +276,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -276,21 +276,21 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( editMenu, ID_PCB_GLOBAL_DELETE, item = new wxMenuItem( editMenu, ID_PCB_GLOBAL_DELETE,
_( "Global &Deletions" ), _( "Global &Deletions" ),
_( "Delete tracks, modules, texts... on board" ) ); _( "Delete tracks, modules, texts... on board" ) );
SETBITMAPS( general_deletions_xpm ); SET_BITMAP( general_deletions_xpm );
editMenu->Append( item ); editMenu->Append( item );
// Cleanup Tracks and Vias // Cleanup Tracks and Vias
item = new wxMenuItem( editMenu, ID_MENU_PCB_CLEAN, item = new wxMenuItem( editMenu, ID_MENU_PCB_CLEAN,
_( "&Cleanup Tracks and Vias" ), _( "&Cleanup Tracks and Vias" ),
_( "Clean stubs, vias, delete break points, or connect dangling tracks to pads 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 ); editMenu->Append( item );
// Swap Layers // Swap Layers
item = new wxMenuItem( editMenu, ID_MENU_PCB_SWAP_LAYERS, item = new wxMenuItem( editMenu, ID_MENU_PCB_SWAP_LAYERS,
_( "&Swap Layers" ), _( "&Swap Layers" ),
_( "Swap tracks on copper layers or drawings on other layers" ) ); _( "Swap tracks on copper layers or drawings on other layers" ) );
SETBITMAPS( swap_layer_xpm ); SET_BITMAP( swap_layer_xpm );
editMenu->Append( item ); editMenu->Append( item );
// Reset module reference sizes // Reset module reference sizes
...@@ -298,7 +298,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -298,7 +298,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
ID_MENU_PCB_RESET_TEXTMODULE_REFERENCE_SIZES, ID_MENU_PCB_RESET_TEXTMODULE_REFERENCE_SIZES,
_( "Reset Module &Reference Sizes" ), _( "Reset Module &Reference Sizes" ),
_( "Reset text size and width of all module references to current defaults" ) ); _( "Reset text size and width of all module references to current defaults" ) );
SETBITMAPS( reset_text_xpm ); SET_BITMAP( reset_text_xpm );
editMenu->Append( item ); editMenu->Append( item );
// Reset module value sizes // Reset module value sizes
...@@ -306,7 +306,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -306,7 +306,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
ID_MENU_PCB_RESET_TEXTMODULE_VALUE_SIZES, ID_MENU_PCB_RESET_TEXTMODULE_VALUE_SIZES,
_( "Reset Module &Value Sizes" ), _( "Reset Module &Value Sizes" ),
_( "Reset text size and width of all module values to current defaults" ) ); _( "Reset text size and width of all module values to current defaults" ) );
SETBITMAPS( reset_text_xpm ); SET_BITMAP( reset_text_xpm );
editMenu->Append( item ); editMenu->Append( item );
/** Create View menu **/ /** Create View menu **/
...@@ -328,7 +328,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -328,7 +328,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
HK_ZOOM_IN, false ); HK_ZOOM_IN, false );
item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text, item = new wxMenuItem( viewMenu, ID_ZOOM_IN, text,
HELP_ZOOM_IN, wxITEM_NORMAL ); HELP_ZOOM_IN, wxITEM_NORMAL );
SETBITMAPS( zoom_in_xpm ); SET_BITMAP( zoom_in_xpm );
viewMenu->Append( item ); viewMenu->Append( item );
// Zoom Out // Zoom Out
...@@ -337,7 +337,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -337,7 +337,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text, item = new wxMenuItem( viewMenu, ID_ZOOM_OUT, text,
HELP_ZOOM_OUT, wxITEM_NORMAL ); HELP_ZOOM_OUT, wxITEM_NORMAL );
SETBITMAPS( zoom_out_xpm ); SET_BITMAP( zoom_out_xpm );
viewMenu->Append( item ); viewMenu->Append( item );
// Fit on Screen // Fit on Screen
...@@ -346,7 +346,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -346,7 +346,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( viewMenu, ID_ZOOM_PAGE, text, item = new wxMenuItem( viewMenu, ID_ZOOM_PAGE, text,
HELP_ZOOM_FIT, wxITEM_NORMAL ); HELP_ZOOM_FIT, wxITEM_NORMAL );
SETBITMAPS( zoom_fit_in_page_xpm ); SET_BITMAP( zoom_fit_in_page_xpm );
viewMenu->Append( item ); viewMenu->Append( item );
viewMenu->AppendSeparator(); viewMenu->AppendSeparator();
...@@ -358,7 +358,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -358,7 +358,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text, item = new wxMenuItem( viewMenu, ID_ZOOM_REDRAW, text,
HELP_ZOOM_REDRAW, HELP_ZOOM_REDRAW,
wxITEM_NORMAL ); wxITEM_NORMAL );
SETBITMAPS( zoom_redraw_xpm ); SET_BITMAP( zoom_redraw_xpm );
viewMenu->Append( item ); viewMenu->Append( item );
viewMenu->AppendSeparator(); viewMenu->AppendSeparator();
...@@ -366,14 +366,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -366,14 +366,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( viewMenu, ID_MENU_PCB_SHOW_3D_FRAME, item = new wxMenuItem( viewMenu, ID_MENU_PCB_SHOW_3D_FRAME,
_( "3D Display" ), _( "3D Display" ),
_( "Show board in 3D viewer" ) ); _( "Show board in 3D viewer" ) );
SETBITMAPS( show_3d_xpm ); SET_BITMAP( show_3d_xpm );
viewMenu->Append( item ); viewMenu->Append( item );
// List Nets // List Nets
item = new wxMenuItem( viewMenu, ID_MENU_LIST_NETS, item = new wxMenuItem( viewMenu, ID_MENU_LIST_NETS,
_( "&List Nets" ), _( "&List Nets" ),
_( "View a list of nets with names and id's" ) ); _( "View a list of nets with names and id's" ) );
SETBITMAPS( tools_xpm ); SET_BITMAP( tools_xpm );
viewMenu->Append( item ); viewMenu->Append( item );
...@@ -386,7 +386,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -386,7 +386,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( placeMenu, ID_PCB_MODULE_BUTT, text, item = new wxMenuItem( placeMenu, ID_PCB_MODULE_BUTT, text,
_( "Add modules" ), wxITEM_NORMAL ); _( "Add modules" ), wxITEM_NORMAL );
SETBITMAPS( module_xpm ); SET_BITMAP( module_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Track // Track
...@@ -395,42 +395,42 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -395,42 +395,42 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( placeMenu, ID_TRACK_BUTT, text, item = new wxMenuItem( placeMenu, ID_TRACK_BUTT, text,
_( "Add tracks and vias" ), wxITEM_NORMAL ); _( "Add tracks and vias" ), wxITEM_NORMAL );
SETBITMAPS( add_tracks_xpm ); SET_BITMAP( add_tracks_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Zone // Zone
item = new wxMenuItem( placeMenu, ID_PCB_ZONES_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_ZONES_BUTT,
_( "Zone" ), _( "Zone" ),
_( "Add filled zones" )); _( "Add filled zones" ));
SETBITMAPS( add_zone_xpm ); SET_BITMAP( add_zone_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Text // Text
item = new wxMenuItem( placeMenu, ID_PCB_ADD_TEXT_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_ADD_TEXT_BUTT,
_( "Text" ), _( "Text" ),
_( "Add text on copper layers or graphic text" ) ); _( "Add text on copper layers or graphic text" ) );
SETBITMAPS( add_text_xpm ); SET_BITMAP( add_text_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Graphic Arc // Graphic Arc
item = new wxMenuItem( placeMenu, ID_PCB_ARC_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_ARC_BUTT,
_( "Arc" ), _( "Arc" ),
_( "Add graphic arc" ) ); _( "Add graphic arc" ) );
SETBITMAPS( add_arc_xpm ); SET_BITMAP( add_arc_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Graphic Circle // Graphic Circle
item = new wxMenuItem( placeMenu, ID_PCB_CIRCLE_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_CIRCLE_BUTT,
_( "Circle" ), _( "Circle" ),
_( "Add graphic circle" )); _( "Add graphic circle" ));
SETBITMAPS( add_circle_xpm ); SET_BITMAP( add_circle_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Line or Polygon // Line or Polygon
item = new wxMenuItem( placeMenu, ID_PCB_ADD_LINE_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_ADD_LINE_BUTT,
_( "Line or Polygon" ), _( "Line or Polygon" ),
_( "Add graphic line or polygon" )); _( "Add graphic line or polygon" ));
SETBITMAPS( add_dashed_line_xpm ); SET_BITMAP( add_dashed_line_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
placeMenu->AppendSeparator(); placeMenu->AppendSeparator();
...@@ -438,14 +438,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -438,14 +438,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( placeMenu, ID_PCB_DIMENSION_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_DIMENSION_BUTT,
_( "Dimension" ), _( "Dimension" ),
_( "Add dimension" ) ); _( "Add dimension" ) );
SETBITMAPS( add_dimension_xpm ); SET_BITMAP( add_dimension_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Layer alignment target // Layer alignment target
item = new wxMenuItem( placeMenu, ID_PCB_MIRE_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_MIRE_BUTT,
_( "Layer alignment target" ), _( "Layer alignment target" ),
_( "Add layer alignment target" )); _( "Add layer alignment target" ));
SETBITMAPS( add_mires_xpm ); SET_BITMAP( add_mires_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
placeMenu->AppendSeparator(); placeMenu->AppendSeparator();
...@@ -453,14 +453,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -453,14 +453,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( placeMenu, ID_PCB_PLACE_OFFSET_COORD_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_PLACE_OFFSET_COORD_BUTT,
_( "Drill and Place Offset" ), _( "Drill and Place Offset" ),
_( "Place the origin point for drill and place files" )); _( "Place the origin point for drill and place files" ));
SETBITMAPS( pcb_offset_xpm ); SET_BITMAP( pcb_offset_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
// Grid Origin // Grid Origin
item = new wxMenuItem( placeMenu, ID_PCB_PLACE_GRID_COORD_BUTT, item = new wxMenuItem( placeMenu, ID_PCB_PLACE_GRID_COORD_BUTT,
_( "Grid Origin" ), _( "Grid Origin" ),
_( "Set the origin point for the grid" )); _( "Set the origin point for the grid" ));
SETBITMAPS( grid_select_axis_xpm ); SET_BITMAP( grid_select_axis_xpm );
placeMenu->Append( item ); placeMenu->Append( item );
...@@ -472,7 +472,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -472,7 +472,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( configmenu, ID_CONFIG_REQ, item = new wxMenuItem( configmenu, ID_CONFIG_REQ,
_( "&Library" ), _( "&Library" ),
_( "Setting libraries, directories and others..." ) ); _( "Setting libraries, directories and others..." ) );
SETBITMAPS( library_xpm ); SET_BITMAP( library_xpm );
configmenu->Append( item ); configmenu->Append( item );
// Colors and Visibility are also handled by the layers manager toolbar // Colors and Visibility are also handled by the layers manager toolbar
...@@ -480,7 +480,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -480,7 +480,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
m_show_layer_manager_tools ? m_show_layer_manager_tools ?
_( "Hide &Layers Manager" ) : _("Show &Layers Manager" ), _( "Hide &Layers Manager" ) : _("Show &Layers Manager" ),
HELP_SHOW_HIDE_LAYERMANAGER ); HELP_SHOW_HIDE_LAYERMANAGER );
SETBITMAPS( layers_manager_xpm ); SET_BITMAP( layers_manager_xpm );
configmenu->Append( item ); configmenu->Append( item );
// General // General
...@@ -493,14 +493,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -493,14 +493,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
#endif #endif
_( "Select general options for PCBnew" ) ); _( "Select general options for PCBnew" ) );
SETBITMAPS( preference_xpm ); SET_BITMAP( preference_xpm );
configmenu->Append( item ); configmenu->Append( item );
// Display // Display
item = new wxMenuItem( configmenu, ID_PCB_DISPLAY_OPTIONS_SETUP, item = new wxMenuItem( configmenu, ID_PCB_DISPLAY_OPTIONS_SETUP,
_( "&Display" ), _( "&Display" ),
_( "Select how items (pads, tracks texts ... ) are displayed" ) ); _( "Select how items (pads, tracks texts ... ) are displayed" ) );
SETBITMAPS( display_options_xpm ); SET_BITMAP( display_options_xpm );
configmenu->Append( item ); configmenu->Append( item );
// Create Dimensions submenu // Create Dimensions submenu
...@@ -510,28 +510,28 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -510,28 +510,28 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( dimensionsMenu, ID_PCB_USER_GRID_SETUP, item = new wxMenuItem( dimensionsMenu, ID_PCB_USER_GRID_SETUP,
_( "Grid" ), _( "Grid" ),
_( "Adjust user grid dimensions" ) ); _( "Adjust user grid dimensions" ) );
SETBITMAPS( grid_xpm ); SET_BITMAP( grid_xpm );
dimensionsMenu->Append( item ); dimensionsMenu->Append( item );
// Text and Drawings // Text and Drawings
item = new wxMenuItem( dimensionsMenu, ID_PCB_DRAWINGS_WIDTHS_SETUP, item = new wxMenuItem( dimensionsMenu, ID_PCB_DRAWINGS_WIDTHS_SETUP,
_( "Texts and Drawings" ), _( "Texts and Drawings" ),
_( "Adjust dimensions for texts and drawings" ) ); _( "Adjust dimensions for texts and drawings" ) );
SETBITMAPS( options_text_xpm ); SET_BITMAP( options_text_xpm );
dimensionsMenu->Append( item ); dimensionsMenu->Append( item );
// Pads // Pads
item = new wxMenuItem( dimensionsMenu, ID_PCB_PAD_SETUP, item = new wxMenuItem( dimensionsMenu, ID_PCB_PAD_SETUP,
_( "Pads" ), _( "Pads" ),
_( "Adjust default pad characteristics" ) ); _( "Adjust default pad characteristics" ) );
SETBITMAPS( pad_xpm ); SET_BITMAP( pad_xpm );
dimensionsMenu->Append( item ); dimensionsMenu->Append( item );
// Pads Mask Clearance // Pads Mask Clearance
item = new wxMenuItem( dimensionsMenu, ID_PCB_MASK_CLEARANCE, item = new wxMenuItem( dimensionsMenu, ID_PCB_MASK_CLEARANCE,
_( "Pads Mask Clearance" ), _( "Pads Mask Clearance" ),
_( "Adjust the global clearance between pads and the solder resist mask" ) ); _( "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 ); dimensionsMenu->Append( item );
...@@ -540,7 +540,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -540,7 +540,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( dimensionsMenu, ID_CONFIG_SAVE, item = new wxMenuItem( dimensionsMenu, ID_CONFIG_SAVE,
_( "&Save" ), _( "&Save" ),
_( "Save dimension preferences" ) ); _( "Save dimension preferences" ) );
SETBITMAPS( save_xpm ); SET_BITMAP( save_xpm );
dimensionsMenu->Append( item ); dimensionsMenu->Append( item );
// Append dimension menu to config menu // Append dimension menu to config menu
...@@ -560,14 +560,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -560,14 +560,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( configmenu, ID_CONFIG_SAVE, item = new wxMenuItem( configmenu, ID_CONFIG_SAVE,
_( "&Save Preferences" ), _( "&Save Preferences" ),
_( "Save application preferences" ) ); _( "Save application preferences" ) );
SETBITMAPS( save_setup_xpm ); SET_BITMAP( save_setup_xpm );
configmenu->Append( item ); configmenu->Append( item );
// Read Preferences // Read Preferences
item = new wxMenuItem( configmenu, ID_CONFIG_READ, item = new wxMenuItem( configmenu, ID_CONFIG_READ,
_( "&Read Preferences" ), _( "&Read Preferences" ),
_( "Read application preferences" ) ); _( "Read application preferences" ) );
SETBITMAPS( read_setup_xpm ); SET_BITMAP( read_setup_xpm );
configmenu->Append( item ); configmenu->Append( item );
...@@ -580,14 +580,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -580,14 +580,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( designRulesMenu, ID_MENU_PCB_SHOW_DESIGN_RULES_DIALOG, item = new wxMenuItem( designRulesMenu, ID_MENU_PCB_SHOW_DESIGN_RULES_DIALOG,
_( "Design Rules" ), _( "Design Rules" ),
_( "Open the design rules editor" ) ); _( "Open the design rules editor" ) );
SETBITMAPS( hammer_xpm ); SET_BITMAP( hammer_xpm );
designRulesMenu->Append( item ); designRulesMenu->Append( item );
// Layers Setup // Layers Setup
item = new wxMenuItem( configmenu, ID_PCB_LAYERS_SETUP, item = new wxMenuItem( configmenu, ID_PCB_LAYERS_SETUP,
_( "&Layers Setup" ), _( "&Layers Setup" ),
_( "Enable and set layer properties" ) ); _( "Enable and set layer properties" ) );
SETBITMAPS( copper_layers_setup_xpm ); SET_BITMAP( copper_layers_setup_xpm );
designRulesMenu->Append( item ); designRulesMenu->Append( item );
...@@ -602,14 +602,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() ...@@ -602,14 +602,14 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
item = new wxMenuItem( helpMenu, ID_GENERAL_HELP, item = new wxMenuItem( helpMenu, ID_GENERAL_HELP,
_( "&Contents" ), _( "&Contents" ),
_( "Open the on line PCBnew documentation" ) ); _( "Open the on line PCBnew documentation" ) );
SETBITMAPS( online_help_xpm ); SET_BITMAP( online_help_xpm );
helpMenu->Append( item ); helpMenu->Append( item );
// About // About
item = new wxMenuItem( helpMenu, wxID_ABOUT, item = new wxMenuItem( helpMenu, wxID_ABOUT,
_( "&About" ), _( "&About" ),
_( "About PCBnew printed circuit board designer" )); _( "About PCBnew printed circuit board designer" ));
SETBITMAPS( info_xpm ); SET_BITMAP( info_xpm );
helpMenu->Append( item ); helpMenu->Append( item );
......
...@@ -184,13 +184,13 @@ void PCB_BASE_FRAME::Import_Pad_Settings( D_PAD* aPad, bool aDraw ) ...@@ -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 ) void PCB_BASE_FRAME::AddPad( MODULE* Module, bool draw )
{ {
D_PAD* Pad; wxString lastPadName; // Last used pad name (pad num)
int rX, rY; lastPadName = g_Pad_Master.ReturnStringPadName();
m_Pcb->m_Status_Pcb = 0; m_Pcb->m_Status_Pcb = 0;
Module->m_LastEdit_Time = time( NULL ); 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. */ /* Add the new pad to end of the module pad list. */
Module->m_Pads.PushBack( Pad ); Module->m_Pads.PushBack( Pad );
...@@ -201,29 +201,27 @@ void PCB_BASE_FRAME::AddPad( MODULE* Module, bool draw ) ...@@ -201,29 +201,27 @@ void PCB_BASE_FRAME::AddPad( MODULE* Module, bool draw )
Pad->m_Pos = GetScreen()->GetCrossHairPosition(); Pad->m_Pos = GetScreen()->GetCrossHairPosition();
rX = Pad->m_Pos.x - Module->m_Pos.x; // Set the relative pad position
rY = Pad->m_Pos.y - Module->m_Pos.y; // ( 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 ); /* Automatically increment the current pad number. */
Pad->m_Pos0.x = rX;
Pad->m_Pos0.y = rY;
/* Automatically increment the current pad number and name. */
long num = 0; long num = 0;
int ponder = 1; int ponder = 1;
while( g_Current_PadName.Len() && g_Current_PadName.Last() >= '0' while( lastPadName.Len() && lastPadName.Last() >= '0'
&& g_Current_PadName.Last() <= '9' ) && lastPadName.Last() <= '9' )
{ {
num += ( g_Current_PadName.Last() - '0' ) * ponder; num += ( lastPadName.Last() - '0' ) * ponder;
g_Current_PadName.RemoveLast(); lastPadName.RemoveLast();
ponder *= 10; ponder *= 10;
} }
num++; num++; // Use next number for the new pad
g_Current_PadName << num; lastPadName << num;
Pad->SetPadName( g_Current_PadName ); Pad->SetPadName( lastPadName );
g_Pad_Master.SetPadName(lastPadName);
Module->Set_Rectangle_Encadrement(); Module->Set_Rectangle_Encadrement();
Pad->DisplayInfo( this ); Pad->DisplayInfo( this );
......
...@@ -32,8 +32,6 @@ static bool InitialiseDragParameters(); ...@@ -32,8 +32,6 @@ static bool InitialiseDragParameters();
static wxPoint PosInit, s_LastPos; static wxPoint PosInit, s_LastPos;
static TRACK* NewTrack; /* New track or track being moved. */ static TRACK* NewTrack; /* New track or track being moved. */
static int NbPtNewTrack; static int NbPtNewTrack;
static int Old_HighLigth_NetCode;
static bool Old_HighLigt_Status;
static double s_StartSegmentSlope, s_EndSegmentSlope, static double s_StartSegmentSlope, s_EndSegmentSlope,
s_MovingSegmentSlope, s_MovingSegmentSlope,
s_StartSegment_Yorg, s_EndSegment_Yorg, s_StartSegment_Yorg, s_EndSegment_Yorg,
...@@ -54,6 +52,7 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC ) ...@@ -54,6 +52,7 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
{ {
TRACK* NextS; TRACK* NextS;
int ii; int ii;
BOARD * pcb = ( (PCB_EDIT_FRAME*) Panel->GetParent() )->GetBoard();
/* Erase the current drawings */ /* Erase the current drawings */
wxPoint oldpos = Panel->GetScreen()->GetCrossHairPosition(); wxPoint oldpos = Panel->GetScreen()->GetCrossHairPosition();
...@@ -64,10 +63,8 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC ) ...@@ -64,10 +63,8 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
Panel->m_mouseCaptureCallback( Panel, DC, wxDefaultPosition, true ); Panel->m_mouseCaptureCallback( Panel, DC, wxDefaultPosition, true );
Panel->GetScreen()->SetCrossHairPosition( oldpos ); Panel->GetScreen()->SetCrossHairPosition( oldpos );
g_HighLight_Status = false; pcb->HightLightOFF();
( (PCB_EDIT_FRAME*) Panel->GetParent() )->GetBoard()->DrawHighLight( Panel, pcb->DrawHighLight( Panel, DC, pcb->GetHightLightNetCode() );
DC,
g_HighLight_NetCode );
if( NewTrack ) if( NewTrack )
{ {
...@@ -122,11 +119,10 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC ) ...@@ -122,11 +119,10 @@ static void Abort_MoveTrack( EDA_DRAW_PANEL* Panel, wxDC* DC )
// Clear the undo picker list: // Clear the undo picker list:
s_ItemsListPicker.ClearListAndDeleteItems(); s_ItemsListPicker.ClearListAndDeleteItems();
g_HighLight_NetCode = Old_HighLigth_NetCode; pcb->PopHightLight();
g_HighLight_Status = Old_HighLigt_Status;
if( g_HighLight_Status ) if( pcb->IsHightLightNetON() )
( (PCB_EDIT_FRAME*) Panel->GetParent() )->GetBoard()->DrawHighLight( pcb->DrawHighLight( Panel, DC, pcb->GetHightLightNetCode() );
Panel, DC, g_HighLight_NetCode );
EraseDragList(); EraseDragList();
Panel->SetMouseCapture( NULL, NULL ); Panel->SetMouseCapture( NULL, NULL );
...@@ -665,9 +661,9 @@ void PCB_EDIT_FRAME::Start_MoveOneNodeOrSegment( TRACK* track, wxDC* DC, int com ...@@ -665,9 +661,9 @@ void PCB_EDIT_FRAME::Start_MoveOneNodeOrSegment( TRACK* track, wxDC* DC, int com
EraseDragList(); EraseDragList();
/* Change highlighted net: the new one will be highlighted */ /* Change highlighted net: the new one will be highlighted */
Old_HighLigt_Status = g_HighLight_Status; GetBoard()->PushHightLight();
Old_HighLigth_NetCode = g_HighLight_NetCode;
if( g_HighLight_Status ) if( GetBoard()->IsHightLightNetON() )
High_Light( DC ); High_Light( DC );
PosInit = GetScreen()->GetCrossHairPosition(); PosInit = GetScreen()->GetCrossHairPosition();
...@@ -738,10 +734,10 @@ void PCB_EDIT_FRAME::Start_MoveOneNodeOrSegment( TRACK* track, wxDC* DC, int com ...@@ -738,10 +734,10 @@ void PCB_EDIT_FRAME::Start_MoveOneNodeOrSegment( TRACK* track, wxDC* DC, int com
s_LastPos = PosInit; s_LastPos = PosInit;
DrawPanel->SetMouseCapture( Show_MoveNode, Abort_MoveTrack ); DrawPanel->SetMouseCapture( Show_MoveNode, Abort_MoveTrack );
g_HighLight_NetCode = track->GetNet(); GetBoard()->SetHightLightNet( track->GetNet() );
g_HighLight_Status = true; GetBoard()->HightLightON();
GetBoard()->DrawHighLight( DrawPanel, DC, g_HighLight_NetCode ); GetBoard()->DrawHighLight( DrawPanel, DC, GetBoard()->GetHightLightNetCode() );
DrawPanel->m_mouseCaptureCallback( DrawPanel, DC, wxDefaultPosition, true ); DrawPanel->m_mouseCaptureCallback( DrawPanel, DC, wxDefaultPosition, true );
} }
...@@ -902,9 +898,8 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC ...@@ -902,9 +898,8 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC
s_EndSegmentPresent = false; s_EndSegmentPresent = false;
/* Change high light net: the new one will be highlighted */ /* Change high light net: the new one will be highlighted */
Old_HighLigt_Status = g_HighLight_Status; GetBoard()->PushHightLight();
Old_HighLigth_NetCode = g_HighLight_NetCode; if( GetBoard()->IsHightLightNetON() )
if( g_HighLight_Status )
High_Light( DC ); High_Light( DC );
EraseDragList(); EraseDragList();
...@@ -938,9 +933,9 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC ...@@ -938,9 +933,9 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC
s_LastPos = GetScreen()->GetCrossHairPosition(); s_LastPos = GetScreen()->GetCrossHairPosition();
DrawPanel->SetMouseCapture( Show_Drag_Track_Segment_With_Cte_Slope, Abort_MoveTrack ); DrawPanel->SetMouseCapture( Show_Drag_Track_Segment_With_Cte_Slope, Abort_MoveTrack );
g_HighLight_NetCode = track->GetNet(); GetBoard()->SetHightLightNet( track->GetNet() );
g_HighLight_Status = true; GetBoard()->HightLightON();
GetBoard()->DrawHighLight( DrawPanel, DC, g_HighLight_NetCode ); GetBoard()->DrawHighLight( DrawPanel, DC, GetBoard()->GetHightLightNetCode() );
// Prepare the Undo command // Prepare the Undo command
ITEM_PICKER picker( NULL, UR_CHANGED ); ITEM_PICKER picker( NULL, UR_CHANGED );
......
...@@ -61,7 +61,6 @@ int g_MagneticTrackOption = capture_cursor_in_track_tool; ...@@ -61,7 +61,6 @@ int g_MagneticTrackOption = capture_cursor_in_track_tool;
int g_HighLight_NetCode = -1; int g_HighLight_NetCode = -1;
wxPoint g_Offset_Module; /* Offset de trace du modul en depl */ 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 // Wildcard for footprint libraries filesnames
const wxString g_FootprintLibFileWildcard( wxT( "Kicad footprint library file (*.mod)|*.mod" ) ); const wxString g_FootprintLibFileWildcard( wxT( "Kicad footprint library file (*.mod)|*.mod" ) );
......
...@@ -69,14 +69,8 @@ extern bool g_TwoSegmentTrackBuild; ...@@ -69,14 +69,8 @@ extern bool g_TwoSegmentTrackBuild;
extern int g_MagneticPadOption; extern int g_MagneticPadOption;
extern int g_MagneticTrackOption; 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 wxPoint g_Offset_Module; /* Offset de trace du modul en depl */
extern wxString g_Current_PadName; // Last used pad name (pad num)
enum MagneticPadOptionValues { enum MagneticPadOptionValues {
no_effect, no_effect,
......
...@@ -3,9 +3,7 @@ ...@@ -3,9 +3,7 @@
/*******************/ /*******************/
#include "fctsys.h" #include "fctsys.h"
#include "gr_basic.h"
#include "class_drawpanel.h" #include "class_drawpanel.h"
#include "confirm.h"
#include "kicad_string.h" #include "kicad_string.h"
#include "pcbnew.h" #include "pcbnew.h"
...@@ -80,10 +78,10 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event ) ...@@ -80,10 +78,10 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event )
{ {
INSTALL_UNBUFFERED_DC( dc, DrawPanel ); INSTALL_UNBUFFERED_DC( dc, DrawPanel );
if( g_HighLight_Status ) if( GetBoard()->IsHightLightNetON() )
High_Light( &dc ); High_Light( &dc );
g_HighLight_NetCode = netcode; GetBoard()->SetHightLightNet( netcode );
High_Light( &dc ); High_Light( &dc );
} }
} }
...@@ -94,7 +92,8 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event ) ...@@ -94,7 +92,8 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event )
*/ */
int PCB_EDIT_FRAME::Select_High_Light( wxDC* DC ) int PCB_EDIT_FRAME::Select_High_Light( wxDC* DC )
{ {
if( g_HighLight_Status ) int netcode = -1;
if( GetBoard()->IsHightLightNetON() )
High_Light( DC ); High_Light( DC );
// use this scheme because a pad is a higher priority than a track in the // 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 ) ...@@ -115,33 +114,35 @@ int PCB_EDIT_FRAME::Select_High_Light( wxDC* DC )
switch( item->Type() ) switch( item->Type() )
{ {
case TYPE_PAD: case TYPE_PAD:
g_HighLight_NetCode = ( (D_PAD*) item )->GetNet(); netcode = ( (D_PAD*) item )->GetNet();
High_Light( DC );
SendMessageToEESCHEMA( item ); SendMessageToEESCHEMA( item );
return g_HighLight_NetCode; break;
case TYPE_TRACK: case TYPE_TRACK:
case TYPE_VIA: case TYPE_VIA:
case TYPE_ZONE: case TYPE_ZONE:
// since these classes are all derived from TRACK, use a common // since these classes are all derived from TRACK, use a common
// GetNet() function: // GetNet() function:
g_HighLight_NetCode = ( (TRACK*) item )->GetNet(); netcode = ( (TRACK*) item )->GetNet();
High_Light( DC ); break;
return g_HighLight_NetCode;
case TYPE_ZONE_CONTAINER: case TYPE_ZONE_CONTAINER:
g_HighLight_NetCode = ( (ZONE_CONTAINER*) item )->GetNet(); netcode = ( (ZONE_CONTAINER*) item )->GetNet();
High_Light( DC ); break;
return g_HighLight_NetCode;
default: default:
; // until somebody changes GENERAL_COLLECTOR::PadsOrTracks, ; // until somebody changes GENERAL_COLLECTOR::PadsOrTracks,
// this should not happen. // 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 ) ...@@ -152,7 +153,10 @@ int PCB_EDIT_FRAME::Select_High_Light( wxDC* DC )
*/ */
void PCB_EDIT_FRAME::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, ...@@ -198,8 +198,8 @@ void BOARD::Draw( EDA_DRAW_PANEL* aPanel, wxDC* DC,
} }
// @todo: this high-light functionality could be built into me. // @todo: this high-light functionality could be built into me.
if( g_HighLight_Status ) if( IsHightLightNetON() )
DrawHighLight( aPanel, DC, g_HighLight_NetCode ); DrawHighLight( aPanel, DC, GetHightLightNetCode() );
// draw the BOARD's markers last, otherwise the high light will erase // draw the BOARD's markers last, otherwise the high light will erase
// any marker on a pad // any marker on a pad
...@@ -214,22 +214,11 @@ void BOARD::DrawHighLight( EDA_DRAW_PANEL* aDrawPanel, wxDC* DC, int aNetCode ) ...@@ -214,22 +214,11 @@ void BOARD::DrawHighLight( EDA_DRAW_PANEL* aDrawPanel, wxDC* DC, int aNetCode )
{ {
int draw_mode; int draw_mode;
if( g_HighLight_Status ) if( IsHightLightNetON() )
draw_mode = GR_SURBRILL | GR_OR; draw_mode = GR_SURBRILL | GR_OR;
else else
draw_mode = GR_AND | GR_SURBRILL; 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 // Redraw ZONE_CONTAINERS
BOARD::ZONE_CONTAINERS& zones = m_ZoneDescriptorList; BOARD::ZONE_CONTAINERS& zones = m_ZoneDescriptorList;
for( BOARD::ZONE_CONTAINERS::iterator zc = zones.begin(); zc!=zones.end(); ++zc ) 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 ) ...@@ -241,7 +230,7 @@ void BOARD::DrawHighLight( EDA_DRAW_PANEL* aDrawPanel, wxDC* DC, int aNetCode )
} }
// Redraw any pads that have 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() ) for( D_PAD* pad = module->m_Pads; pad; pad = pad->Next() )
{ {
......
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: zones_by_polygon.cpp // Name: zones_by_polygon.cpp
// Licence: GPL License // Licence: GPL License
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
...@@ -172,12 +171,13 @@ void PCB_EDIT_FRAME::Start_Move_Zone_Corner( wxDC* DC, ZONE_CONTAINER* zone_cont ...@@ -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( zone_container->IsOnCopperLayer() ) /* Show the Net */
{ {
if( g_HighLight_Status && DC ) if( GetBoard()->IsHightLightNetON() && DC )
{ {
High_Light( DC ); // Remove old hightlight selection 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 ) if( DC )
High_Light( DC ); High_Light( DC );
} }
...@@ -246,12 +246,13 @@ void PCB_EDIT_FRAME::Start_Move_Zone_Outlines( wxDC* DC, ZONE_CONTAINER* zone_co ...@@ -246,12 +246,13 @@ void PCB_EDIT_FRAME::Start_Move_Zone_Outlines( wxDC* DC, ZONE_CONTAINER* zone_co
/* Show the Net */ /* Show the Net */
if( zone_container->IsOnCopperLayer() ) /* Show the Net */ if( zone_container->IsOnCopperLayer() ) /* Show the Net */
{ {
if( g_HighLight_Status ) if( GetBoard()->IsHightLightNetON() )
{ {
High_Light( DC ); // Remove old hightlight selection 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 ); High_Light( DC );
} }
...@@ -507,9 +508,10 @@ int PCB_EDIT_FRAME::Begin_Zone( wxDC* DC ) ...@@ -507,9 +508,10 @@ int PCB_EDIT_FRAME::Begin_Zone( wxDC* DC )
DrawPanel->m_IgnoreMouseEvents = TRUE; DrawPanel->m_IgnoreMouseEvents = TRUE;
if( zone->IsOnCopperLayer() ) if( zone->IsOnCopperLayer() )
{ // Put a zone on a copper layer { // 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->SetNet( g_Zone_Default_Setting.m_NetcodeSelection );
zone->SetNetNameFromNetCode( ); zone->SetNetNameFromNetCode( );
} }
...@@ -550,12 +552,12 @@ int PCB_EDIT_FRAME::Begin_Zone( wxDC* DC ) ...@@ -550,12 +552,12 @@ int PCB_EDIT_FRAME::Begin_Zone( wxDC* DC )
{ {
if( s_CurrentZone ) if( s_CurrentZone )
g_Zone_Default_Setting.m_NetcodeSelection = s_CurrentZone->GetNet(); g_Zone_Default_Setting.m_NetcodeSelection = s_CurrentZone->GetNet();
if( g_HighLight_Status ) if( GetBoard()->IsHightLightNetON() )
{ {
High_Light( DC ); // Remove old hightlight selection 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 ); High_Light( DC );
} }
if( !s_AddCutoutToCurrentZone ) if( !s_AddCutoutToCurrentZone )
......
release version: release version:
2011 apr 01 2011 apr 05
files (.zip,.tgz): files (.zip,.tgz):
kicad-2011-04-01 kicad-2011-04-05
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment