Commit 267bca58 authored by Garth Corral's avatar Garth Corral
Browse files

Merge trunk @ 5363

parents b941da6b 0cb7c3dc
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -183,6 +183,12 @@ EDA_DRAW_FRAME* EDA_DRAW_PANEL::GetParent() const
}
}




void* EDA_DRAW_PANEL::GetDisplayOptions()
{
    return GetParent()->GetDisplayOptions();
}


BASE_SCREEN* EDA_DRAW_PANEL::GetScreen()
BASE_SCREEN* EDA_DRAW_PANEL::GetScreen()
{
{
    EDA_DRAW_FRAME* parentFrame = GetParent();
    EDA_DRAW_FRAME* parentFrame = GetParent();
+24 −23
Original line number Original line Diff line number Diff line
@@ -53,9 +53,6 @@
#include <3d_viewer.h>
#include <3d_viewer.h>




DISPLAY_OPTIONS DisplayOpt;      // General display options


BEGIN_EVENT_TABLE( DISPLAY_FOOTPRINTS_FRAME, PCB_BASE_FRAME )
BEGIN_EVENT_TABLE( DISPLAY_FOOTPRINTS_FRAME, PCB_BASE_FRAME )
    EVT_CLOSE( DISPLAY_FOOTPRINTS_FRAME::OnCloseWindow )
    EVT_CLOSE( DISPLAY_FOOTPRINTS_FRAME::OnCloseWindow )
    EVT_SIZE( DISPLAY_FOOTPRINTS_FRAME::OnSize )
    EVT_SIZE( DISPLAY_FOOTPRINTS_FRAME::OnSize )
@@ -100,10 +97,11 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, CVPCB_MAINFRA
    GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId );
    GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId );


    // Initialize some display options
    // Initialize some display options
    DisplayOpt.DisplayPadIsol = false;      // Pad clearance has no meaning here
    DISPLAY_OPTIONS* displ_opts = (DISPLAY_OPTIONS*)GetDisplayOptions();
    displ_opts->m_DisplayPadIsol = false;      // Pad clearance has no meaning here


    // Track and via clearance has no meaning here.
    // Track and via clearance has no meaning here.
    DisplayOpt.ShowTrackClearanceMode = DO_NOT_SHOW_CLEARANCE;
    displ_opts->m_ShowTrackClearanceMode = DO_NOT_SHOW_CLEARANCE;


    SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y );
    SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y );
    ReCreateHToolbar();
    ReCreateHToolbar();
@@ -248,34 +246,36 @@ void DISPLAY_FOOTPRINTS_FRAME::ReCreateHToolbar()


void DISPLAY_FOOTPRINTS_FRAME::OnUpdateTextDrawMode( wxUpdateUIEvent& aEvent )
void DISPLAY_FOOTPRINTS_FRAME::OnUpdateTextDrawMode( wxUpdateUIEvent& aEvent )
{
{
    wxString msgTextsFill[3] = { _( "Show texts in line mode" ),
    DISPLAY_OPTIONS* displ_opts = (DISPLAY_OPTIONS*)GetDisplayOptions();
                                 _( "Show texts in filled mode" ),

    wxString msgTextsFill[2] = { _( "Show texts in filled mode" ),
                                 _( "Show texts in sketch mode" ) };
                                 _( "Show texts in sketch mode" ) };


    unsigned i = m_DisplayModText + 1;
    unsigned i = displ_opts->m_DisplayModText + 1;


    if ( i > 2 )
    if ( i > 2 )
        i = 0;
        i = 1;


    aEvent.Check( m_DisplayModText == 0 );
    aEvent.Check( displ_opts->m_DisplayModText == 1 );
    m_optionsToolBar->SetToolShortHelp( ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH, msgTextsFill[i] );
    m_optionsToolBar->SetToolShortHelp( ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH, msgTextsFill[i-1] );


}
}




void DISPLAY_FOOTPRINTS_FRAME::OnUpdateLineDrawMode( wxUpdateUIEvent& aEvent )
void DISPLAY_FOOTPRINTS_FRAME::OnUpdateLineDrawMode( wxUpdateUIEvent& aEvent )
{
{
    wxString msgEdgesFill[3] = { _( "Show outlines in line mode" ),
    DISPLAY_OPTIONS* displ_opts = (DISPLAY_OPTIONS*)GetDisplayOptions();
                                 _( "Show outlines in filled mode" ),

    wxString msgEdgesFill[3] = { _( "Show outlines in filled mode" ),
                                 _( "Show outlines in sketch mode" ) };
                                 _( "Show outlines in sketch mode" ) };


    int i = m_DisplayModEdge + 1;
    int i = displ_opts->m_DisplayModEdge + 1;


    if ( i > 2 )
    if ( i > 2 )
        i = 0;
        i = 1;


    aEvent.Check( m_DisplayModEdge == 0 );
    aEvent.Check( displ_opts->m_DisplayModEdge == 2 );
    m_optionsToolBar->SetToolShortHelp( ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH, msgEdgesFill[i] );
    m_optionsToolBar->SetToolShortHelp( ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH, msgEdgesFill[i-1] );
}
}




@@ -298,23 +298,24 @@ bool DISPLAY_FOOTPRINTS_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* Po
void DISPLAY_FOOTPRINTS_FRAME::OnSelectOptionToolbar( wxCommandEvent& event )
void DISPLAY_FOOTPRINTS_FRAME::OnSelectOptionToolbar( wxCommandEvent& event )
{
{
    int        id = event.GetId();
    int        id = event.GetId();
    DISPLAY_OPTIONS* displ_opts = (DISPLAY_OPTIONS*)GetDisplayOptions();


    switch( id )
    switch( id )
    {
    {
    case ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH:
    case ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH:
        m_DisplayModText++;
        displ_opts->m_DisplayModText++;


        if( m_DisplayModText > 2 )
        if( displ_opts->m_DisplayModText > 2 )
            m_DisplayModText = 0;
            displ_opts->m_DisplayModText = 0;


        m_canvas->Refresh( );
        m_canvas->Refresh( );
        break;
        break;


    case ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH:
    case ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH:
        m_DisplayModEdge++;
        displ_opts->m_DisplayModEdge++;


        if( m_DisplayModEdge > 2 )
        if( displ_opts->m_DisplayModEdge > 2 )
            m_DisplayModEdge = 0;
            displ_opts->m_DisplayModEdge = 0;


        m_canvas->Refresh();
        m_canvas->Refresh();
        break;
        break;
+12 −8
Original line number Original line Diff line number Diff line
@@ -72,10 +72,12 @@ void DIALOG_FOOTPRINTS_DISPLAY_OPTIONS::initDialog()
    /* mandatory to use escape key as cancel under wxGTK. */
    /* mandatory to use escape key as cancel under wxGTK. */
    SetFocus();
    SetFocus();


    m_EdgesDisplayOption->SetSelection( m_Parent->m_DisplayModEdge );
    DISPLAY_OPTIONS* displ_opts = (DISPLAY_OPTIONS*)m_Parent->GetDisplayOptions();
    m_TextDisplayOption->SetSelection( m_Parent->m_DisplayModText );

    m_IsShowPadFill->SetValue( m_Parent->m_DisplayPadFill );
    m_EdgesDisplayOption->SetSelection( displ_opts->m_DisplayModEdge );
    m_IsShowPadNum->SetValue( m_Parent->m_DisplayPadNum );
    m_TextDisplayOption->SetSelection( displ_opts->m_DisplayModText );
    m_IsShowPadFill->SetValue( displ_opts->m_DisplayPadFill );
    m_IsShowPadNum->SetValue( displ_opts->m_DisplayPadNum );
    m_IsZoomNoCenter->SetValue( m_Parent->GetCanvas()->GetEnableZoomNoCenter() );
    m_IsZoomNoCenter->SetValue( m_Parent->GetCanvas()->GetEnableZoomNoCenter() );
    m_IsMiddleButtonPan->SetValue( m_Parent->GetCanvas()->GetEnableMiddleButtonPan() );
    m_IsMiddleButtonPan->SetValue( m_Parent->GetCanvas()->GetEnableMiddleButtonPan() );
    m_IsMiddleButtonPanLimited->SetValue( m_Parent->GetCanvas()->GetMiddleButtonPanLimited() );
    m_IsMiddleButtonPanLimited->SetValue( m_Parent->GetCanvas()->GetMiddleButtonPanLimited() );
@@ -90,10 +92,12 @@ void DIALOG_FOOTPRINTS_DISPLAY_OPTIONS::initDialog()


void DIALOG_FOOTPRINTS_DISPLAY_OPTIONS::UpdateObjectSettings( void )
void DIALOG_FOOTPRINTS_DISPLAY_OPTIONS::UpdateObjectSettings( void )
{
{
    m_Parent->m_DisplayModEdge = m_EdgesDisplayOption->GetSelection();
    DISPLAY_OPTIONS* displ_opts = (DISPLAY_OPTIONS*)m_Parent->GetDisplayOptions();
    m_Parent->m_DisplayModText = m_TextDisplayOption->GetSelection();

    m_Parent->m_DisplayPadNum  = m_IsShowPadNum->GetValue();
    displ_opts->m_DisplayModEdge = m_EdgesDisplayOption->GetSelection();
    m_Parent->m_DisplayPadFill = m_IsShowPadFill->GetValue();
    displ_opts->m_DisplayModText = m_TextDisplayOption->GetSelection();
    displ_opts->m_DisplayPadNum  = m_IsShowPadNum->GetValue();
    displ_opts->m_DisplayPadFill = m_IsShowPadFill->GetValue();
    m_Parent->GetCanvas()->SetEnableZoomNoCenter( m_IsZoomNoCenter->GetValue() );
    m_Parent->GetCanvas()->SetEnableZoomNoCenter( m_IsZoomNoCenter->GetValue() );
    m_Parent->GetCanvas()->SetEnableMiddleButtonPan( m_IsMiddleButtonPan->GetValue() );
    m_Parent->GetCanvas()->SetEnableMiddleButtonPan( m_IsMiddleButtonPan->GetValue() );
    m_Parent->GetCanvas()->SetMiddleButtonPanLimited( m_IsMiddleButtonPanLimited->GetValue() );
    m_Parent->GetCanvas()->SetMiddleButtonPanLimited( m_IsMiddleButtonPanLimited->GetValue() );
+13 −7
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@
#include <eeschema_id.h>
#include <eeschema_id.h>
#include <hotkeys.h>
#include <hotkeys.h>
#include <wxEeschemaStruct.h>
#include <wxEeschemaStruct.h>
#include <class_drawpanel.h>


#include <general.h>
#include <general.h>
#include <libeditframe.h>
#include <libeditframe.h>
@@ -348,8 +349,6 @@ bool SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,


    wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );
    wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );


    cmd.SetEventObject( this );

    SCH_SCREEN* screen = GetScreen();
    SCH_SCREEN* screen = GetScreen();


    // itemInEdit == false means no item currently edited. We can ask for editing a new item
    // itemInEdit == false means no item currently edited. We can ask for editing a new item
@@ -393,12 +392,19 @@ bool SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
        break;
        break;


    case HK_LEFT_CLICK:
    case HK_LEFT_CLICK:
        OnLeftClick( aDC, aPosition );
        break;

    case HK_LEFT_DCLICK:    // Simulate a double left click: generate 2 events
    case HK_LEFT_DCLICK:    // Simulate a double left click: generate 2 events
        if( screen->m_BlockLocate.GetState() == STATE_BLOCK_MOVE )
        {
            GetCanvas()->SetAutoPanRequest( false );
            HandleBlockPlace( aDC );
        }
        else if( screen->m_BlockLocate.GetState() == STATE_NO_BLOCK )
        {
            OnLeftClick( aDC, aPosition );
            OnLeftClick( aDC, aPosition );

            if( hotKey->m_Idcommand == HK_LEFT_DCLICK )
                OnLeftDClick( aDC, aPosition );
                OnLeftDClick( aDC, aPosition );
        }
        break;
        break;


    case HK_ZOOM_IN:
    case HK_ZOOM_IN:
+7 −0
Original line number Original line Diff line number Diff line
@@ -122,6 +122,13 @@ public:
    EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id, const wxPoint& pos, const wxSize& size );
    EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id, const wxPoint& pos, const wxSize& size );
    ~EDA_DRAW_PANEL();
    ~EDA_DRAW_PANEL();


    /**
     * Function GetDisplayOptions
     * A way to pass info to draw functions.
     * this is just an accessor to the GetDisplayOptions() parent frame function.
     */
    void* GetDisplayOptions();

    BASE_SCREEN* GetScreen();
    BASE_SCREEN* GetScreen();


    EDA_DRAW_FRAME* GetParent() const;
    EDA_DRAW_FRAME* GetParent() const;
Loading