From aa35045840b78d3f48212db45da59a2e5c69b223 Mon Sep 17 00:00:00 2001 From: saurabhb17 Date: Wed, 26 Feb 2020 15:57:49 +0530 Subject: Added main execs --- gerbview/class_gbr_layer_box_selector.cpp | 81 +++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 gerbview/class_gbr_layer_box_selector.cpp (limited to 'gerbview/class_gbr_layer_box_selector.cpp') diff --git a/gerbview/class_gbr_layer_box_selector.cpp b/gerbview/class_gbr_layer_box_selector.cpp new file mode 100644 index 0000000..f148306 --- /dev/null +++ b/gerbview/class_gbr_layer_box_selector.cpp @@ -0,0 +1,81 @@ +/** + * @file class_gbr_layer_box_selector.cpp + * @brief a derived class of LAYER_BOX_SELECTOR to handle the layer box selector + * in GerbView + */ + +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 1992-2012 Jean-Pierre Charras + * Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck + * Copyright (C) 1992-2012 KiCad Developers, see change_log.txt for contributors. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include +#include +#include +#include +#include + +#include + +void GBR_LAYER_BOX_SELECTOR::Resync() +{ + Freeze(); + Clear(); + + for( int layerid = 0; layerid < GERBER_DRAWLAYERS_COUNT; ++layerid ) + { + wxBitmap layerbmp( 14, 14 ); + wxString layername; + + if( !IsLayerEnabled( layerid ) ) + continue; + + // Prepare Bitmap + SetBitmapLayer( layerbmp, layerid ); + + layername = GetLayerName( layerid ); + + Append( layername, layerbmp, (void*)(intptr_t) layerid ); + } + + Thaw(); +} + + +// Returns a color index from the layer id +EDA_COLOR_T GBR_LAYER_BOX_SELECTOR::GetLayerColor( int aLayer ) const +{ + GERBVIEW_FRAME* frame = (GERBVIEW_FRAME*) GetParent()->GetParent(); + + return frame->GetLayerColor( aLayer ); +} + + +// Returns the name of the layer id +wxString GBR_LAYER_BOX_SELECTOR::GetLayerName( int aLayer ) const +{ + wxString name = g_GERBER_List.GetDisplayName( aLayer ); + + return name; +} -- cgit