Commit 81509a11 authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Gerbview: code cleanup and a minoe enhancement. Kicad: minor code cleanup

parents c4948a6c cb8a0315
Loading
Loading
Loading
Loading
+31 −0
Original line number Original line Diff line number Diff line
@@ -278,6 +278,37 @@ void EDA_BASE_FRAME::GetKicadHelp( wxCommandEvent& event )
#endif
#endif
}
}


/*
 * Function OnSelectPreferredEditor
 * Open a dialog to select the preferred editor that will be used in Kicad
 * to edit or display files (reports ... )
 * The full filename editor is saved in configuration (global params)
 */
void EDA_BASE_FRAME::OnSelectPreferredEditor( wxCommandEvent& event )
{
    wxFileName fn = wxGetApp().m_EditorName;
    wxString wildcard( wxT( "*" ) );

#ifdef __WINDOWS__
    wildcard += wxT( ".exe" );
#endif

    wildcard = _( "Executable file (" ) + wildcard + wxT( ")|" ) + wildcard;

    wxFileDialog dlg( this, _( "Select Prefered Editor" ), fn.GetPath(),
                      fn.GetFullName(), wildcard,
                      wxFD_OPEN | wxFD_FILE_MUST_EXIST );

    if( dlg.ShowModal() == wxID_CANCEL )
        return;

    wxASSERT( wxGetApp().m_EDA_CommonConfig );

    wxConfig* cfg = wxGetApp().m_EDA_CommonConfig;
    wxGetApp().m_EditorName = dlg.GetPath();
    cfg->Write( wxT( "Editor" ), wxGetApp().m_EditorName );
}



/*
/*
 *
 *
+1 −1
Original line number Original line Diff line number Diff line
@@ -6,7 +6,7 @@
#endif
#endif


#ifndef KICAD_BUILD_VERSION
#ifndef KICAD_BUILD_VERSION
#define KICAD_BUILD_VERSION "(2011-03-11 BZR 2884)"
#define KICAD_BUILD_VERSION "(2011-03-12)"
#endif
#endif


//#define VERSION_STABILITY      "stable"
//#define VERSION_STABILITY      "stable"
+31 −68
Original line number Original line Diff line number Diff line
update=01/04/2010 16:21:47
update=12/03/2011 18:54:54
version=1
version=1
last_client=eeschema
last_client=pcbnew
[cvpcb]
[cvpcb]
version=1
version=1
NetITyp=0
NetITyp=0
@@ -11,72 +11,6 @@ LibDir=
NetType=0
NetType=0
[cvpcb/libraries]
[cvpcb/libraries]
EquName1=devcms
EquName1=devcms
[pcbnew]
version=1
PadDrlX=320
PadDimH=600
PadDimV=600
PadForm=1
PadMask=14745599
ViaDiam=450
ViaDril=250
Isol=60
Countlayer=2
Lpiste=170
RouteTo=15
RouteBo=0
TypeVia=3
Segm45=1
Racc45=1
Unite=0
SegFill=1
SegAffG=0
NewAffG=1
PadFill=1
PadAffG=1
PadSNum=1
ModAffC=0
ModAffT=0
PcbAffT=0
SgPcb45=1
TxtPcbV=800
TxtPcbH=600
TxtModV=600
TxtModH=600
TxtModW=120
HPGLnum=1
HPGdiam=15
HPGLSpd=20
HPGLrec=2
HPGLorg=0
GERBmin=15
VEgarde=100
DrawLar=150
EdgeLar=150
TxtLar=120
MSegLar=150
ForPlot=1
WpenSer=10
UserGrX=0,01
UserGrY=0,01
UserGrU=1
DivGrPc=1
TimeOut=600
MaxLnkS=3
ShowRat=0
ShowMRa=1
[pcbnew/libraries]
LibDir=
LibName1=sockets
LibName2=connect
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=libcms
LibName7=display
LibName8=valves
LibName9=led
LibName10=dip_sockets
[general]
[general]
version=1
version=1
[eeschema]
[eeschema]
@@ -123,3 +57,32 @@ LibName5=linear
LibName6=regul
LibName6=regul
LibName7=interface
LibName7=interface
LibName8=special
LibName8=special
[pcbnew]
version=1
PadDrlX=320
PadDimH=600
PadDimV=600
BoardThickness=630
TxtPcbV=800
TxtPcbH=600
TxtModV=600
TxtModH=600
TxtModW=120
VEgarde=100
DrawLar=150
EdgeLar=150
TxtLar=120
MSegLar=150
LastNetListRead=
[pcbnew/libraries]
LibDir=
LibName1=sockets
LibName2=connect
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=libcms
LibName7=display
LibName8=valves
LibName9=led
LibName10=dip_sockets
+5 −3
Original line number Original line Diff line number Diff line
@@ -13,6 +13,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}
###
###
# Sources
# Sources
###
###

set(DIALOGS_SRCS
set(DIALOGS_SRCS
    dialogs/gerbview_dialog_display_options_frame_base.cpp
    dialogs/gerbview_dialog_display_options_frame_base.cpp
    dialogs/gerbview_dialog_display_options_frame.cpp
    dialogs/gerbview_dialog_display_options_frame.cpp
@@ -35,9 +36,9 @@ set(GERBVIEW_SRCS
    edit.cpp
    edit.cpp
    export_to_pcbnew.cpp
    export_to_pcbnew.cpp
    files.cpp
    files.cpp
    gerberframe.cpp
    gerbview_config.cpp
    gerbview.cpp
    gerbview.cpp
    gerbview_config.cpp
    gerbview_frame.cpp
    hotkeys.cpp
    hotkeys.cpp
    initpcb.cpp
    initpcb.cpp
    locate.cpp
    locate.cpp
@@ -50,7 +51,8 @@ set(GERBVIEW_SRCS
    rs274d.cpp
    rs274d.cpp
    rs274x.cpp
    rs274x.cpp
    select_layers_to_pcb.cpp
    select_layers_to_pcb.cpp
    toolbars_gerber.cpp )
    toolbars_gerber.cpp
    )


###
###
# We need some extra sources from pcbnew
# We need some extra sources from pcbnew
+20 −47
Original line number Original line Diff line number Diff line
/**********************************************************/
/**********************************/
/* Block operations: displacement, rotation, deletion ... */
/* Block operations: displacement */
/**********************************************************/
/**********************************/


