Commit 1173add9 authored by charras's avatar charras
Browse files

Gerbview: finishing layer_widget integration to manage gerber layers colors and visibility

parent 9b57038c
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -4,13 +4,18 @@ KiCad ChangeLog 2010
Please add newer entries at the top, list the date and your name with
email address.

2010-Feb-04 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
++ gerbview:
    Use layer_widget to manage gerber layers colors and visibility.

2010-Jan-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
++ pcbnew:
    More about work on color selection and items visibility:
    removed global variables and a lot of redundancies
    Now Modedit does not uses the visiblity options of the board editor
    (That can create a problem id hide modules is activated)
    (That can create a problem if hide modules is activated)
    work in progress but almost finished


+2 −2
Original line number Diff line number Diff line
@@ -202,8 +202,8 @@ bool GERBER_LAYER_WIDGET::OnLayerSelect( int aLayer )
{
    // the layer change from the GERBER_LAYER_WIDGET can be denied by returning
    // false from this function.
//    myframe->setActiveLayer( aLayer, false );
//    myframe->syncLayerBox();
    myframe->setActiveLayer( aLayer, false );
    myframe->syncLayerBox();
    if(DisplayOpt.ContrastModeDisplay)
        myframe->DrawPanel->Refresh();

+1 −1
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ void WinEDA_GerberFrame::Process_Special_Functions( wxCommandEvent& event )
        break;

    case ID_TOOLBARH_GERBVIEW_SELECT_LAYER:
        GetScreen()->m_Active_Layer = m_SelLayerBox->GetChoice();
        setActiveLayer(m_SelLayerBox->GetChoice());
        DrawPanel->Refresh( TRUE );
        break;

+10 −6
Original line number Diff line number Diff line
@@ -47,15 +47,19 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event )
    case ID_MENU_INC_LAYER_AND_APPEND_FILE:
    case ID_INC_LAYER_AND_APPEND_FILE:
    {
        int origLayer = GetScreen()->m_Active_Layer;

        GetScreen()->m_Active_Layer++;
        int origLayer = getActiveLayer();
        if( origLayer < NB_LAYERS )
        {
            setActiveLayer(origLayer+1);

            if( !LoadOneGerberFile( wxEmptyString, 0 ) )
            GetScreen()->m_Active_Layer = origLayer;
                setActiveLayer(origLayer);

            SetToolbars();
        }
        else
            wxMessageBox(_("Cannot increment layer number: max count reached") );
    }
    break;

    case ID_APPEND_FILE:
+20 −0
Original line number Diff line number Diff line
@@ -415,6 +415,8 @@ void WinEDA_GerberFrame::ReFillLayerWidget()
        m_auimgr.Update();
    else
        m_LayersManager->SetSize( bestz );
    
    syncLayerWidget( );
}

/** Function IsGridVisible() , virtual
@@ -463,3 +465,21 @@ void WinEDA_GerberFrame::SetElementVisibility( int aGERBER_VISIBLE, bool aNewSta
    GetBoard()->SetElementVisibility( aGERBER_VISIBLE, aNewState );
    m_LayersManager->SetRenderState( aGERBER_VISIBLE, aNewState );
}


void WinEDA_GerberFrame::syncLayerWidget( )
{
    m_LayersManager->SelectLayer( getActiveLayer() );
}

/**
 * Function syncLayerBox
 * updates the currently "selected" layer within m_SelLayerBox
 * The currently active layer, as defined by the return value of
 * getActiveLayer().  And updates the colored icon in the toolbar.
 */
void WinEDA_GerberFrame::syncLayerBox()
{
    m_SelLayerBox->SetSelection( getActiveLayer() );
}
Loading