4 changed files with 5 additions and 64 deletions
-
3common/jobs/job_export_pcb_gerbers.cpp
-
2common/jobs/job_export_pcb_gerbers.h
-
58common/jobs/lset_json.h
-
6pcbnew/pcbnew_jobs_handler.cpp
@ -1,58 +0,0 @@ |
|||||
/* |
|
||||
* This program source code file is part of KiCad, a free EDA CAD application. |
|
||||
* |
|
||||
* Copyright (C) 2024 Mark Roszko <mark.roszko@gmail.com> |
|
||||
* Copyright The KiCad Developers, see AUTHORS.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 3 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, see <http://www.gnu.org/licenses/>. |
|
||||
*/ |
|
||||
|
|
||||
#include <lset.h> |
|
||||
#include <nlohmann/json_fwd.hpp> |
|
||||
|
|
||||
|
|
||||
void to_json( nlohmann::json& aJson, const LSET& aLset ) |
|
||||
{ |
|
||||
nlohmann::json layers = nlohmann::json::array(); |
|
||||
|
|
||||
for( PCB_LAYER_ID layer : aLset.Seq() ) |
|
||||
layers.push_back( LSET::Name( layer ) ); |
|
||||
|
|
||||
aJson = layers; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
void from_json( const nlohmann::json& aJson, LSET& aLset ) |
|
||||
{ |
|
||||
if( aJson.is_array() ) |
|
||||
{ |
|
||||
aLset.clear(); |
|
||||
|
|
||||
for( const nlohmann::json& layer : aJson ) |
|
||||
{ |
|
||||
if( layer.is_string() ) |
|
||||
{ |
|
||||
wxString name = layer.get<wxString>(); |
|
||||
int layerId = LSET::NameToLayer( name ); |
|
||||
if( layerId != UNDEFINED_LAYER ) |
|
||||
aLset.set( layerId ); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
else if( aJson.is_string() ) |
|
||||
{ |
|
||||
// Allow hex strings to be parsed into LSETs |
|
||||
aLset.ParseHex( aJson.get<std::string>() ); |
|
||||
} |
|
||||
} |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue