Commit 87225998 authored by Maciej Suminski's avatar Maciej Suminski
Browse files

CONDITIONAL_MENU supports separators and ordering.

parent 958046dd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ bool PCB_EDITOR_CONTROL::Init()

    if( selTool )
    {
        selTool->GetMenu().AddMenu( new ZONE_CONTEXT_MENU, _( "Zones" ),
        selTool->GetMenu().AddMenu( new ZONE_CONTEXT_MENU, _( "Zones" ), false,
                                    SELECTION_CONDITIONS::OnlyType( PCB_ZONE_AREA_T ) );
    }

+2 −1
Original line number Diff line number Diff line
@@ -63,7 +63,8 @@ bool PLACEMENT_TOOL::Init()
    menu->AppendSeparator();
    menu->Add( COMMON_ACTIONS::distributeHorizontally );
    menu->Add( COMMON_ACTIONS::distributeVertically );
    m_selectionTool->GetMenu().AddMenu( menu, _( "Align/distribute" ), SELECTION_CONDITIONS::MoreThan( 1 ) );
    m_selectionTool->GetMenu().AddMenu( menu, _( "Align/distribute" ), false,
                                        SELECTION_CONDITIONS::MoreThan( 1 ) );

    return true;
}
+10 −8
Original line number Diff line number Diff line
@@ -85,19 +85,21 @@ bool SELECTION_TOOL::Init()
{
    m_selection.group = new KIGFX::VIEW_GROUP;

    m_menu.AddMenu( new SELECT_MENU, _( "Select..." ),
    m_menu.AddMenu( new SELECT_MENU, _( "Select..." ), false,
            (SELECTION_CONDITION) SELECTION_CONDITIONS::OnlyConnectedItems &&
            SELECTION_CONDITIONS::Count( 1 ) );

    m_menu.AddItem( COMMON_ACTIONS::zoomCenter );
    m_menu.AddItem( COMMON_ACTIONS::zoomIn );
    m_menu.AddItem( COMMON_ACTIONS::zoomOut );
    m_menu.AddItem( COMMON_ACTIONS::zoomFitScreen );
    m_menu.AddSeparator( SELECTION_CONDITIONS::ShowAlways, 1000 );

    m_menu.AddMenu( new ZOOM_MENU( getEditFrame<PCB_BASE_FRAME>() ), "Zoom" );
    m_menu.AddMenu( new GRID_MENU( getEditFrame<PCB_BASE_FRAME>() ), "Grid" );
    m_menu.AddItem( COMMON_ACTIONS::zoomCenter, SELECTION_CONDITIONS::ShowAlways, 1000 );
    m_menu.AddItem( COMMON_ACTIONS::zoomIn, SELECTION_CONDITIONS::ShowAlways, 1000  );
    m_menu.AddItem( COMMON_ACTIONS::zoomOut , SELECTION_CONDITIONS::ShowAlways, 1000 );
    m_menu.AddItem( COMMON_ACTIONS::zoomFitScreen , SELECTION_CONDITIONS::ShowAlways, 1000 );

    //m_menu.AddSeparator();
    m_menu.AddMenu( new ZOOM_MENU( getEditFrame<PCB_BASE_FRAME>() ), "Zoom",
            false, SELECTION_CONDITIONS::ShowAlways, 1000 );
    m_menu.AddMenu( new GRID_MENU( getEditFrame<PCB_BASE_FRAME>() ), "Grid",
            false, SELECTION_CONDITIONS::ShowAlways, 1000 );

    return true;
}