Loading new/Doxyfile +2 −2 Original line number Diff line number Diff line Loading @@ -604,7 +604,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = EXCLUDE = build # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded Loading Loading @@ -1024,7 +1024,7 @@ GENERATE_LATEX = NO # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = . LATEX_OUTPUT = pdf # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. Loading new/design.h +12 −12 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ namespace SCH { /** @mainpage This file describes the design of a new Distributed Library System for Kicad's This file describes the design of a new Distributed Library System for KiCad's EESCHEMA. Many of the concepts can be adapted with modest modification to PCBNEW also, in the future. Loading Loading @@ -32,15 +32,15 @@ speed up the pace at which new parts are found and used. <p> Electronic component manufacturers need and look for ways to differentiate their products from their competitors. With this Distributed Library System facility in Kicad, one way for manufacturers to differentiate themselves and facility in KiCad, one way for manufacturers to differentiate themselves and their parts is to publish a part library on the Internet and save their customers the work of doing the data entry of the part into the Kicad design customers the work of doing the data entry of the part into the KiCad design system. <p> Maintaining a comprehensive part library is a fairly labor intensive activity. New parts come into the market everyday. By being able to publish a superior library on the Internet, it may be possible to make a for profit business out of doing this. The Kicad eco-system would benefit should this business out of doing this. The KiCad eco-system would benefit should this happen, and there could even be competition between such businesses. Or there can be library specializations or niches. Loading @@ -52,9 +52,9 @@ an existing part without completely re-designing it. It is sometimes easier to modify an existing part than it is to create the new part entirely from scratch. <p> This Distributed Library System design will have the capability to significantly benefit the Kicad eco-system, and that should mean expanding the significantly benefit the KiCad eco-system, and that should mean expanding the numbers of users and contributors to the project, and hopefully making for a better Kicad tool-set for all. better KiCad tool-set for all. @section definitions Definitions Loading Loading @@ -172,7 +172,7 @@ logical library names duplicately defined. (Or we will simply ask that any remot <p> Eventually there will be an external publicly available internet based logical library table also, but this will need to be glued down at a hard coded URL that we have control over. The internet based library table allows us to advertise remote libraries without having to issue an update to Kicad.</dd> advertise remote libraries without having to issue an update to KiCad.</dd> <dt>Query Language</dt><dd>This is a means of searching for something that is contained within a container. Since some library sources are remote, it is Loading Loading @@ -218,8 +218,8 @@ ever get done, the boundary of the plug-in interface will remain the C++ library API as given here (mostly in class LIB_SOURCE). The only reason to introduce a plug-in design is to allow proprietary closed source library implementations, and this could eventually come about if a part vendor wanted to provide one for the Kicad project. If a Texas Instruments type of company wants to maintain a Kicad library, we will be positioned to accommodate them. Until then, the the KiCad project. If a Texas Instruments type of company wants to maintain a KiCad library, we will be positioned to accommodate them. Until then, the LIB_SOURCE implementations can be statically linked into EESCHEMA and there is no conceptual disruption either way. Loading Loading @@ -247,9 +247,9 @@ conversion program can simplify things by simply putting all schematic parts into a parts list within each schematic. <li> An Internet connection is required to use some of the library sources. It will be possible to omit these library sources and run Kicad by doing a will be possible to omit these library sources and run KiCad by doing a configuration change. Eventually, some library sources will spring up and will not technically be part of the Kicad project, so they will remain remote, but not technically be part of the KiCad project, so they will remain remote, but fully usable to those with an internet connection and permission from the library source's owner. Loading Loading @@ -297,7 +297,7 @@ SCH for EESCHEMA, and PCB for PCBNEW. <p> Since most if not all the APIs deal with file or non-volatile storage, only 8 bit string types are used. For international strings, UTF-8 is used, and that is what is currently in use within the Kicad file storage formats. that is what is currently in use within the KiCad file storage formats. <p> The typedef <b>STRINGS</b> is used frequently as a holder for multiple std::strings. After some research, I chose std::dequeue<STRING> to hold a list of Loading new/import_export.h +2 −2 Original line number Diff line number Diff line /* * 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) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors. * Copyright (C) 2011 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 Loading new/sch_canvas.cpp +6 −16 Original line number Diff line number Diff line /* * 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) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors. * Copyright (C) 2011 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 Loading @@ -24,8 +24,8 @@ #include "sch_canvas.h" #include "sch_part.h" #include <gal/font/newstroke_font.h> namespace SCH { Loading @@ -40,28 +40,18 @@ CANVAS::CANVAS( wxWindow* aParent ) : SetScreenDPI( 100 ); // SetLookAtPoint( VECTOR2D( size.x / 2, size.y / 2 ) ); ComputeWorldScreenMatrix(); /* // Compute the world size m_worldSize = VECTOR2D( m_screenSize.x, m_screenSize.y ); m_isReady = true; m_isPanning = false; m_isGroupStarted = true; m_offset = 0.333; // Set the world unit length // SetLookAtPoint( VECTOR2D( size.x / 2, size.y / 2 ) ); // Load Font if( !m_font.LoadNewStrokeFont( newstroke_font, newstroke_font_bufsize ) ) { cout << "Loading of the font failed." << endl; printf( "Loading of the font failed.\n" ); } m_font.SetGraphicsAbstractionLayer( this ); */ } Loading new/sch_canvas.h +9 −6 Original line number Diff line number Diff line /* * 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) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors. * Copyright (C) 2011 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 Loading @@ -26,6 +26,7 @@ #define SCH_CANVAS_H_ #include <gal/opengl/opengl_gal.h> #include <gal/common/stroke_font.h> namespace SCH { Loading @@ -36,7 +37,9 @@ class CANVAS : public OPENGL_GAL { protected: PART* part; ///< which PART to draw PART* m_part; ///< which PART to draw STROKE_FONT m_font; void onRedraw( wxCommandEvent& event ); Loading @@ -49,8 +52,8 @@ public: */ PART* SetPart( PART* aPart ) { PART* ret = part; part = aPart; PART* ret = m_part; m_part = aPart; return ret; } Loading Loading
new/Doxyfile +2 −2 Original line number Diff line number Diff line Loading @@ -604,7 +604,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = EXCLUDE = build # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded Loading Loading @@ -1024,7 +1024,7 @@ GENERATE_LATEX = NO # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = . LATEX_OUTPUT = pdf # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. Loading
new/design.h +12 −12 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ namespace SCH { /** @mainpage This file describes the design of a new Distributed Library System for Kicad's This file describes the design of a new Distributed Library System for KiCad's EESCHEMA. Many of the concepts can be adapted with modest modification to PCBNEW also, in the future. Loading Loading @@ -32,15 +32,15 @@ speed up the pace at which new parts are found and used. <p> Electronic component manufacturers need and look for ways to differentiate their products from their competitors. With this Distributed Library System facility in Kicad, one way for manufacturers to differentiate themselves and facility in KiCad, one way for manufacturers to differentiate themselves and their parts is to publish a part library on the Internet and save their customers the work of doing the data entry of the part into the Kicad design customers the work of doing the data entry of the part into the KiCad design system. <p> Maintaining a comprehensive part library is a fairly labor intensive activity. New parts come into the market everyday. By being able to publish a superior library on the Internet, it may be possible to make a for profit business out of doing this. The Kicad eco-system would benefit should this business out of doing this. The KiCad eco-system would benefit should this happen, and there could even be competition between such businesses. Or there can be library specializations or niches. Loading @@ -52,9 +52,9 @@ an existing part without completely re-designing it. It is sometimes easier to modify an existing part than it is to create the new part entirely from scratch. <p> This Distributed Library System design will have the capability to significantly benefit the Kicad eco-system, and that should mean expanding the significantly benefit the KiCad eco-system, and that should mean expanding the numbers of users and contributors to the project, and hopefully making for a better Kicad tool-set for all. better KiCad tool-set for all. @section definitions Definitions Loading Loading @@ -172,7 +172,7 @@ logical library names duplicately defined. (Or we will simply ask that any remot <p> Eventually there will be an external publicly available internet based logical library table also, but this will need to be glued down at a hard coded URL that we have control over. The internet based library table allows us to advertise remote libraries without having to issue an update to Kicad.</dd> advertise remote libraries without having to issue an update to KiCad.</dd> <dt>Query Language</dt><dd>This is a means of searching for something that is contained within a container. Since some library sources are remote, it is Loading Loading @@ -218,8 +218,8 @@ ever get done, the boundary of the plug-in interface will remain the C++ library API as given here (mostly in class LIB_SOURCE). The only reason to introduce a plug-in design is to allow proprietary closed source library implementations, and this could eventually come about if a part vendor wanted to provide one for the Kicad project. If a Texas Instruments type of company wants to maintain a Kicad library, we will be positioned to accommodate them. Until then, the the KiCad project. If a Texas Instruments type of company wants to maintain a KiCad library, we will be positioned to accommodate them. Until then, the LIB_SOURCE implementations can be statically linked into EESCHEMA and there is no conceptual disruption either way. Loading Loading @@ -247,9 +247,9 @@ conversion program can simplify things by simply putting all schematic parts into a parts list within each schematic. <li> An Internet connection is required to use some of the library sources. It will be possible to omit these library sources and run Kicad by doing a will be possible to omit these library sources and run KiCad by doing a configuration change. Eventually, some library sources will spring up and will not technically be part of the Kicad project, so they will remain remote, but not technically be part of the KiCad project, so they will remain remote, but fully usable to those with an internet connection and permission from the library source's owner. Loading Loading @@ -297,7 +297,7 @@ SCH for EESCHEMA, and PCB for PCBNEW. <p> Since most if not all the APIs deal with file or non-volatile storage, only 8 bit string types are used. For international strings, UTF-8 is used, and that is what is currently in use within the Kicad file storage formats. that is what is currently in use within the KiCad file storage formats. <p> The typedef <b>STRINGS</b> is used frequently as a holder for multiple std::strings. After some research, I chose std::dequeue<STRING> to hold a list of Loading
new/import_export.h +2 −2 Original line number Diff line number Diff line /* * 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) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors. * Copyright (C) 2011 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 Loading
new/sch_canvas.cpp +6 −16 Original line number Diff line number Diff line /* * 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) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors. * Copyright (C) 2011 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 Loading @@ -24,8 +24,8 @@ #include "sch_canvas.h" #include "sch_part.h" #include <gal/font/newstroke_font.h> namespace SCH { Loading @@ -40,28 +40,18 @@ CANVAS::CANVAS( wxWindow* aParent ) : SetScreenDPI( 100 ); // SetLookAtPoint( VECTOR2D( size.x / 2, size.y / 2 ) ); ComputeWorldScreenMatrix(); /* // Compute the world size m_worldSize = VECTOR2D( m_screenSize.x, m_screenSize.y ); m_isReady = true; m_isPanning = false; m_isGroupStarted = true; m_offset = 0.333; // Set the world unit length // SetLookAtPoint( VECTOR2D( size.x / 2, size.y / 2 ) ); // Load Font if( !m_font.LoadNewStrokeFont( newstroke_font, newstroke_font_bufsize ) ) { cout << "Loading of the font failed." << endl; printf( "Loading of the font failed.\n" ); } m_font.SetGraphicsAbstractionLayer( this ); */ } Loading
new/sch_canvas.h +9 −6 Original line number Diff line number Diff line /* * 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) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors. * Copyright (C) 2011 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 Loading @@ -26,6 +26,7 @@ #define SCH_CANVAS_H_ #include <gal/opengl/opengl_gal.h> #include <gal/common/stroke_font.h> namespace SCH { Loading @@ -36,7 +37,9 @@ class CANVAS : public OPENGL_GAL { protected: PART* part; ///< which PART to draw PART* m_part; ///< which PART to draw STROKE_FONT m_font; void onRedraw( wxCommandEvent& event ); Loading @@ -49,8 +52,8 @@ public: */ PART* SetPart( PART* aPart ) { PART* ret = part; part = aPart; PART* ret = m_part; m_part = aPart; return ret; } Loading