Commit 74a635c1 authored by dickelbeck's avatar dickelbeck
Browse files

see 2007-Sep-4 change_log.txt

parent 8383ce25
Loading
Loading
Loading
Loading
+12 −2
Original line number Original line Diff line number Diff line
@@ -4,6 +4,18 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with 
Please add newer entries at the top, list the date and your name with 
email address.
email address.



2007-Sep-4 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew
  * Made GENERAL_COLLECTORS_GUIDE and GENERAL_COLLECTOR useable.  They can now
    serve as a fully functional replacement for PcbGeneralLocateAndDisplay(),
    see DEBUG code in BOARD_ITEM* WinEDA_BasePcbFrame::PcbGeneralLocateAndDisplay().
  * Made GENERAL_COLLECTOR capable of Collect()ing from a MODULE as well as a BOARD.
  * pcbnew/onrightclick.cpp changed English from "Free Module" to "Unlock Module".
  Next I hope to add some UI to handle multiple items under the mouse in onrightclick.cpp
    

2007-sept-04 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
2007-sept-04 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
================================================================================
+ pcbnew
+ pcbnew
@@ -39,8 +51,6 @@ email address.
    be instantiated.  This was not happening in ioascii.cpp when reading 
    be instantiated.  This was not happening in ioascii.cpp when reading 
    the vias.  Bug fixed.
    the vias.  Bug fixed.
  * GENERAL_COLLECTOR getting closer to useable.
  * GENERAL_COLLECTOR getting closer to useable.
    @todo search further for new TRACK( TRACK* ) and make sure no vias are
    being made this way.




2007-aug-30 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
2007-aug-30 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
+5 −1
Original line number Original line Diff line number Diff line
@@ -43,7 +43,8 @@ OBJECTS = $(TARGET).o \
			class_edge_mod.o \
			class_edge_mod.o \
			class_equipot.o \
			class_equipot.o \
			class_track.o\
			class_track.o\
			basepcbframe.o
			basepcbframe.o\
            collectors.o


cvpcb.o: cvpcb.cpp cvpcb.h $(DEPEND)
cvpcb.o: cvpcb.cpp cvpcb.h $(DEPEND)


@@ -99,6 +100,9 @@ class_equipot.o: ../pcbnew/class_equipot.cpp $(DEPEND)
basepcbframe.o: ../pcbnew/basepcbframe.cpp $(DEPEND)
basepcbframe.o: ../pcbnew/basepcbframe.cpp $(DEPEND)
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp


collectors.o: ../pcbnew/collectors.cpp $(COMMON)
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp
    
readschematicnetlist.o: readschematicnetlist.cpp $(DEPEND)
readschematicnetlist.o: readschematicnetlist.cpp $(DEPEND)


viewlogi.o: viewlogi.cpp $(DEPEND)
viewlogi.o: viewlogi.cpp $(DEPEND)
+5 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,8 @@ OBJECTS= \
		block.o\
		block.o\
		controle.o\
		controle.o\
		basepcbframe.o\
		basepcbframe.o\
		export_to_pcbnew.o
		export_to_pcbnew.o\
        collectors.o


setpage.o: ../share/setpage.cpp
setpage.o: ../share/setpage.cpp
	$(CC) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp
	$(CC) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp
@@ -85,6 +86,9 @@ class_board.o: ../pcbnew/class_board.cpp $(DEPEND)
basepcbframe.o: ../pcbnew/basepcbframe.cpp $(COMMON)
basepcbframe.o: ../pcbnew/basepcbframe.cpp $(COMMON)
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp


collectors.o: ../pcbnew/collectors.cpp $(COMMON)
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp
    
class_track.o: ../pcbnew/class_track.cpp $(COMMON)
class_track.o: ../pcbnew/class_track.cpp $(COMMON)
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp
	$(CC) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp


+18 −5
Original line number Original line Diff line number Diff line
@@ -97,6 +97,7 @@ class PARAM_CFG_BASE;
class Ki_PageDescr;
class Ki_PageDescr;
class Ki_HotkeyInfo;
class Ki_HotkeyInfo;
class GENERAL_COLLECTOR;
class GENERAL_COLLECTOR;
class GENERAL_COLLECTORS_GUIDE;




