Commit 1ae31edb authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Gerbview: Minor fixes

parent 46f106b6
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -261,9 +261,14 @@ void GERBVIEW_FRAME::OnShowGerberSourceFile( wxCommandEvent& event )
            ExecuteFile( this, editorname, QuoteFullPath( fn ) );
        }
        else
        {
            wxMessageBox( _( "No editor defined. Please select one" ) );
    }

    else
    {
        wxString msg;
        msg.Printf( _( "No file loaded on the active layer %d" ), layer + 1 );
        wxMessageBox( msg );
    }
}

+32 −22
Original line number Diff line number Diff line
@@ -153,12 +153,14 @@ bool GERBER_IMAGE::ExecuteRS274XCommand( int command,
                                   char*&    text )
{
    int      code;
    int      xy_seq_len;        // not used, provided but not yet in use
    int      xy_seq_char;
    int      seq_len;    // not used, just provided
    int      seq_char;
    bool     ok = true;
    char     line[GERBER_BUFZ];
    wxString msg;
    double   fcoord;
    bool     x_fmt_known = false;
    bool     y_fmt_known = false;

    // conv_scale = scaling factor from inch to Internal Unit
    double   conv_scale = IU_PER_MILS * 1000;
@@ -170,7 +172,7 @@ bool GERBER_IMAGE::ExecuteRS274XCommand( int command,
    switch( command )
    {
    case FORMAT_STATEMENT:
        xy_seq_len = 2;
        seq_len = 2;

        while( *text != '*' )
        {
@@ -192,11 +194,6 @@ bool GERBER_IMAGE::ExecuteRS274XCommand( int command,
                text++;
                break;

            case 'D':       // Decimal format: sometimes found, but not really documented
                m_DecimalFormat = true;
                text++;
                break;

            case 'A':       // Absolute coord
                m_Relative = false;
                text++;
@@ -207,23 +204,36 @@ bool GERBER_IMAGE::ExecuteRS274XCommand( int command,
                text++;
                break;

            case 'N':       // Sequence code (followed by the number of digits
                            // for the X,Y command
            case 'G':
            case 'N':       // Sequence code (followed by one digit: the sequence len)
                            // (sometimes found before the X,Y sequence)
                            // Obscure option
                text++;
                xy_seq_char = *text++;
                if( (xy_seq_char >= '0') && (xy_seq_char <= '9') )
                    xy_seq_len = -'0';
                seq_char = *text++;
                if( (seq_char >= '0') && (seq_char <= '9') )
                    seq_len = seq_char - '0';
                break;

            case 'D':
            case 'M':       // Sequence code (followed by one digit: the sequence len)
                            // (sometimes found after the X,Y sequence)
                            // Obscure option
                code = *text++;
                if( ( *text >= '0' ) && ( *text<= '9' ) )
                    text++;     // skip the digit
                else if( code == 'D' )
                    // Decimal format: sometimes found, but not really documented
                    m_DecimalFormat = true;
                break;

            case 'X':
            case 'Y':       // Values transmitted :2 (really xy_seq_len :
                            // digits
            case 'Y':
            {
                code = *(text++);
                char ctmp = *(text++) - '0';
                if( code == 'X' )
                {
                    xy_seq_len--;
                    x_fmt_known = true;
                    // number of digits after the decimal point (0 to 6 allowed)
                    m_FmtScale.x = *text - '0';
                    m_FmtLen.x   = ctmp + m_FmtScale.x;
@@ -236,7 +246,7 @@ bool GERBER_IMAGE::ExecuteRS274XCommand( int command,
                }
                else
                {
                    xy_seq_len--;
                    y_fmt_known = true;
                    m_FmtScale.y = *text - '0';
                    m_FmtLen.y   = ctmp + m_FmtScale.y;
                    if( m_FmtScale.y < 0 )
@@ -252,16 +262,16 @@ bool GERBER_IMAGE::ExecuteRS274XCommand( int command,
                break;

            default:
                msg.Printf( wxT( "Unknown id (%c) in FS command" ),
                           *text );
                ReportMessage( msg );
                GetEndOfBlock( buff, text, m_Current_File );
                ok = false;
                break;
            }
        }

        if( xy_seq_len != 0 )
        {
            ReportMessage( wxT( "RS274X: suspicious Format Statement (FS) command" ) );
        }
        if( !x_fmt_known || !y_fmt_known )
            ReportMessage( wxT( "RS274X: Format Statement (FS) without X or Y format" ) );

        break;

+2 −2
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@

; General Product Description Definitions
!define PRODUCT_NAME "KiCad"
!define PRODUCT_VERSION "2013.03.04"
!define PRODUCT_VERSION "2013.03.06"
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
!define COMPANY_NAME ""
@@ -36,7 +36,7 @@ SetCompressor /final /solid lzma
CRCCheck force
XPStyle on
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}_stable-${PRODUCT_VERSION}-BZR3982_Win_full_version.exe"
OutFile "${PRODUCT_NAME}_stable-${PRODUCT_VERSION}-BZR3986_Win_full_version.exe"
InstallDir "$PROGRAMFILES\KiCad"
ShowInstDetails hide
ShowUnInstDetails hide