/*
/*
 * 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.
@@ -28,15 +28,14 @@




#include "fctsys.h"
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "common.h"
#include "class_drawpanel.h"
#include "class_drawpanel.h"
#include "trigo.h"
#include "confirm.h"
#include "confirm.h"


#include "gerbview.h"
#include "gerbview.h"
#include "class_gerber_draw_item.h"
#include "class_gerber_draw_item.h"


#include "wx/debug.h"


#define BLOCK_COLOR BROWN
#define BLOCK_COLOR BROWN


@@ -46,6 +45,7 @@ static void DrawMovingBlockOutlines( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wx


/* Return the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to
/* Return the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to
 *  the key (ALT, SHIFT ALT ..)
 *  the key (ALT, SHIFT ALT ..)
 * Currently, only block move and block zoom is supported
 */
 */
int GERBVIEW_FRAME::ReturnBlockCommand( int key )
int GERBVIEW_FRAME::ReturnBlockCommand( int key )
{
{
@@ -62,17 +62,9 @@ int GERBVIEW_FRAME::ReturnBlockCommand( int key )
        break;
        break;


    case GR_KB_SHIFT:
    case GR_KB_SHIFT:
        break;

    case GR_KB_CTRL:
    case GR_KB_CTRL:
        break;

    case GR_KB_SHIFTCTRL:
    case GR_KB_SHIFTCTRL:
        cmd = BLOCK_DELETE;
        break;

    case GR_KB_ALT:
    case GR_KB_ALT:
        cmd = BLOCK_COPY;
        break;
        break;


    case MOUSE_MIDDLE:
    case MOUSE_MIDDLE:
@@ -87,25 +79,13 @@ int GERBVIEW_FRAME::ReturnBlockCommand( int key )
/* Routine to handle the BLOCK PLACE command */
/* Routine to handle the BLOCK PLACE command */
void GERBVIEW_FRAME::HandleBlockPlace( wxDC* DC )
void GERBVIEW_FRAME::HandleBlockPlace( wxDC* DC )
{
{
    bool err = false;
    wxASSERT( DrawPanel->IsMouseCaptured() );


    if( !DrawPanel->IsMouseCaptured() )
    {
        err = true;
        DisplayError( this,
                      wxT( "Error in HandleBlockPLace : m_mouseCaptureCallback = NULL" ) );
    }
    GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_STOP;
    GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_STOP;


    switch( GetScreen()->m_BlockLocate.m_Command )
    switch( GetScreen()->m_BlockLocate.m_Command )
    {
    {
    case BLOCK_IDLE:
        err = true;
        break;

    case BLOCK_DRAG:                /* Drag */
    case BLOCK_MOVE:                /* Move */
    case BLOCK_MOVE:                /* Move */
    case BLOCK_PRESELECT_MOVE:      /* Move with preselection list*/
        if( DrawPanel->IsMouseCaptured() )
        if( DrawPanel->IsMouseCaptured() )
            DrawPanel->m_mouseCaptureCallback( DrawPanel, DC, wxDefaultPosition, false );
            DrawPanel->m_mouseCaptureCallback( DrawPanel, DC, wxDefaultPosition, false );


@@ -122,9 +102,9 @@ void GERBVIEW_FRAME::HandleBlockPlace( wxDC* DC )
        break;
        break;


    case BLOCK_PASTE:
    case BLOCK_PASTE:
        break;
    case BLOCK_DRAG:

    case BLOCK_PRESELECT_MOVE:
    case BLOCK_ZOOM:        // Handle by HandleBlockEnd()
    case BLOCK_ZOOM:
    case BLOCK_ROTATE:
    case BLOCK_ROTATE:
    case BLOCK_FLIP:
    case BLOCK_FLIP:
    case BLOCK_DELETE:
    case BLOCK_DELETE:
@@ -133,6 +113,8 @@ void GERBVIEW_FRAME::HandleBlockPlace( wxDC* DC )
    case BLOCK_SELECT_ITEMS_ONLY:
    case BLOCK_SELECT_ITEMS_ONLY:
    case BLOCK_MIRROR_X:
    case BLOCK_MIRROR_X:
    case BLOCK_MIRROR_Y:
    case BLOCK_MIRROR_Y:
    case BLOCK_IDLE:
        wxFAIL_MSG( wxT("HandleBlockPlace: Unexpected block command") );
        break;
        break;
    }
    }


@@ -142,11 +124,7 @@ void GERBVIEW_FRAME::HandleBlockPlace( wxDC* DC )
    GetScreen()->SetModify();
    GetScreen()->SetModify();
    GetScreen()->ClearBlockCommand();
    GetScreen()->ClearBlockCommand();


    if( GetScreen()->m_BlockLocate.GetCount() )
    wxASSERT( GetScreen()->m_BlockLocate.GetCount() == 0 );
    {
        DisplayError( this, wxT( "HandleBlockPLace error: some items left" ) );
        GetScreen()->m_BlockLocate.ClearItemsList();
    }


    DisplayToolMsg( wxEmptyString );
    DisplayToolMsg( wxEmptyString );
}
}
@@ -171,15 +149,8 @@ bool GERBVIEW_FRAME::HandleBlockEnd( wxDC* DC )


        switch( GetScreen()->m_BlockLocate.m_Command )
        switch( GetScreen()->m_BlockLocate.m_Command )
        {
        {
        case BLOCK_IDLE:
            DisplayError( this, wxT( "Error in HandleBlockPLace" ) );
            break;

        case BLOCK_DRAG:            /* Drag (not used, for future
                                     * enhancements) */
        case BLOCK_MOVE:            /* Move */
        case BLOCK_MOVE:            /* Move */
        case BLOCK_COPY:            /* Copy */
        case BLOCK_COPY:            /* Copy */
        case BLOCK_PRESELECT_MOVE:  /* Move with preselection list */
            GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
            GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
            nextcmd = true;
            nextcmd = true;
            DrawPanel->m_mouseCaptureCallback( DrawPanel, DC, wxDefaultPosition, false );
            DrawPanel->m_mouseCaptureCallback( DrawPanel, DC, wxDefaultPosition, false );
@@ -193,20 +164,22 @@ bool GERBVIEW_FRAME::HandleBlockEnd( wxDC* DC )
            Block_Delete( DC );
            Block_Delete( DC );
            break;
            break;


        case BLOCK_ZOOM: /* Window Zoom */
            zoom_command = true;
            break;

        case BLOCK_PRESELECT_MOVE:  /* Move with preselection list */
        case BLOCK_DRAG:
        case BLOCK_IDLE:
        case BLOCK_MIRROR_X:    /* Mirror, unused*/
        case BLOCK_MIRROR_X:    /* Mirror, unused*/
        case BLOCK_ROTATE:      /* Unused */
        case BLOCK_ROTATE:      /* Unused */
        case BLOCK_FLIP:        /* Flip, unused */
        case BLOCK_FLIP:        /* Flip, unused */
        case BLOCK_SAVE:        /* Save (not used)*/
        case BLOCK_SAVE:        /* Save (not used)*/
        case BLOCK_PASTE:
        case BLOCK_PASTE:
            break;

        case BLOCK_ZOOM: /* Window Zoom */
            zoom_command = true;
            break;

        case BLOCK_ABORT:
        case BLOCK_ABORT:
        case BLOCK_SELECT_ITEMS_ONLY:
        case BLOCK_SELECT_ITEMS_ONLY:
        case BLOCK_MIRROR_Y:
        case BLOCK_MIRROR_Y:
            wxFAIL_MSG( wxT("HandleBlockEnd: Unexpected block command") );
            break;
            break;
        }
        }


Loading