enum id_librarytype {
enum id_librarytype {
@@ -338,6 +339,12 @@ public:
    bool   m_DisplayPcbTrackFill;   /* FALSE = sketch , TRUE = rempli */
    bool   m_DisplayPcbTrackFill;   /* FALSE = sketch , TRUE = rempli */
    WinEDA3D_DrawFrame* m_Draw3DFrame;
    WinEDA3D_DrawFrame* m_Draw3DFrame;


protected:    
#if defined(DEBUG)
    GENERAL_COLLECTOR*  m_Collector;
#endif
    
    
public:
public:
    WinEDA_BasePcbFrame( wxWindow* father, WinEDA_App* parent, int idtype,
    WinEDA_BasePcbFrame( wxWindow* father, WinEDA_App* parent, int idtype,
                         const wxString& title,
                         const wxString& title,
@@ -372,11 +379,6 @@ private:
    virtual void    GetComponentFromUndoList();
    virtual void    GetComponentFromUndoList();
    virtual void    GetComponentFromRedoList();
    virtual void    GetComponentFromRedoList();


#if defined(DEBUG)
protected:
    GENERAL_COLLECTOR*  m_Collector;
#endif
   
    
    
public:
public:
    // Read/write fonctions:
    // Read/write fonctions:
@@ -393,6 +395,14 @@ public:
    BOARD_ITEM*     PcbGeneralLocateAndDisplay();
    BOARD_ITEM*     PcbGeneralLocateAndDisplay();
    BOARD_ITEM*     Locate( int typeloc, int LayerSearch );
    BOARD_ITEM*     Locate( int typeloc, int LayerSearch );


#if defined(DEBUG)
    /**
     * Function GetCollectorsGuide
     * @return GENERAL_COLLECTORS_GUIDE - that considers the global configuration options.
     */
    GENERAL_COLLECTORS_GUIDE GetCollectorsGuide();
#endif
    
    // Gestion du curseur
    // Gestion du curseur
    void            place_marqueur( wxDC* DC, const wxPoint& pos, char* pt_bitmap,
    void            place_marqueur( wxDC* DC, const wxPoint& pos, char* pt_bitmap,
                                    int DrawMode, int color, int type );
                                    int DrawMode, int color, int type );
@@ -522,6 +532,7 @@ private:
    bool             m_SelViaSizeBox_Changed;
    bool             m_SelViaSizeBox_Changed;
    wxMenu*          m_FilesMenu;
    wxMenu*          m_FilesMenu;


    
public:
public:
    WinEDA_PcbFrame( wxWindow* father, WinEDA_App* parent, const wxString& title,
    WinEDA_PcbFrame( wxWindow* father, WinEDA_App* parent, const wxString& title,
                     const wxPoint& pos, const wxSize& size );
                     const wxPoint& pos, const wxSize& size );
@@ -765,6 +776,8 @@ public:
    EDA_BaseStruct* GerberGeneralLocateAndDisplay();
    EDA_BaseStruct* GerberGeneralLocateAndDisplay();
    EDA_BaseStruct* Locate( int typeloc );
    EDA_BaseStruct* Locate( int typeloc );
    
    
    

    void            SetToolbars();
    void            SetToolbars();
    void            Process_Settings( wxCommandEvent& event );
    void            Process_Settings( wxCommandEvent& event );
    void            Process_Config( wxCommandEvent& event );
    void            Process_Config( wxCommandEvent& event );
+115 −72
Original line number Original line Diff line number Diff line
@@ -15,6 +15,9 @@
#include "protos.h"
#include "protos.h"
#include "id.h"
#include "id.h"


#if defined(DEBUG)
#include "collectors.h"
#endif




/*******************************/
/*******************************/
@@ -25,9 +28,12 @@
/* Constructeur */
/* Constructeur */
/****************/
/****************/


WinEDA_BasePcbFrame::WinEDA_BasePcbFrame(wxWindow * father, WinEDA_App *parent,
WinEDA_BasePcbFrame::WinEDA_BasePcbFrame( wxWindow* father,
                                          WinEDA_App* parent,
                                          int idtype,
                                          int idtype,
					const wxString & title, const wxPoint& pos, const wxSize& size) :
                                          const wxString& title,
                                          const wxPoint& pos,
                                          const wxSize& size ) :
    WinEDA_DrawFrame( father, idtype, parent, title, pos, size )
    WinEDA_DrawFrame( father, idtype, parent, title, pos, size )
{
{
    m_InternalUnits = 10000;        // Internal unit = 1/10000 inch
    m_InternalUnits = 10000;        // Internal unit = 1/10000 inch
@@ -41,10 +47,19 @@ WinEDA_BasePcbFrame::WinEDA_BasePcbFrame(wxWindow * father, WinEDA_App *parent,
    m_DisplayModText      = FILLED; // How to show module texts
    m_DisplayModText      = FILLED; // How to show module texts
    m_DisplayPcbTrackFill = TRUE;   /* FALSE = sketch , TRUE = filled */
    m_DisplayPcbTrackFill = TRUE;   /* FALSE = sketch , TRUE = filled */
    m_Draw3DFrame = NULL;           // Display Window in 3D mode (OpenGL)
    m_Draw3DFrame = NULL;           // Display Window in 3D mode (OpenGL)
    
#if defined(DEBUG)    
    m_Collector                = new GENERAL_COLLECTOR();
#endif    
    
}
}



WinEDA_BasePcbFrame::~WinEDA_BasePcbFrame( void )
WinEDA_BasePcbFrame::~WinEDA_BasePcbFrame( void )
{
{
#if defined(DEBUG)    
    delete m_Collector;
#endif    
}
}




@@ -56,7 +71,8 @@ int dx, dy, ii,jj ;
    int    bestzoom;
    int    bestzoom;
    wxSize size;
    wxSize size;


	if ( m_Pcb == NULL ) return 32;
    if( m_Pcb == NULL )
        return 32;


    m_Pcb->ComputeBoundaryBox();
    m_Pcb->ComputeBoundaryBox();


@@ -71,7 +87,7 @@ wxSize size;


    m_CurrentScreen->m_Curseur = m_Pcb->m_BoundaryBox.Centre();
    m_CurrentScreen->m_Curseur = m_Pcb->m_BoundaryBox.Centre();


	return(bestzoom);
    return bestzoom;
}
}




@@ -79,15 +95,18 @@ void WinEDA_BasePcbFrame::ReCreateMenuBar(void) // fonction virtuelle
{
{
}
}



#include "3d_viewer.h"
#include "3d_viewer.h"


/***********************************************************/
/***********************************************************/
void WinEDA_BasePcbFrame::Show3D_Frame( wxCommandEvent& event )
void WinEDA_BasePcbFrame::Show3D_Frame( wxCommandEvent& event )
/***********************************************************/
/***********************************************************/

/* Ouvre la frame d'affichage 3D
/* Ouvre la frame d'affichage 3D
 */
 */
{
{
#ifndef GERBVIEW
#ifndef GERBVIEW

    // Create the main frame window
    // Create the main frame window
    if( m_Draw3DFrame )
    if( m_Draw3DFrame )
    {
    {
@@ -110,12 +129,14 @@ void WinEDA_BasePcbFrame::SaveCopyInUndoList(EDA_BaseStruct * ItemToCopy, int fl
{
{
}
}



/********************************************************/
/********************************************************/
void WinEDA_BasePcbFrame::GetComponentFromUndoList( void )
void WinEDA_BasePcbFrame::GetComponentFromUndoList( void )
/********************************************************/
/********************************************************/
{
{
}
}



/********************************************************/
/********************************************************/
void WinEDA_BasePcbFrame::GetComponentFromRedoList( void )
void WinEDA_BasePcbFrame::GetComponentFromRedoList( void )
/********************************************************/
/********************************************************/
@@ -129,12 +150,15 @@ void WinEDA_BasePcbFrame::SwitchLayer(wxDC *DC, int layer)
{
{
    //Note: virtual, overridden in WinEDA_PcbFrame;
    //Note: virtual, overridden in WinEDA_PcbFrame;
    int preslayer = GetScreen()->m_Active_Layer;
    int preslayer = GetScreen()->m_Active_Layer;

    //if there is only one layer, don't switch.
    //if there is only one layer, don't switch.
    if( m_Pcb->m_BoardSettings->m_CopperLayerCount <= 1 )
    if( m_Pcb->m_BoardSettings->m_CopperLayerCount <= 1 )
        layer = LAYER_CUIVRE_N; // Of course we select the copper layer
        layer = LAYER_CUIVRE_N; // Of course we select the copper layer
    
    //otherwise, we select the requested layer only if it is possible
    //otherwise, we select the requested layer only if it is possible
    if( layer != LAYER_CMP_N && layer >= m_Pcb->m_BoardSettings->m_CopperLayerCount - 1 )
    if( layer != LAYER_CMP_N && layer >= m_Pcb->m_BoardSettings->m_CopperLayerCount - 1 )
        return;
        return;
    
    if( preslayer == layer )
    if( preslayer == layer )
        return;
        return;


@@ -144,4 +168,23 @@ void WinEDA_BasePcbFrame::SwitchLayer(wxDC *DC, int layer)
        GetScreen()->SetRefreshReq();
        GetScreen()->SetRefreshReq();
}
}


#if defined(DEBUG)
/****************************************************************/
GENERAL_COLLECTORS_GUIDE WinEDA_BasePcbFrame::GetCollectorsGuide()
/****************************************************************/
{
    GENERAL_COLLECTORS_GUIDE    guide( m_Pcb->m_BoardSettings->GetVisibleLayers(), 
                                      GetScreen()->m_Active_Layer ); 

    // account for the globals
    guide.SetIgnoreMTextsMarkedNoShow( g_ModuleTextNOVColor & ITEM_NOT_SHOW );
    guide.SetIgnoreMTextsOnCopper( g_ModuleTextCUColor & ITEM_NOT_SHOW );
    guide.SetIgnoreMTextsOnCmp( g_ModuleTextCMPColor & ITEM_NOT_SHOW );
    guide.SetIgnoreModulesOnCu( !DisplayOpt.Show_Modules_Cu );
    guide.SetIgnoreModulesOnCmp( !DisplayOpt.Show_Modules_Cmp );

    return guide;
}

#endif
Loading