Commit 3341669f authored by Dick Hollenbeck's avatar Dick Hollenbeck
Browse files

more footprint support for LEGACY_PLUGIN

parent a42490e0
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -23,8 +23,6 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
option(USE_PCBNEW_SEXPR_FILE_FORMAT
       "Use s-expression Pcbnew file format support (default OFF)." )

option(USE_NEW_PCBNEW_LOAD "use new plugin support for legacy file format" ON)
option(USE_NEW_PCBNEW_SAVE "use new plugin support for legacy file format" ON)
option(USE_PCBNEW_NANOMETRES
       "Use nanometers for Pcbnew internal units instead of deci-mils (default OFF).")

+0 −2
Original line number Diff line number Diff line
@@ -55,8 +55,6 @@

#cmakedefine USE_IMAGES_IN_MENUS 1

#cmakedefine USE_NEW_PCBNEW_LOAD
#cmakedefine USE_NEW_PCBNEW_SAVE
#cmakedefine USE_PCBNEW_NANOMETRES
#cmakedefine USE_PCBNEW_SEXPR_FILE_FORMAT

+3 −11
Original line number Diff line number Diff line
@@ -116,21 +116,13 @@ set(PCB_COMMON_SRCS
    ../pcbnew/collectors.cpp
    ../pcbnew/sel_layer.cpp
    ../pcbnew/pcb_plot_params.cpp
    pcb_plot_params_keywords.cpp
    dialogs/dialog_page_settings.cpp
)

if( USE_NEW_PCBNEW_LOAD OR USE_NEW_PCBNEW_SAVE )
    set( PCB_COMMON_SRCS
         ${PCB_COMMON_SRCS}
         ../pcbnew/item_io.cpp
    ../pcbnew/io_mgr.cpp
    ../pcbnew/legacy_plugin.cpp
    ../pcbnew/kicad_plugin.cpp
    pcb_plot_params_keywords.cpp
    dialogs/dialog_page_settings.cpp
)
else()
    set( PCB_COMMON_SRCS ${PCB_COMMON_SRCS} ../pcbnew/item_io.cpp )
endif()


# add -DPCBNEW to compilation of these PCBNEW sources
set_source_files_properties( ${PCB_COMMON_SRCS} PROPERTIES
+0 −30
Original line number Diff line number Diff line
@@ -98,26 +98,6 @@ public:
    BOARD_ITEM* Back() const { return (BOARD_ITEM*) Pback; }
    BOARD_ITEM* GetParent() const { return (BOARD_ITEM*) m_Parent; }

#if 0
    // DICK: there is no value in having a polymorphic {Get,Set}Position().  We never
    // call GetPosition() using a generic pointer, and the virtual is slower and
    // can never be inlined.

    /**
     * Function GetPosition
     * returns the position of this object.
     * @return const wxPoint - The position of this object
     */
    virtual const wxPoint GetPosition() const = 0;

     /**
      * Function SetPosition
      * sets the position of this object.
      * @param aPos is the new position of this object
      */
    virtual void SetPosition( const wxPoint& aPos ) = 0;
#endif

    /**
     * Function GetLayer
     * returns the layer this item is on.
@@ -173,7 +153,6 @@ public:
        return false;   // only MODULEs can be locked at this time.
    }


    /**
     * Function UnLink
     * detaches this object from its owner.  This base class implementation
@@ -191,21 +170,12 @@ public:
        delete this;
    }


    /**
     * Function ShowShape
     * converts the enum STROKE_T integer value to a wxString.
     */
    static wxString ShowShape( STROKE_T aShape );

    /**
     * Function Save
     * writes the data structures for this object out to a FILE in "*.brd" format.
     * @param aFile The FILE to write to.
     * @return bool - true if success writing else false.
     */
    virtual bool Save( FILE* aFile ) const = 0;

    // Some geometric transforms, that must be rewritten for derived classes
    /**
     * Function Move
+35 −9
Original line number Diff line number Diff line
@@ -373,20 +373,45 @@ public:
    // loading footprints

    /**
     * Function GetModuleLibrary
     * Function loadFootprintFromLibrary
     * loads @a aFootprintName from @a aLibraryPath.
     * If found add the module is also added to the BOARD, just for good measure.
     *
     *  Read active libraries or one library to find and load a given module
     *  If found the module is linked to the tail of linked list of modules
     *  @param aLibraryFullFilename - the full filename of the library to read. If empty,
     *                   all active libraries are read
     *  @param aModuleName = module name to load
     *  @param aDisplayMessageError = true to display an error message if any.
     *
     *  @param aFootprintName is the footprint to load
     *
     *  @param aDisplayError = true to display an error message if any.
     *
     *  @return MODULE* - new module, or NULL
     */
    MODULE* loadFootprintFromLibrary( const wxString& aLibraryPath,
              const wxString& aFootprintName, bool aDisplayError );

    MODULE* loadFootprintFromLibraries( const wxString& aFootprintName,
                              bool            aDisplayError );

    /**
     * Function GetModuleLibrary
     * scans active libraries to find and load @a aFootprintName.
     * If found add the module is also added to the BOARD, just for good measure.
     *
     *  @param aFootprintName is the footprint to load
     *
     *  @param aDisplayError = true to display an error message if any.
     *
     *  @return a pointer to the new module, or NULL
     *
     */
    MODULE* GetModuleLibrary( const wxString& aLibraryFullFilename,
                              const wxString& aModuleName,
                              bool            aDisplayMessageError );
    MODULE* GetModuleLibrary( const wxString& aLibraryPath, const wxString& aFootprintName,
                              bool aDisplayError )
    {
        if( !aLibraryPath )
            return loadFootprintFromLibraries( aFootprintName, aDisplayError );
        else
            return loadFootprintFromLibrary( aLibraryPath, aFootprintName, aDisplayError );
    }

    /**
     * Function Select_1_Module_From_List
@@ -409,7 +434,8 @@ public:

    /**
     * Function Load_Module_From_Library
     * Open a dialog to select a footprint, and load in in current board
     * opens a dialog to select a footprint, and loads it into current board.
     *
     * @param aLibrary = the library name to use, or empty string to search
     * in all loaded libraries
     * @param aUseFootprintViewer = true to show the option
Loading