Rework on env. variable KISYS3DMOD. Until now, was used in different files using different ways, so no consistency between files.
code cleanup.
This commit is contained in:
parent
f0391648e3
commit
5a38d2b657
|
@ -77,7 +77,7 @@ const wxString S3D_MASTER::GetShape3DFullFilename()
|
||||||
return shapeName;
|
return shapeName;
|
||||||
|
|
||||||
wxString default_path;
|
wxString default_path;
|
||||||
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
|
wxGetEnv( KISYS3DMOD, &default_path );
|
||||||
|
|
||||||
if( default_path.IsEmpty() )
|
if( default_path.IsEmpty() )
|
||||||
return shapeName;
|
return shapeName;
|
||||||
|
|
|
@ -40,13 +40,18 @@
|
||||||
#include <3d_struct.h>
|
#include <3d_struct.h>
|
||||||
#include <info3d_visu.h>
|
#include <info3d_visu.h>
|
||||||
|
|
||||||
#define KISYS3DMOD "KISYS3DMOD"
|
/// A variable name whose value holds the path of 3D shape files.
|
||||||
|
/// Currently an environment variable, eventually a project variable.
|
||||||
|
#define KISYS3DMOD wxT( "KISYS3DMOD" )
|
||||||
|
|
||||||
|
/// All 3D files are expected to be stored in LIB3D_FOLDER, or one of
|
||||||
|
/// its subdirectory.
|
||||||
|
#define LIB3D_FOLDER wxT( "packages3d" )
|
||||||
|
|
||||||
class EDA_3D_CANVAS;
|
class EDA_3D_CANVAS;
|
||||||
class PCB_BASE_FRAME;
|
class PCB_BASE_FRAME;
|
||||||
|
|
||||||
#define KICAD_DEFAULT_3D_DRAWFRAME_STYLE (wxDEFAULT_FRAME_STYLE | wxWANTS_CHARS)
|
#define KICAD_DEFAULT_3D_DRAWFRAME_STYLE (wxDEFAULT_FRAME_STYLE | wxWANTS_CHARS)
|
||||||
#define LIB3D_PATH wxT( "packages3d" )
|
|
||||||
|
|
||||||
|
|
||||||
class EDA_3D_FRAME : public KIWAY_PLAYER
|
class EDA_3D_FRAME : public KIWAY_PLAYER
|
||||||
|
|
|
@ -23,49 +23,128 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file contains the global constants and variables used in the PCB
|
* This file contains some functions used in the PCB
|
||||||
* applications Pcbnew, CvPcb, and GervView. The goal of this was to
|
* applications Pcbnew and CvPcb.
|
||||||
* unobfuscate the original header file design that made it very difficult
|
|
||||||
* to figure out where these variables lived. Ideally, they should be pushed
|
|
||||||
* back into the application layer.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
|
#include <pgm_base.h>
|
||||||
|
#include <kiface_i.h>
|
||||||
|
|
||||||
#include <pcbcommon.h>
|
#include <pcbcommon.h>
|
||||||
#include <plot_common.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_pad.h>
|
#include <3d_viewer.h>
|
||||||
#include <class_zone_settings.h>
|
|
||||||
#include <class_board_design_settings.h>
|
|
||||||
|
|
||||||
|
|
||||||
class MODULE;
|
|
||||||
|
|
||||||
|
|
||||||
DISPLAY_OPTIONS DisplayOpt; // Display options for board items
|
|
||||||
|
|
||||||
int g_AnchorColor = BLUE;
|
|
||||||
int g_ModuleTextCMPColor = LIGHTGRAY;
|
|
||||||
int g_ModuleTextCUColor = MAGENTA;
|
|
||||||
int g_ModuleTextNOVColor = DARKGRAY;
|
|
||||||
int g_PadCUColor = GREEN;
|
|
||||||
int g_PadCMPColor = RED;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used in track creation, a list of track segments currently being created,
|
* attempts to set the environment variable given by aKiSys3Dmod to a valid path.
|
||||||
* with the newest track at the end of the list, sorted by new-ness. e.g. use
|
* (typically "KISYS3DMOD" )
|
||||||
* TRACK->Back() to get the next older track, TRACK->Next() to get the next
|
* If the environment variable is already set, then it left as is to respect
|
||||||
* newer track.
|
* the wishes of the user.
|
||||||
|
*
|
||||||
|
* The path is determined by attempting to find the path modules/packages3d
|
||||||
|
* files in kicad tree.
|
||||||
|
* This may or may not be the best path but it provides the best solution for
|
||||||
|
* backwards compatibility with the previous 3D shapes search path implementation.
|
||||||
|
*
|
||||||
|
* @note This must be called after #SetBinDir() is called at least on Windows.
|
||||||
|
* Otherwise, the kicad path is not known (Windows specific)
|
||||||
|
*
|
||||||
|
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
|
||||||
|
* @param aProcess = the current process
|
||||||
|
* @return false if the aKiSys3Dmod path is not valid.
|
||||||
*/
|
*/
|
||||||
DLIST<TRACK> g_CurrentTrackList;
|
bool Set3DShapesDefaultPath( const wxString& aKiSys3Dmod, const PGM_BASE* aProcess )
|
||||||
|
|
||||||
void AccumulateDescription( wxString &aDesc, const wxString &aItem )
|
|
||||||
{
|
{
|
||||||
if( !aDesc.IsEmpty() )
|
wxString path;
|
||||||
aDesc << wxT(", ");
|
|
||||||
aDesc << aItem;
|
// Set the KISYS3DMOD environment variable for the current process,
|
||||||
|
// if it is not already defined in the user's environment and valid.
|
||||||
|
if( wxGetEnv( aKiSys3Dmod, &path ) && wxFileName::DirExists( path ) )
|
||||||
|
return true;
|
||||||
|
|
||||||
|
#if 1
|
||||||
|
// Try to find a valid path is standard KiCad paths
|
||||||
|
SEARCH_STACK& search = Kiface().KifaceSearch();
|
||||||
|
path = search.FindValidPath( LIB3D_FOLDER );
|
||||||
|
|
||||||
|
if( !path.IsEmpty() )
|
||||||
|
{
|
||||||
|
wxSetEnv( aKiSys3Dmod, path );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Attempt to determine where the 3D shape libraries were installed using the
|
||||||
|
// legacy path:
|
||||||
|
// on Unix: /usr/local/kicad/share/modules/packages3d
|
||||||
|
// or /usr/share/kicad/modules/packages3d
|
||||||
|
// On Windows: bin../share/modules/packages3d
|
||||||
|
wxString relpath( wxT( "modules/" ) );
|
||||||
|
relpath += LIB3D_FOLDER;
|
||||||
|
|
||||||
|
// Apple MacOSx
|
||||||
|
#ifdef __WXMAC__
|
||||||
|
path = wxT("/Library/Application Support/kicad/modules/packages3d/");
|
||||||
|
|
||||||
|
if( wxFileName::DirExists( path ) )
|
||||||
|
{
|
||||||
|
wxSetEnv( aKiSys3Dmod, path );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
path = wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT("/Library/Application Support/kicad/modules/packages3d/");
|
||||||
|
|
||||||
|
if( wxFileName::DirExists( path ) )
|
||||||
|
{
|
||||||
|
wxSetEnv( aKiSys3Dmod, path );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(__UNIX__) // Linux and non-Apple Unix
|
||||||
|
// Try the home directory:
|
||||||
|
path.Empty();
|
||||||
|
wxGetEnv( wxT("HOME"), &path );
|
||||||
|
path += wxT("/kicad/share/") + relpath;
|
||||||
|
|
||||||
|
if( wxFileName::DirExists( path ) )
|
||||||
|
{
|
||||||
|
wxSetEnv( aKiSys3Dmod, path );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try the standard install path:
|
||||||
|
path = wxT("/usr/local/kicad/share/") + relpath;
|
||||||
|
|
||||||
|
if( wxFileName::DirExists( path ) )
|
||||||
|
{
|
||||||
|
wxSetEnv( aKiSys3Dmod, path );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try the official distrib standard install path:
|
||||||
|
path = wxT("/usr/share/kicad/") + relpath;
|
||||||
|
|
||||||
|
if( wxFileName::DirExists( path ) )
|
||||||
|
{
|
||||||
|
wxSetEnv( aKiSys3Dmod, path );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else // Windows
|
||||||
|
// On Windows, the install path is given by the path of executables
|
||||||
|
wxFileName fn;
|
||||||
|
fn.AssignDir( aProcess->GetExecutablePath() );
|
||||||
|
fn.RemoveLastDir();
|
||||||
|
path = fn.GetPathWithSep() + wxT("share/") + relpath;
|
||||||
|
|
||||||
|
if( wxFileName::DirExists( path ) )
|
||||||
|
{
|
||||||
|
wxSetEnv( aKiSys3Dmod, path );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <gr_basic.h>
|
|
||||||
#include <pgm_base.h>
|
#include <pgm_base.h>
|
||||||
#include <project.h>
|
#include <project.h>
|
||||||
#include <common.h> // NAMELESS_PROJECT
|
#include <common.h> // NAMELESS_PROJECT
|
||||||
|
|
|
@ -53,6 +53,8 @@
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
|
|
||||||
|
|
||||||
|
DISPLAY_OPTIONS DisplayOpt; // General display options
|
||||||
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( DISPLAY_FOOTPRINTS_FRAME, PCB_BASE_FRAME )
|
BEGIN_EVENT_TABLE( DISPLAY_FOOTPRINTS_FRAME, PCB_BASE_FRAME )
|
||||||
EVT_CLOSE( DISPLAY_FOOTPRINTS_FRAME::OnCloseWindow )
|
EVT_CLOSE( DISPLAY_FOOTPRINTS_FRAME::OnCloseWindow )
|
||||||
|
|
117
cvpcb/cvpcb.cpp
117
cvpcb/cvpcb.cpp
|
@ -1,8 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2007 Jean-Pierre Charras, jp..charras at wanadoo.fr
|
||||||
* Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 2014 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||||
|
* Copyright (C) 1992-2014 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
|
@ -29,12 +30,12 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <fp_lib_table.h>
|
#include <fp_lib_table.h>
|
||||||
#include <gr_basic.h>
|
|
||||||
#include <kiface_i.h>
|
#include <kiface_i.h>
|
||||||
#include <pgm_base.h>
|
#include <pgm_base.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <gestfich.h>
|
#include <3d_viewer.h>
|
||||||
|
#include <pcbcommon.h>
|
||||||
|
|
||||||
#include <cvpcb.h>
|
#include <cvpcb.h>
|
||||||
#include <zones.h>
|
#include <zones.h>
|
||||||
|
@ -50,13 +51,11 @@
|
||||||
COLORS_DESIGN_SETTINGS g_ColorsSettings;
|
COLORS_DESIGN_SETTINGS g_ColorsSettings;
|
||||||
|
|
||||||
// Constant string definitions for CvPcb
|
// Constant string definitions for CvPcb
|
||||||
const wxString RetroFileExtension( wxT( "stf" ) );
|
|
||||||
const wxString FootprintAliasFileExtension( wxT( "equ" ) );
|
const wxString FootprintAliasFileExtension( wxT( "equ" ) );
|
||||||
|
|
||||||
// Wildcard for schematic retroannotation (import footprint names in schematic):
|
// Wildcard for schematic retroannotation (import footprint names in schematic):
|
||||||
const wxString FootprintAliasFileWildcard( _( "KiCad footprint alias files (*.equ)|*.equ" ) );
|
const wxString FootprintAliasFileWildcard( _( "KiCad footprint alias files (*.equ)|*.equ" ) );
|
||||||
|
|
||||||
|
|
||||||
#if 0 // add this logic to OpenProjectFiles()
|
#if 0 // add this logic to OpenProjectFiles()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -165,106 +164,6 @@ PGM_BASE& Pgm()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function set3DShapesPath
|
|
||||||
* attempts to set the environment variable given by aKiSys3Dmod to a valid path.
|
|
||||||
* (typically "KISYS3DMOD" )
|
|
||||||
* If the environment variable is already set,
|
|
||||||
* then it left as is to respect the wishes of the user.
|
|
||||||
*
|
|
||||||
* The path is determined by attempting to find the path modules/packages3d
|
|
||||||
* files in kicad tree.
|
|
||||||
* This may or may not be the best path but it provides the best solution for
|
|
||||||
* backwards compatibility with the previous 3D shapes search path implementation.
|
|
||||||
*
|
|
||||||
* @note This must be called after #SetBinDir() is called at least on Windows.
|
|
||||||
* Otherwise, the kicad path is not known (Windows specific)
|
|
||||||
*
|
|
||||||
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
|
|
||||||
* @return false if the aKiSys3Dmod path is not valid.
|
|
||||||
*/
|
|
||||||
static bool set3DShapesPath( const wxString& aKiSys3Dmod )
|
|
||||||
{
|
|
||||||
wxString path;
|
|
||||||
|
|
||||||
// Set the KISYS3DMOD environment variable for the current process,
|
|
||||||
// if it is not already defined in the user's environment and valid.
|
|
||||||
if( wxGetEnv( aKiSys3Dmod, &path ) && wxFileName::DirExists( path ) )
|
|
||||||
return true;
|
|
||||||
|
|
||||||
// Attempt to determine where the 3D shape libraries were installed using the
|
|
||||||
// legacy path:
|
|
||||||
// on Unix: /usr/local/kicad/share/modules/packages3d
|
|
||||||
// or /usr/share/kicad/modules/packages3d
|
|
||||||
// On Windows: bin../share/modules/packages3d
|
|
||||||
wxString relpath( wxT( "modules/packages3d" ) );
|
|
||||||
|
|
||||||
// Apple MacOSx
|
|
||||||
#ifdef __WXMAC__
|
|
||||||
path = wxT("/Library/Application Support/kicad/modules/packages3d/");
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
path = wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT("/Library/Application Support/kicad/modules/packages3d/");
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(__UNIX__) // Linux and non-Apple Unix
|
|
||||||
// Try the home directory:
|
|
||||||
path.Empty();
|
|
||||||
wxGetEnv( wxT("HOME"), &path );
|
|
||||||
path += wxT("/kicad/share/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try the standard install path:
|
|
||||||
path = wxT("/usr/local/kicad/share/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try the official distrib standard install path:
|
|
||||||
path = wxT("/usr/share/kicad/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else // Windows
|
|
||||||
// On Windows, the install path is given by the path of executables
|
|
||||||
wxFileName fn;
|
|
||||||
fn.AssignDir( Pgm().GetExecutablePath() );
|
|
||||||
fn.RemoveLastDir();
|
|
||||||
path = fn.GetPathWithSep() + wxT("share/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//!!!!!!!!!!!!!!! This code is obsolete because of the merge into pcbnew, don't bother with it.
|
//!!!!!!!!!!!!!!! This code is obsolete because of the merge into pcbnew, don't bother with it.
|
||||||
|
|
||||||
FP_LIB_TABLE GFootprintTable;
|
FP_LIB_TABLE GFootprintTable;
|
||||||
|
@ -282,8 +181,10 @@ bool IFACE::OnKifaceStart( PGM_BASE* aProgram, int aCtlBits )
|
||||||
|
|
||||||
start_common( aCtlBits );
|
start_common( aCtlBits );
|
||||||
|
|
||||||
// Set 3D shape path from environment variable KISYS3DMOD
|
// Set 3D shape path (environment variable KISYS3DMOD (if not defined or valid)
|
||||||
set3DShapesPath( wxT("KISYS3DMOD") );
|
// Currently, called here, but could be moved ( OpenProjectFiles() ? )
|
||||||
|
// if KISYS3DMOD is defined in a project config file
|
||||||
|
Set3DShapesDefaultPath( KISYS3DMOD, aProgram );
|
||||||
|
|
||||||
/* Now that there are no *.mod files in the standard library, this function
|
/* Now that there are no *.mod files in the standard library, this function
|
||||||
has no utility. User should simply set the variable manually.
|
has no utility. User should simply set the variable manually.
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
wxLC_SINGLE_SEL | wxVSCROLL | wxHSCROLL )
|
wxLC_SINGLE_SEL | wxVSCROLL | wxHSCROLL )
|
||||||
|
|
||||||
extern const wxString FootprintAliasFileExtension;
|
extern const wxString FootprintAliasFileExtension;
|
||||||
extern const wxString RetroFileExtension;
|
|
||||||
|
|
||||||
extern const wxString FootprintAliasFileWildcard;
|
extern const wxString FootprintAliasFileWildcard;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,26 @@
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992-2014 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 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
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file pcbcommon.h
|
* @file pcbcommon.h
|
||||||
*/
|
*/
|
||||||
|
@ -5,31 +28,35 @@
|
||||||
#ifndef PCBCOMMON_H_
|
#ifndef PCBCOMMON_H_
|
||||||
#define PCBCOMMON_H_
|
#define PCBCOMMON_H_
|
||||||
|
|
||||||
|
class PGM_BASE;
|
||||||
|
|
||||||
#include <dlist.h>
|
/**
|
||||||
#include <layers_id_colors_and_visibility.h>
|
* attempts to set (when not set or valid) the environment variable given by aKiSys3Dmod
|
||||||
|
* (typically "KISYS3DMOD" ) to a valid path.
|
||||||
|
* If the environment variable is already set, then it left as is to respect
|
||||||
|
* the wishes of the user.
|
||||||
|
*
|
||||||
|
* The path is determined by attempting to find the path modules/packages3d
|
||||||
|
* files in kicad tree.
|
||||||
|
* This may or may not be the best path but it provides the best solution for
|
||||||
|
* backwards compatibility with the previous 3D shapes search path implementation.
|
||||||
|
*
|
||||||
|
* @note This must be called after #SetBinDir() is called at least on Windows.
|
||||||
|
* Otherwise, the kicad path is not known (Windows specific)
|
||||||
|
*
|
||||||
|
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
|
||||||
|
* @param aProcess = the current process
|
||||||
|
* @return false if the aKiSys3Dmod path is not valid.
|
||||||
|
*/
|
||||||
|
bool Set3DShapesDefaultPath( const wxString& aKiSys3Dmod, const PGM_BASE* aProcess );
|
||||||
|
|
||||||
|
|
||||||
#define MIN_DRAW_WIDTH 1 ///< Minimum trace drawing width.
|
|
||||||
|
|
||||||
|
|
||||||
class D_PAD;
|
|
||||||
class TRACK;
|
|
||||||
class BOARD;
|
|
||||||
class DISPLAY_OPTIONS;
|
|
||||||
|
|
||||||
extern DISPLAY_OPTIONS DisplayOpt;
|
|
||||||
|
|
||||||
extern int g_CurrentVersionPCB;
|
|
||||||
|
|
||||||
/// List of segments of the trace currently being drawn.
|
|
||||||
extern DLIST<TRACK> g_CurrentTrackList;
|
|
||||||
|
|
||||||
#define g_CurrentTrackSegment g_CurrentTrackList.GetLast() ///< most recently created segment
|
|
||||||
|
|
||||||
#define g_FirstTrackSegment g_CurrentTrackList.GetFirst() ///< first segment created
|
|
||||||
|
|
||||||
/// Utility for comma separated lists
|
/// Utility for comma separated lists
|
||||||
void AccumulateDescription( wxString &aDesc, const wxString &aItem );
|
inline void AccumulateDescription( wxString &aDesc, const wxString &aItem )
|
||||||
|
{
|
||||||
|
if( !aDesc.IsEmpty() )
|
||||||
|
aDesc << wxT(", ");
|
||||||
|
aDesc << aItem;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // PCBCOMMON_H_
|
#endif // PCBCOMMON_H_
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <msgpanel.h>
|
#include <msgpanel.h>
|
||||||
|
|
||||||
#include <autorout.h>
|
#include <autorout.h>
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <math_for_graphics.h>
|
#include <math_for_graphics.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_track.h>
|
#include <class_track.h>
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <cell.h>
|
#include <cell.h>
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_track.h>
|
#include <class_track.h>
|
||||||
|
|
|
@ -31,9 +31,7 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <kiface_i.h>
|
#include <kiface_i.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
//#include <pgm_base.h>
|
|
||||||
#include <kiface_i.h>
|
#include <kiface_i.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <kicad_device_context.h>
|
#include <kicad_device_context.h>
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <block_commande.h>
|
#include <block_commande.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <msgpanel.h>
|
#include <msgpanel.h>
|
||||||
#include <pcb_netlist.h>
|
#include <pcb_netlist.h>
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include <class_pcb_screen.h>
|
#include <class_pcb_screen.h>
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <msgpanel.h>
|
#include <msgpanel.h>
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <math_for_graphics.h>
|
#include <math_for_graphics.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <msgpanel.h>
|
#include <msgpanel.h>
|
||||||
#include <base_units.h>
|
#include <base_units.h>
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <layers_id_colors_and_visibility.h>
|
#include <layers_id_colors_and_visibility.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <pcbnew_id.h> // ID_TRACK_BUTT
|
#include <pcbnew_id.h> // ID_TRACK_BUTT
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include <pcbstruct.h> // enum PCB_VISIBLE
|
#include <pcbstruct.h> // enum PCB_VISIBLE
|
||||||
#include <layer_widget.h>
|
#include <layer_widget.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_pcb_layer_widget.h>
|
#include <class_pcb_layer_widget.h>
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <class_pcb_screen.h>
|
#include <class_pcb_screen.h>
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <ratsnest_data.h>
|
#include <ratsnest_data.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbstruct.h>
|
#include <pcbstruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
|
|
||||||
|
|
|
@ -242,7 +242,7 @@ void DIALOG_MODULE_BOARD_EDITOR::ModuleOrientEvent( wxCommandEvent& event )
|
||||||
void DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties()
|
void DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties()
|
||||||
{
|
{
|
||||||
wxString default_path;
|
wxString default_path;
|
||||||
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
|
wxGetEnv( KISYS3DMOD, &default_path );
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
default_path.Replace( wxT( "/" ), wxT( "\\" ) );
|
default_path.Replace( wxT( "/" ), wxT( "\\" ) );
|
||||||
#endif
|
#endif
|
||||||
|
@ -393,11 +393,6 @@ void DIALOG_MODULE_BOARD_EDITOR::On3DShapeNameSelected( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_MODULE_BOARD_EDITOR::Add3DShape( wxCommandEvent& event )
|
|
||||||
{
|
|
||||||
Browse3DLib( event );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_MODULE_BOARD_EDITOR::Remove3DShape( wxCommandEvent& event )
|
void DIALOG_MODULE_BOARD_EDITOR::Remove3DShape( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
|
@ -423,92 +418,72 @@ void DIALOG_MODULE_BOARD_EDITOR::Remove3DShape( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_MODULE_BOARD_EDITOR::Browse3DLib( wxCommandEvent& event )
|
void DIALOG_MODULE_BOARD_EDITOR::BrowseAndAdd3DShapeFile()
|
||||||
{
|
{
|
||||||
PROJECT& prj = Prj();
|
PROJECT& prj = Prj();
|
||||||
SEARCH_STACK& search = Kiface().KifaceSearch();
|
|
||||||
|
|
||||||
wxString fullpath;
|
// here, the KISYS3DMOD default path for 3D shape files is expected
|
||||||
wxString kisys3dmod = wxGetenv( wxT( KISYS3DMOD ) );
|
// to be already defined (when starting Pcbnew, it is defined
|
||||||
|
// from the user defined env variable, or set to a default value)
|
||||||
|
wxFileName fn( wxGetenv( KISYS3DMOD ), wxEmptyString );
|
||||||
|
wxString default3DPath = fn.GetPathWithSep();
|
||||||
|
|
||||||
if( !kisys3dmod || !wxFileName::IsDirReadable( kisys3dmod ) )
|
wxString initialpath = prj.GetRString( PROJECT::VIEWER_3D_PATH );
|
||||||
{
|
|
||||||
fullpath = search.FindValidPath( LIB3D_PATH );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( !fullpath )
|
if( !initialpath )
|
||||||
{
|
initialpath = default3DPath;
|
||||||
fullpath = prj.GetRString( PROJECT::VIEWER_3D_PATH );
|
|
||||||
if( !fullpath )
|
|
||||||
fullpath = search.LastVisitedPath( LIB3D_PATH );
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
|
||||||
fullpath.Replace( wxT( "/" ), wxT( "\\" ) );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxString fullfilename;
|
|
||||||
wxString shortfilename;
|
|
||||||
|
|
||||||
wxString fileFilters = wxGetTranslation( Shapes3DFileWildcard );
|
wxString fileFilters = wxGetTranslation( Shapes3DFileWildcard );
|
||||||
|
|
||||||
fileFilters += wxChar( '|' );
|
fileFilters += wxChar( '|' );
|
||||||
fileFilters += wxGetTranslation( IDF3DFileWildcard );
|
fileFilters += wxGetTranslation( IDF3DFileWildcard );
|
||||||
|
|
||||||
fullfilename = EDA_FileSelector( _( "3D Shape:" ),
|
wxString filename = EDA_FileSelector( _( "3D Shape:" ), initialpath,
|
||||||
fullpath,
|
wxEmptyString, wxEmptyString,
|
||||||
wxEmptyString,
|
fileFilters, this, wxFD_OPEN, true );
|
||||||
wxEmptyString,
|
|
||||||
wxGetTranslation( fileFilters ),
|
|
||||||
this,
|
|
||||||
wxFD_OPEN,
|
|
||||||
true
|
|
||||||
);
|
|
||||||
|
|
||||||
if( fullfilename.IsEmpty() )
|
if( filename.IsEmpty() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxFileName fn = fullfilename;
|
fn = filename;
|
||||||
|
|
||||||
prj.SetRString( PROJECT::VIEWER_3D_PATH, fn.GetPath() );
|
prj.SetRString( PROJECT::VIEWER_3D_PATH, fn.GetPath() );
|
||||||
|
|
||||||
/* If the file path is already in the library search paths
|
/* If the file path is already in the 3D shape file default path
|
||||||
* list, just add the library name to the list. Otherwise, add
|
* just add the file name relative to this path to the list.
|
||||||
* the library name with the full or relative path.
|
* Otherwise, add the file name with a full or relative path.
|
||||||
* the relative path, when possible is preferable,
|
* The relative path, when possible, is preferable
|
||||||
* because it preserve use of default libraries paths, when the path is a
|
* because it preserve use of default path, when the path is a sub path of this path
|
||||||
* sub path of these default paths
|
|
||||||
*/
|
*/
|
||||||
shortfilename = search.FilenameWithRelativePathInSearchList(
|
wxString rootpath = filename.SubString( 0, default3DPath.Length()-1 );
|
||||||
fullfilename, wxPathOnly( Prj().GetProjectFullName() ) );
|
bool useRelPath = rootpath.IsSameAs( default3DPath, wxFileName::IsCaseSensitive() );
|
||||||
|
|
||||||
wxFileName aux = shortfilename;
|
if( useRelPath )
|
||||||
if( aux.IsAbsolute() )
|
fn.MakeRelativeTo( default3DPath );
|
||||||
|
else // Absolute path given, not a subpath of the default path,
|
||||||
|
// therefore ask if the user wants a relative (to the default path) one
|
||||||
{
|
{
|
||||||
// Absolute path, ask if the user wants a relative one
|
wxString msg;
|
||||||
int diag = wxMessageBox(
|
msg.Printf( _( "Use a path relative to '%s'?" ), GetChars( default3DPath ) );
|
||||||
_( "Use a relative path?" ),
|
int diag = wxMessageBox( msg, _( "Path type" ),
|
||||||
_( "Path type" ),
|
wxYES_NO | wxICON_QUESTION, this );
|
||||||
wxYES_NO | wxICON_QUESTION, this );
|
|
||||||
|
|
||||||
if( diag == wxYES )
|
if( diag == wxYES ) // Make it relative to the default 3D path
|
||||||
{
|
fn.MakeRelativeTo( default3DPath );
|
||||||
// Make it relative
|
|
||||||
aux.MakeRelativeTo( wxT(".") );
|
|
||||||
shortfilename = aux.GetPathWithSep() + aux.GetFullName();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
filename = fn.GetFullPath();
|
||||||
|
|
||||||
S3D_MASTER* new3DShape = new S3D_MASTER( NULL );
|
S3D_MASTER* new3DShape = new S3D_MASTER( NULL );
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
// Store filename in Unix notation
|
// In Kicad files, filenames and paths are stored using Unix notation
|
||||||
shortfilename.Replace( wxT( "\\" ), wxT( "/" ) );
|
filename.Replace( wxT( "\\" ), wxT( "/" ) );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
new3DShape->SetShape3DName( shortfilename );
|
new3DShape->SetShape3DName( filename );
|
||||||
m_Shapes3D_list.push_back( new3DShape );
|
m_Shapes3D_list.push_back( new3DShape );
|
||||||
m_3D_ShapeNameListBox->Append( shortfilename );
|
m_3D_ShapeNameListBox->Append( filename );
|
||||||
|
|
||||||
if( m_LastSelected3DShapeIndex >= 0 )
|
if( m_LastSelected3DShapeIndex >= 0 )
|
||||||
TransfertDisplayTo3DValues( m_LastSelected3DShapeIndex );
|
TransfertDisplayTo3DValues( m_LastSelected3DShapeIndex );
|
||||||
|
|
|
@ -31,16 +31,21 @@ public:
|
||||||
~DIALOG_MODULE_BOARD_EDITOR();
|
~DIALOG_MODULE_BOARD_EDITOR();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void BrowseAndAdd3DShapeFile();
|
||||||
void InitBoardProperties();
|
void InitBoardProperties();
|
||||||
void InitModeditProperties();
|
void InitModeditProperties();
|
||||||
void Transfert3DValuesToDisplay( S3D_MASTER * aStruct3DSource );
|
void Transfert3DValuesToDisplay( S3D_MASTER * aStruct3DSource );
|
||||||
void TransfertDisplayTo3DValues( int aIndexSelection );
|
void TransfertDisplayTo3DValues( int aIndexSelection );
|
||||||
|
|
||||||
|
// virtual event functions
|
||||||
void OnEditValue( wxCommandEvent& event );
|
void OnEditValue( wxCommandEvent& event );
|
||||||
void OnEditReference( wxCommandEvent& event );
|
void OnEditReference( wxCommandEvent& event );
|
||||||
void On3DShapeSelection( wxCommandEvent& event );
|
void On3DShapeSelection( wxCommandEvent& event );
|
||||||
void On3DShapeNameSelected( wxCommandEvent& event );
|
void On3DShapeNameSelected( wxCommandEvent& event );
|
||||||
void Browse3DLib( wxCommandEvent& event );
|
void Add3DShape( wxCommandEvent& event )
|
||||||
void Add3DShape( wxCommandEvent& event );
|
{
|
||||||
|
BrowseAndAdd3DShapeFile();
|
||||||
|
}
|
||||||
void Remove3DShape( wxCommandEvent& event );
|
void Remove3DShape( wxCommandEvent& event );
|
||||||
void OnCancelClick( wxCommandEvent& event );
|
void OnCancelClick( wxCommandEvent& event );
|
||||||
void OnOkClick( wxCommandEvent& event );
|
void OnOkClick( wxCommandEvent& event );
|
||||||
|
|
|
@ -93,7 +93,7 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
|
||||||
|
|
||||||
// Display the default path, given by environment variable KISYS3DMOD
|
// Display the default path, given by environment variable KISYS3DMOD
|
||||||
wxString default_path;
|
wxString default_path;
|
||||||
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
|
wxGetEnv( KISYS3DMOD, &default_path );
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
default_path.Replace( wxT( "/" ), wxT( "\\" ) );
|
default_path.Replace( wxT( "/" ), wxT( "\\" ) );
|
||||||
#endif
|
#endif
|
||||||
|
@ -288,88 +288,77 @@ void DIALOG_MODULE_MODULE_EDITOR::Remove3DShape(wxCommandEvent& event)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DLib( wxCommandEvent& event )
|
void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DShapeFile()
|
||||||
{
|
{
|
||||||
PROJECT& prj = Prj();
|
PROJECT& prj = Prj();
|
||||||
SEARCH_STACK& search = Kiface().KifaceSearch();
|
|
||||||
|
|
||||||
wxString fullpath;
|
// here, the KISYS3DMOD default path for 3D shape files is expected
|
||||||
wxString kisys3dmod = wxGetenv( wxT( KISYS3DMOD ) );
|
// to be already defined (when starting Pcbnew, it is defined
|
||||||
|
// from the user defined env variable, or set to a default value)
|
||||||
|
wxFileName fn( wxGetenv( KISYS3DMOD ), wxEmptyString );
|
||||||
|
wxString default3DPath = fn.GetPathWithSep();
|
||||||
|
|
||||||
if( !kisys3dmod || !wxFileName::IsDirReadable( kisys3dmod ) )
|
wxString initialpath = prj.GetRString( PROJECT::VIEWER_3D_PATH );
|
||||||
{
|
|
||||||
fullpath = search.FindValidPath( LIB3D_PATH );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( !fullpath )
|
if( !initialpath )
|
||||||
{
|
initialpath = default3DPath;
|
||||||
fullpath = prj.GetRString( PROJECT::VIEWER_3D_PATH );
|
|
||||||
if( !fullpath )
|
|
||||||
fullpath = search.LastVisitedPath( LIB3D_PATH );
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
fullpath.Replace( wxT( "/" ), wxT( "\\" ) );
|
initialpath.Replace( wxT( "/" ), wxT( "\\" ) );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wxString fullfilename, shortfilename;
|
|
||||||
wxString fileFilters = wxGetTranslation( Shapes3DFileWildcard );
|
wxString fileFilters = wxGetTranslation( Shapes3DFileWildcard );
|
||||||
|
|
||||||
fileFilters += wxChar( '|' );
|
fileFilters += wxChar( '|' );
|
||||||
fileFilters += wxGetTranslation( IDF3DFileWildcard );
|
fileFilters += wxGetTranslation( IDF3DFileWildcard );
|
||||||
|
|
||||||
fullfilename = EDA_FileSelector( _( "3D Shape:" ),
|
wxString filename = EDA_FileSelector( _( "3D Shape:" ), initialpath,
|
||||||
fullpath,
|
wxEmptyString, wxEmptyString,
|
||||||
wxEmptyString,
|
wxGetTranslation( fileFilters ),
|
||||||
wxEmptyString,
|
this, wxFD_OPEN, true );
|
||||||
wxGetTranslation( fileFilters ),
|
|
||||||
this,
|
|
||||||
wxFD_OPEN,
|
|
||||||
true
|
|
||||||
);
|
|
||||||
|
|
||||||
if( fullfilename.IsEmpty() )
|
if( filename.IsEmpty() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxFileName fn = fullfilename;
|
fn = filename;
|
||||||
|
|
||||||
prj.SetRString( PROJECT::VIEWER_3D_PATH, fn.GetPath() );
|
prj.SetRString( PROJECT::VIEWER_3D_PATH, fn.GetPath() );
|
||||||
|
|
||||||
/* If the file path is already in the library search paths
|
/* If the file path is already in the 3D shape file default path
|
||||||
* list, just add the library name to the list. Otherwise, add
|
* just add the file name relative to this path to the list.
|
||||||
* the library name with the full or relative path.
|
* Otherwise, add the file name with a full or relative path.
|
||||||
* the relative path, when possible is preferable,
|
* The relative path, when possible, is preferable
|
||||||
* because it preserve use of default libraries paths, when the path is a sub path of these default paths
|
* because it preserve use of default path, when the path is a sub path of this path
|
||||||
*/
|
*/
|
||||||
shortfilename = search.FilenameWithRelativePathInSearchList(
|
wxString rootpath = filename.SubString( 0, default3DPath.Length()-1 );
|
||||||
fullfilename, wxPathOnly( Prj().GetProjectFullName() ) );
|
bool useRelPath = rootpath.IsSameAs( default3DPath, wxFileName::IsCaseSensitive() );
|
||||||
|
|
||||||
wxFileName aux = shortfilename;
|
if( useRelPath )
|
||||||
|
fn.MakeRelativeTo( default3DPath );
|
||||||
|
else // Absolute path given, not a subpath of the default path,
|
||||||
|
// therefore ask if the user wants a relative (to the default path) one
|
||||||
|
{
|
||||||
|
wxString msg;
|
||||||
|
msg.Printf( _( "Use a path relative to '%s'?" ), GetChars( default3DPath ) );
|
||||||
|
int diag = wxMessageBox( msg, _( "Path type" ),
|
||||||
|
wxYES_NO | wxICON_QUESTION, this );
|
||||||
|
|
||||||
if( aux.IsAbsolute() )
|
if( diag == wxYES ) // Make it relative to the default 3D path
|
||||||
{ // Absolute path, ask if the user wants a relative one
|
fn.MakeRelativeTo( default3DPath );
|
||||||
int diag = wxMessageBox(
|
|
||||||
_( "Use a relative path?" ),
|
|
||||||
_( "Path type" ),
|
|
||||||
wxYES_NO | wxICON_QUESTION, this );
|
|
||||||
|
|
||||||
if( diag == wxYES )
|
|
||||||
{ // Make it relative
|
|
||||||
aux.MakeRelativeTo( wxT( "." ) );
|
|
||||||
shortfilename = aux.GetPathWithSep() + aux.GetFullName();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
filename = fn.GetFullPath();
|
||||||
|
|
||||||
S3D_MASTER* new3DShape = new S3D_MASTER(NULL);
|
S3D_MASTER* new3DShape = new S3D_MASTER(NULL);
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
// Store filename in Unix notation
|
// Store filename in Unix notation
|
||||||
shortfilename.Replace( wxT( "\\" ), wxT( "/" ) );
|
filename.Replace( wxT( "\\" ), wxT( "/" ) );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
new3DShape->SetShape3DName( shortfilename );
|
new3DShape->SetShape3DName( filename );
|
||||||
m_shapes3D_list.push_back( new3DShape );
|
m_shapes3D_list.push_back( new3DShape );
|
||||||
m_3D_ShapeNameListBox->Append( shortfilename );
|
m_3D_ShapeNameListBox->Append( filename );
|
||||||
|
|
||||||
if( m_lastSelected3DShapeIndex >= 0 )
|
if( m_lastSelected3DShapeIndex >= 0 )
|
||||||
TransfertDisplayTo3DValues( m_lastSelected3DShapeIndex );
|
TransfertDisplayTo3DValues( m_lastSelected3DShapeIndex );
|
||||||
|
|
|
@ -34,14 +34,20 @@ public:
|
||||||
~DIALOG_MODULE_MODULE_EDITOR();
|
~DIALOG_MODULE_MODULE_EDITOR();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void BrowseAndAdd3DShapeFile();
|
||||||
void initModeditProperties();
|
void initModeditProperties();
|
||||||
void Transfert3DValuesToDisplay( S3D_MASTER * aStruct3DSource );
|
void Transfert3DValuesToDisplay( S3D_MASTER * aStruct3DSource );
|
||||||
void TransfertDisplayTo3DValues( int aIndexSelection );
|
void TransfertDisplayTo3DValues( int aIndexSelection );
|
||||||
|
|
||||||
|
// virtual event functions
|
||||||
void OnEditValue( wxCommandEvent& event );
|
void OnEditValue( wxCommandEvent& event );
|
||||||
void OnEditReference( wxCommandEvent& event );
|
void OnEditReference( wxCommandEvent& event );
|
||||||
void On3DShapeSelection( wxCommandEvent& event );
|
void On3DShapeSelection( wxCommandEvent& event );
|
||||||
void On3DShapeNameSelected( wxCommandEvent& event );
|
void On3DShapeNameSelected( wxCommandEvent& event );
|
||||||
void BrowseAndAdd3DLib( wxCommandEvent& event );
|
void Add3DShape( wxCommandEvent& event )
|
||||||
|
{
|
||||||
|
BrowseAndAdd3DShapeFile();
|
||||||
|
}
|
||||||
void Remove3DShape( wxCommandEvent& event );
|
void Remove3DShape( wxCommandEvent& event );
|
||||||
void OnCancelClick( wxCommandEvent& event );
|
void OnCancelClick( wxCommandEvent& event );
|
||||||
void OnOkClick( wxCommandEvent& event );
|
void OnOkClick( wxCommandEvent& event );
|
||||||
|
|
|
@ -327,7 +327,7 @@ DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* pa
|
||||||
m_button4->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this );
|
m_button4->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this );
|
||||||
m_button5->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this );
|
m_button5->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this );
|
||||||
m_3D_ShapeNameListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this );
|
m_3D_ShapeNameListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this );
|
||||||
m_buttonBrowse->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::BrowseAndAdd3DLib ), NULL, this );
|
m_buttonBrowse->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Add3DShape ), NULL, this );
|
||||||
m_buttonRemove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this );
|
m_buttonRemove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this );
|
||||||
m_sdbSizerStdButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this );
|
m_sdbSizerStdButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this );
|
||||||
m_sdbSizerStdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this );
|
m_sdbSizerStdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this );
|
||||||
|
@ -339,7 +339,7 @@ DIALOG_MODULE_MODULE_EDITOR_BASE::~DIALOG_MODULE_MODULE_EDITOR_BASE()
|
||||||
m_button4->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this );
|
m_button4->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this );
|
||||||
m_button5->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this );
|
m_button5->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this );
|
||||||
m_3D_ShapeNameListBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this );
|
m_3D_ShapeNameListBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this );
|
||||||
m_buttonBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::BrowseAndAdd3DLib ), NULL, this );
|
m_buttonBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Add3DShape ), NULL, this );
|
||||||
m_buttonRemove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this );
|
m_buttonRemove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this );
|
||||||
m_sdbSizerStdButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this );
|
m_sdbSizerStdButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this );
|
||||||
m_sdbSizerStdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this );
|
m_sdbSizerStdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this );
|
||||||
|
|
|
@ -4173,7 +4173,7 @@
|
||||||
<property name="window_extra_style"></property>
|
<property name="window_extra_style"></property>
|
||||||
<property name="window_name"></property>
|
<property name="window_name"></property>
|
||||||
<property name="window_style"></property>
|
<property name="window_style"></property>
|
||||||
<event name="OnButtonClick">BrowseAndAdd3DLib</event>
|
<event name="OnButtonClick">Add3DShape</event>
|
||||||
<event name="OnChar"></event>
|
<event name="OnChar"></event>
|
||||||
<event name="OnEnterWindow"></event>
|
<event name="OnEnterWindow"></event>
|
||||||
<event name="OnEraseBackground"></event>
|
<event name="OnEraseBackground"></event>
|
||||||
|
|
|
@ -109,7 +109,7 @@ class DIALOG_MODULE_MODULE_EDITOR_BASE : public DIALOG_SHIM
|
||||||
virtual void OnEditReference( wxCommandEvent& event ) { event.Skip(); }
|
virtual void OnEditReference( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void OnEditValue( wxCommandEvent& event ) { event.Skip(); }
|
virtual void OnEditValue( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void On3DShapeNameSelected( wxCommandEvent& event ) { event.Skip(); }
|
virtual void On3DShapeNameSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void BrowseAndAdd3DLib( wxCommandEvent& event ) { event.Skip(); }
|
virtual void Add3DShape( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void Remove3DShape( wxCommandEvent& event ) { event.Skip(); }
|
virtual void Remove3DShape( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
|
virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); }
|
virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); }
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <dialog_footprint_wizard_list.h>
|
#include <dialog_footprint_wizard_list.h>
|
||||||
#include <class_footprint_wizard.h>
|
#include <class_footprint_wizard.h>
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
|
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <project.h>
|
#include <project.h>
|
||||||
|
#include <3d_viewer.h> // for KISYS3DMOD
|
||||||
#include <dialog_fp_lib_table_base.h>
|
#include <dialog_fp_lib_table_base.h>
|
||||||
#include <fp_lib_table.h>
|
#include <fp_lib_table.h>
|
||||||
#include <fp_lib_table_lexer.h>
|
#include <fp_lib_table_lexer.h>
|
||||||
|
@ -713,6 +714,9 @@ private:
|
||||||
// the current project.
|
// the current project.
|
||||||
unique.insert( PROJECT_VAR_NAME );
|
unique.insert( PROJECT_VAR_NAME );
|
||||||
unique.insert( FP_LIB_TABLE::GlobalPathEnvVariableName() );
|
unique.insert( FP_LIB_TABLE::GlobalPathEnvVariableName() );
|
||||||
|
// This special environment variable is used to locad 3d shapes
|
||||||
|
unique.insert( KISYS3DMOD );
|
||||||
|
unique.insert( FP_LIB_TABLE::GlobalPathEnvVariableName() );
|
||||||
|
|
||||||
m_path_subs_grid->AppendRows( unique.size() );
|
m_path_subs_grid->AppendRows( unique.size() );
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_board_design_settings.h>
|
#include <class_board_design_settings.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <ratsnest_data.h>
|
#include <ratsnest_data.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <html_messagebox.h>
|
#include <html_messagebox.h>
|
||||||
#include <base_units.h>
|
#include <base_units.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <pcb_netlist.h>
|
#include <pcb_netlist.h>
|
||||||
#include <netlist_reader.h>
|
#include <netlist_reader.h>
|
||||||
#include <reporter.h>
|
#include <reporter.h>
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <dialog_scripting.h>
|
#include <dialog_scripting.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include <gestfich.h>
|
#include <gestfich.h>
|
||||||
#include <kicad_device_context.h>
|
#include <kicad_device_context.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <protos.h>
|
#include <protos.h>
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
#include <fctsys.h>
|
#include <fctsys.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <gestfich.h>
|
#include <gestfich.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
#include <filter_reader.h>
|
#include <filter_reader.h>
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <msgpanel.h>
|
#include <msgpanel.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <module_editor_frame.h>
|
#include <module_editor_frame.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <filter_reader.h>
|
#include <filter_reader.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <fp_lib_table.h>
|
#include <fp_lib_table.h>
|
||||||
#include <validators.h>
|
#include <validators.h>
|
||||||
|
|
|
@ -36,13 +36,11 @@
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <pgm_base.h>
|
#include <pgm_base.h>
|
||||||
#include <kiway.h>
|
#include <kiway.h>
|
||||||
//#include <frame_type.h>
|
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <filter_reader.h>
|
#include <filter_reader.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <fp_lib_table.h>
|
#include <fp_lib_table.h>
|
||||||
#include <fpid.h>
|
#include <fpid.h>
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_track.h>
|
#include <class_track.h>
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <kicad_device_context.h>
|
#include <kicad_device_context.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <invoke_pcb_dialog.h>
|
#include <invoke_pcb_dialog.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <msgpanel.h>
|
#include <msgpanel.h>
|
||||||
#include <fp_lib_table.h>
|
#include <fp_lib_table.h>
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <pcb_draw_panel_gal.h>
|
#include <pcb_draw_panel_gal.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <msgpanel.h>
|
#include <msgpanel.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <block_commande.h>
|
#include <block_commande.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include <richio.h>
|
#include <richio.h>
|
||||||
#include <filter_reader.h>
|
#include <filter_reader.h>
|
||||||
#include <gr_basic.h>
|
#include <gr_basic.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <base_units.h>
|
#include <base_units.h>
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
#include <class_track.h>
|
#include <class_track.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind.hpp>
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <pcbcommon.h> // enum PCB_VISIBLE
|
|
||||||
#include <collectors.h>
|
#include <collectors.h>
|
||||||
#include <build_version.h>
|
#include <build_version.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
|
@ -42,8 +42,6 @@
|
||||||
#include <eda_dde.h>
|
#include <eda_dde.h>
|
||||||
#include <pcbcommon.h>
|
#include <pcbcommon.h>
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <gr_basic.h>
|
|
||||||
#include <3d_viewer.h>
|
|
||||||
#include <wx/stdpaths.h>
|
#include <wx/stdpaths.h>
|
||||||
|
|
||||||
#include <wx/file.h>
|
#include <wx/file.h>
|
||||||
|
@ -52,7 +50,6 @@
|
||||||
#include <gestfich.h>
|
#include <gestfich.h>
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <protos.h>
|
|
||||||
#include <hotkeys.h>
|
#include <hotkeys.h>
|
||||||
#include <wildcards_and_files_ext.h>
|
#include <wildcards_and_files_ext.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
@ -81,7 +78,9 @@ int g_MaxLinksShowed;
|
||||||
int g_MagneticPadOption = capture_cursor_in_track_tool;
|
int g_MagneticPadOption = capture_cursor_in_track_tool;
|
||||||
int g_MagneticTrackOption = capture_cursor_in_track_tool;
|
int g_MagneticTrackOption = capture_cursor_in_track_tool;
|
||||||
|
|
||||||
wxPoint g_Offset_Module; /* Distance to offset module trace when moving. */
|
wxPoint g_Offset_Module; // module offset used when moving a footprint
|
||||||
|
|
||||||
|
DISPLAY_OPTIONS DisplayOpt; // General display options
|
||||||
|
|
||||||
/* Name of the document footprint list
|
/* Name of the document footprint list
|
||||||
* usually located in share/modules/footprints_doc
|
* usually located in share/modules/footprints_doc
|
||||||
|
@ -90,6 +89,13 @@ wxPoint g_Offset_Module; /* Distance to offset module trace when moving.
|
||||||
*/
|
*/
|
||||||
wxString g_DocModulesFileName = wxT( "footprints_doc/footprints.pdf" );
|
wxString g_DocModulesFileName = wxT( "footprints_doc/footprints.pdf" );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Used in track creation, a list of track segments currently being created,
|
||||||
|
* with the newest track at the end of the list, sorted by new-ness. e.g. use
|
||||||
|
* TRACK->Back() to get the next older track, TRACK->Next() to get the next
|
||||||
|
* newer track.
|
||||||
|
*/
|
||||||
|
DLIST<TRACK> g_CurrentTrackList;
|
||||||
|
|
||||||
namespace PCB {
|
namespace PCB {
|
||||||
|
|
||||||
|
@ -205,105 +211,6 @@ PGM_BASE& Pgm()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* Function set3DShapesPath
|
|
||||||
* attempts to set the environment variable given by aKiSys3Dmod to a valid path.
|
|
||||||
* (typically "KISYS3DMOD" )
|
|
||||||
* If the environment variable is already set,
|
|
||||||
* then it left as is to respect the wishes of the user.
|
|
||||||
*
|
|
||||||
* The path is determined by attempting to find the path modules/packages3d
|
|
||||||
* files in kicad tree.
|
|
||||||
* This may or may not be the best path but it provides the best solution for
|
|
||||||
* backwards compatibility with the previous 3D shapes search path implementation.
|
|
||||||
*
|
|
||||||
* @note This must be called after #SetBinDir() is called at least on Windows.
|
|
||||||
* Otherwise, the kicad path is not known (Windows specific)
|
|
||||||
*
|
|
||||||
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
|
|
||||||
* @return false if the aKiSys3Dmod path is not valid.
|
|
||||||
*/
|
|
||||||
static bool set3DShapesPath( const wxString& aKiSys3Dmod )
|
|
||||||
{
|
|
||||||
wxString path;
|
|
||||||
|
|
||||||
// Set the KISYS3DMOD environment variable for the current process,
|
|
||||||
// if it is not already defined in the user's environment and valid.
|
|
||||||
if( wxGetEnv( aKiSys3Dmod, &path ) && wxFileName::DirExists( path ) )
|
|
||||||
return true;
|
|
||||||
|
|
||||||
// Attempt to determine where the 3D shape libraries were installed using the
|
|
||||||
// legacy path:
|
|
||||||
// on Unix: /usr/local/kicad/share/modules/packages3d
|
|
||||||
// or /usr/share/kicad/modules/packages3d
|
|
||||||
// On Windows: bin../share/modules/packages3d
|
|
||||||
wxString relpath( wxT( "modules/packages3d" ) );
|
|
||||||
|
|
||||||
// Apple MacOSx
|
|
||||||
#ifdef __WXMAC__
|
|
||||||
path = wxT("/Library/Application Support/kicad/modules/packages3d/");
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
path = wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT("/Library/Application Support/kicad/modules/packages3d/");
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(__UNIX__) // Linux and non-Apple Unix
|
|
||||||
// Try the home directory:
|
|
||||||
path.Empty();
|
|
||||||
wxGetEnv( wxT("HOME"), &path );
|
|
||||||
path += wxT("/kicad/share/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try the standard install path:
|
|
||||||
path = wxT("/usr/local/kicad/share/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try the official distrib standard install path:
|
|
||||||
path = wxT("/usr/share/kicad/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else // Windows
|
|
||||||
// On Windows, the install path is given by the path of executables
|
|
||||||
wxFileName fn;
|
|
||||||
fn.AssignDir( Pgm().GetExecutablePath() );
|
|
||||||
fn.RemoveLastDir();
|
|
||||||
path = fn.GetPathWithSep() + wxT("share/") + relpath;
|
|
||||||
|
|
||||||
if( wxFileName::DirExists( path ) )
|
|
||||||
{
|
|
||||||
wxSetEnv( aKiSys3Dmod, path );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(KICAD_SCRIPTING)
|
#if defined(KICAD_SCRIPTING)
|
||||||
static bool scriptingSetup()
|
static bool scriptingSetup()
|
||||||
|
@ -412,8 +319,10 @@ bool IFACE::OnKifaceStart( PGM_BASE* aProgram, int aCtlBits )
|
||||||
// display the real hotkeys in menus or tool tips
|
// display the real hotkeys in menus or tool tips
|
||||||
ReadHotkeyConfig( wxT( "PcbFrame" ), g_Board_Editor_Hokeys_Descr );
|
ReadHotkeyConfig( wxT( "PcbFrame" ), g_Board_Editor_Hokeys_Descr );
|
||||||
|
|
||||||
// Set 3D shape path from environment variable KISYS3DMOD
|
// Set 3D shape path (environment variable KISYS3DMOD) if not defined or valid
|
||||||
set3DShapesPath( wxT(KISYS3DMOD) );
|
// Currently, called here, but could be moved ( OpenProjectFiles() ? )
|
||||||
|
// if KISYS3DMOD is defined in a project config file
|
||||||
|
Set3DShapesDefaultPath( KISYS3DMOD, aProgram );
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
#include <fctsys.h> // wxWidgets include.
|
#include <fctsys.h> // wxWidgets include.
|
||||||
#include <base_struct.h> // IS_DRAGGED and IN_EDIT definitions.
|
#include <base_struct.h> // IS_DRAGGED and IN_EDIT definitions.
|
||||||
|
#include <dlist.h>
|
||||||
#include <convert_to_biu.h> // to define DMils2iu() conversion function
|
#include <convert_to_biu.h> // to define DMils2iu() conversion function
|
||||||
#include <layers_id_colors_and_visibility.h>
|
#include <layers_id_colors_and_visibility.h>
|
||||||
|
|
||||||
|
@ -37,6 +38,7 @@ enum ENDPOINT_T {
|
||||||
#define TEXTS_MIN_SIZE DMils2iu( 50 ) ///< Minimum text size in Pcbnew units value (50 * 0.0001 mils)
|
#define TEXTS_MIN_SIZE DMils2iu( 50 ) ///< Minimum text size in Pcbnew units value (50 * 0.0001 mils)
|
||||||
#define TEXTS_MAX_SIZE DMils2iu( 10000 ) ///< Maximum text size in Pcbnew units value (1 inch) )
|
#define TEXTS_MAX_SIZE DMils2iu( 10000 ) ///< Maximum text size in Pcbnew units value (1 inch) )
|
||||||
#define TEXTS_MAX_WIDTH DMils2iu( 5000 ) ///< Maximum text width in Pcbnew units value (0.5 inches)
|
#define TEXTS_MAX_WIDTH DMils2iu( 5000 ) ///< Maximum text width in Pcbnew units value (0.5 inches)
|
||||||
|
#define MIN_DRAW_WIDTH 1 ///< Minimum trace drawing width in pixels.
|
||||||
|
|
||||||
|
|
||||||
// Flag to force the SKETCH mode to display items (.m_Flags member)
|
// Flag to force the SKETCH mode to display items (.m_Flags member)
|
||||||
|
@ -71,6 +73,16 @@ extern int g_MagneticTrackOption;
|
||||||
|
|
||||||
extern wxPoint g_Offset_Module; // Offset trace when moving footprint.
|
extern wxPoint g_Offset_Module; // Offset trace when moving footprint.
|
||||||
|
|
||||||
|
/// List of segments of the trace currently being drawn.
|
||||||
|
class TRACK;
|
||||||
|
extern DLIST<TRACK> g_CurrentTrackList;
|
||||||
|
#define g_CurrentTrackSegment g_CurrentTrackList.GetLast() ///< most recently created segment
|
||||||
|
#define g_FirstTrackSegment g_CurrentTrackList.GetFirst() ///< first segment created
|
||||||
|
|
||||||
|
|
||||||
|
class DISPLAY_OPTIONS;
|
||||||
|
extern DISPLAY_OPTIONS DisplayOpt;
|
||||||
|
|
||||||
enum MagneticPadOptionValues {
|
enum MagneticPadOptionValues {
|
||||||
no_effect,
|
no_effect,
|
||||||
capture_cursor_in_track_tool,
|
capture_cursor_in_track_tool,
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
#include <gestfich.h>
|
#include <gestfich.h>
|
||||||
#include <xnode.h>
|
#include <xnode.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <class_board_design_settings.h>
|
#include <class_board_design_settings.h>
|
||||||
#include <plot_common.h>
|
#include <plot_common.h>
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
#include <drawtxt.h>
|
#include <drawtxt.h>
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <trigo.h>
|
#include <trigo.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
|
@ -30,8 +30,6 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <printout_controler.h>
|
#include <printout_controler.h>
|
||||||
#include <colors_selection.h>
|
#include <colors_selection.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
#include <class_edge_mod.h>
|
#include <class_edge_mod.h>
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
#include <view/view_controls.h>
|
#include <view/view_controls.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <pcb_painter.h>
|
#include <pcb_painter.h>
|
||||||
#include <dialogs/dialog_pns_settings.h>
|
#include <dialogs/dialog_pns_settings.h>
|
||||||
#include <dialogs/dialog_track_via_size.h>
|
#include <dialogs/dialog_track_via_size.h>
|
||||||
|
@ -213,7 +212,7 @@ public:
|
||||||
Add( ACT_SwitchPosture );
|
Add( ACT_SwitchPosture );
|
||||||
|
|
||||||
AppendSeparator();
|
AppendSeparator();
|
||||||
|
|
||||||
CONTEXT_TRACK_WIDTH_MENU* trackMenu = new CONTEXT_TRACK_WIDTH_MENU;
|
CONTEXT_TRACK_WIDTH_MENU* trackMenu = new CONTEXT_TRACK_WIDTH_MENU;
|
||||||
trackMenu->SetBoard( aBoard );
|
trackMenu->SetBoard( aBoard );
|
||||||
AppendSubMenu( trackMenu, wxT( "Select Track Width" ) );
|
AppendSubMenu( trackMenu, wxT( "Select Track Width" ) );
|
||||||
|
@ -594,7 +593,7 @@ void ROUTER_TOOL::performRouting()
|
||||||
if( m_router->FixRoute( m_endSnapPoint, m_endItem ) )
|
if( m_router->FixRoute( m_endSnapPoint, m_endItem ) )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
handleCommonEvents( *evt );
|
handleCommonEvents( *evt );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
#include <class_drawpanel.h>
|
#include <class_drawpanel.h>
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <wxBasePcbFrame.h>
|
#include <wxBasePcbFrame.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <class_layer_box_selector.h>
|
#include <class_layer_box_selector.h>
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <dialogs/dialog_layer_selection_base.h>
|
#include <dialogs/dialog_layer_selection_base.h>
|
||||||
|
|
|
@ -35,10 +35,7 @@
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <3d_viewer.h>
|
#include <3d_viewer.h>
|
||||||
#include <dialog_helpers.h>
|
#include <dialog_helpers.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
|
|
||||||
#include <pcbnew.h>
|
#include <pcbnew.h>
|
||||||
#include <pcbnew_id.h>
|
#include <pcbnew_id.h>
|
||||||
#include <drc_stuff.h>
|
#include <drc_stuff.h>
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <class_zone.h>
|
#include <class_zone.h>
|
||||||
#include <class_draw_panel_gal.h>
|
#include <class_draw_panel_gal.h>
|
||||||
#include <class_pcb_screen.h>
|
#include <class_pcb_screen.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
|
|
||||||
#include <gal/graphics_abstraction_layer.h>
|
#include <gal/graphics_abstraction_layer.h>
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <wxPcbStruct.h>
|
#include <wxPcbStruct.h>
|
||||||
#include <macros.h>
|
#include <macros.h>
|
||||||
#include <pcbcommon.h>
|
|
||||||
|
|
||||||
#include <class_board.h>
|
#include <class_board.h>
|
||||||
#include <class_module.h>
|
#include <class_module.h>
|
||||||
|
|
Loading…
Reference in New Issue