Commit a3a73ef5 authored by Wayne Stambaugh's avatar Wayne Stambaugh
Browse files

EESchema block code cleaning and other minor fixes.

* Move update block pick list code to SCH_SCREEN object.
* Remove redundant drawing function RedrawOneStruct().
* Change context menu text "Noconn" to "No Connect".
* Change context menu text "GLabel" to "Global Label".
parent cfeb55a2
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -74,7 +74,7 @@ void SCH_ITEM::Place( SCH_EDIT_FRAME* frame, wxDC* DC )
    if( DC )
    if( DC )
    {
    {
        frame->DrawPanel->CursorOff( DC );      // Erase schematic cursor
        frame->DrawPanel->CursorOff( DC );      // Erase schematic cursor
        RedrawOneStruct( frame->DrawPanel, DC, this, GR_DEFAULT_DRAWMODE );
        Draw( frame->DrawPanel, DC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
        frame->DrawPanel->CursorOn( DC );       // Display schematic cursor
        frame->DrawPanel->CursorOn( DC );       // Display schematic cursor
    }
    }
}
}
+4 −4
Original line number Original line Diff line number Diff line
@@ -240,7 +240,7 @@ bool SCH_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
        case BLOCK_MIRROR_Y:
        case BLOCK_MIRROR_Y:
        case BLOCK_MOVE:    /* Move */
        case BLOCK_MOVE:    /* Move */
        case BLOCK_COPY:    /* Copy */
        case BLOCK_COPY:    /* Copy */
            PickItemsInBlock( GetScreen()->m_BlockLocate, GetScreen() );
            GetScreen()->UpdatePickList();
            // fall through
            // fall through
        case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
        case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
            if( block->GetCount() )
            if( block->GetCount() )
@@ -261,7 +261,7 @@ bool SCH_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
            break;
            break;


        case BLOCK_DELETE: /* Delete */
        case BLOCK_DELETE: /* Delete */
            PickItemsInBlock( GetScreen()->m_BlockLocate, GetScreen() );
            GetScreen()->UpdatePickList();
            DrawAndSizingBlockOutlines( DrawPanel, DC, false );
            DrawAndSizingBlockOutlines( DrawPanel, DC, false );


            if( block->GetCount() )
            if( block->GetCount() )
@@ -276,7 +276,7 @@ bool SCH_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
            break;
            break;


        case BLOCK_SAVE:  /* Save */
        case BLOCK_SAVE:  /* Save */
            PickItemsInBlock( GetScreen()->m_BlockLocate, GetScreen() );
            GetScreen()->UpdatePickList();
            DrawAndSizingBlockOutlines( DrawPanel, DC, false );
            DrawAndSizingBlockOutlines( DrawPanel, DC, false );


            if( block->GetCount() )
            if( block->GetCount() )
@@ -374,7 +374,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )


        BreakSegmentOnJunction( GetScreen() );
        BreakSegmentOnJunction( GetScreen() );


        PickItemsInBlock( GetScreen()->m_BlockLocate, GetScreen() );
        GetScreen()->UpdatePickList();


        if( block->GetCount() )
        if( block->GetCount() )
        {
        {
+9 −9
Original line number Original line Diff line number Diff line
@@ -91,7 +91,7 @@ static void DrawSegment( WinEDA_DrawPanel* aPanel, wxDC* aDC, bool aErase )
        while( segment )
        while( segment )
        {
        {
            if( !segment->IsNull() )  // Redraw if segment length != 0
            if( !segment->IsNull() )  // Redraw if segment length != 0
                RedrawOneStruct( aPanel, aDC, segment, g_XorMode, color );
                segment->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode, color );


            segment = segment->Next();
            segment = segment->Next();
        }
        }
@@ -109,7 +109,7 @@ static void DrawSegment( WinEDA_DrawPanel* aPanel, wxDC* aDC, bool aErase )
    while( segment )
    while( segment )
    {
    {
        if( !segment->IsNull() )  // Redraw if segment length != 0
        if( !segment->IsNull() )  // Redraw if segment length != 0
            RedrawOneStruct( aPanel, aDC, segment, g_XorMode, color );
            segment->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode, color );


        segment = segment->Next();
        segment = segment->Next();
    }
    }
@@ -216,7 +216,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type )
        oldsegment->SetNext( GetScreen()->GetDrawItems() );
        oldsegment->SetNext( GetScreen()->GetDrawItems() );
        GetScreen()->SetDrawItems( oldsegment );
        GetScreen()->SetDrawItems( oldsegment );
        DrawPanel->CursorOff( DC );     // Erase schematic cursor
        DrawPanel->CursorOff( DC );     // Erase schematic cursor
        RedrawOneStruct( DrawPanel, DC, oldsegment, GR_DEFAULT_DRAWMODE );
        oldsegment->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
        DrawPanel->CursorOn( DC );      // Display schematic cursor
        DrawPanel->CursorOn( DC );      // Display schematic cursor


        /* Create a new segment, and chain it after the current new segment */
        /* Create a new segment, and chain it after the current new segment */
@@ -456,10 +456,10 @@ static void Show_Polyline_in_Ghost( WinEDA_DrawPanel* panel, wxDC* DC, bool eras
    }
    }


    if( erase )
    if( erase )
        RedrawOneStruct( panel, DC, NewPoly, g_XorMode, color );
        NewPoly->Draw( panel, DC, wxPoint( 0, 0 ), g_XorMode, color );


    NewPoly->m_PolyPoints[idx] = endpos;
    NewPoly->m_PolyPoints[idx] = endpos;
    RedrawOneStruct( panel, DC, NewPoly, g_XorMode, color );
    NewPoly->Draw( panel, DC, wxPoint( 0, 0 ), g_XorMode, color );
}
}




@@ -505,7 +505,7 @@ SCH_JUNCTION* SCH_EDIT_FRAME::CreateNewJunctionStruct( wxDC* DC,
    g_ItemToRepeat = NewJunction;
    g_ItemToRepeat = NewJunction;


    DrawPanel->CursorOff( DC );     // Erase schematic cursor
    DrawPanel->CursorOff( DC );     // Erase schematic cursor
    RedrawOneStruct( DrawPanel, DC, NewJunction, GR_DEFAULT_DRAWMODE );
    NewJunction->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
    DrawPanel->CursorOn( DC );      // Display schematic cursor
    DrawPanel->CursorOn( DC );      // Display schematic cursor


    NewJunction->SetNext( GetScreen()->GetDrawItems() );
    NewJunction->SetNext( GetScreen()->GetDrawItems() );
@@ -528,7 +528,7 @@ SCH_NO_CONNECT* SCH_EDIT_FRAME::CreateNewNoConnectStruct( wxDC* DC )
    g_ItemToRepeat = NewNoConnect;
    g_ItemToRepeat = NewNoConnect;


    DrawPanel->CursorOff( DC );     // Erase schematic cursor
    DrawPanel->CursorOff( DC );     // Erase schematic cursor
    RedrawOneStruct( DrawPanel, DC, NewNoConnect, GR_DEFAULT_DRAWMODE );
    NewNoConnect->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
    DrawPanel->CursorOn( DC );      // Display schematic cursor
    DrawPanel->CursorOn( DC );      // Display schematic cursor


    NewNoConnect->SetNext( GetScreen()->GetDrawItems() );
    NewNoConnect->SetNext( GetScreen()->GetDrawItems() );
@@ -585,7 +585,7 @@ void SCH_EDIT_FRAME::RepeatDrawItem( wxDC* DC )
        g_ItemToRepeat->m_Flags = IS_NEW;
        g_ItemToRepeat->m_Flags = IS_NEW;
        ( (SCH_COMPONENT*) g_ItemToRepeat )->m_TimeStamp = GetTimeStamp();
        ( (SCH_COMPONENT*) g_ItemToRepeat )->m_TimeStamp = GetTimeStamp();
        g_ItemToRepeat->Move( pos );
        g_ItemToRepeat->Move( pos );
        RedrawOneStruct( DrawPanel, DC, g_ItemToRepeat, g_XorMode );
        g_ItemToRepeat->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode );
        StartMovePart( (SCH_COMPONENT*) g_ItemToRepeat, DC );
        StartMovePart( (SCH_COMPONENT*) g_ItemToRepeat, DC );
        return;
        return;
    }
    }
@@ -605,7 +605,7 @@ void SCH_EDIT_FRAME::RepeatDrawItem( wxDC* DC )
        g_ItemToRepeat->SetNext( GetScreen()->GetDrawItems() );
        g_ItemToRepeat->SetNext( GetScreen()->GetDrawItems() );
        GetScreen()->SetDrawItems( g_ItemToRepeat );
        GetScreen()->SetDrawItems( g_ItemToRepeat );
        TestDanglingEnds( GetScreen()->GetDrawItems(), NULL );
        TestDanglingEnds( GetScreen()->GetDrawItems(), NULL );
        RedrawOneStruct( DrawPanel, DC, g_ItemToRepeat, GR_DEFAULT_DRAWMODE );
        g_ItemToRepeat->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
        SaveCopyInUndoList( g_ItemToRepeat, UR_NEW );
        SaveCopyInUndoList( g_ItemToRepeat, UR_NEW );
        g_ItemToRepeat->m_Flags = 0;
        g_ItemToRepeat->m_Flags = 0;
    }
    }
+7 −6
Original line number Original line Diff line number Diff line
@@ -27,7 +27,8 @@ static void ExitBusEntry( WinEDA_DrawPanel* Panel, wxDC* DC )


    if( BusEntry )
    if( BusEntry )
    {
    {
        RedrawOneStruct( Panel, DC, BusEntry, g_XorMode );
        BusEntry->Draw( Panel, DC, wxPoint( 0, 0 ), g_XorMode );

        if( BusEntry->m_Flags & IS_NEW )
        if( BusEntry->m_Flags & IS_NEW )
        {
        {
            delete BusEntry;
            delete BusEntry;
@@ -36,7 +37,7 @@ static void ExitBusEntry( WinEDA_DrawPanel* Panel, wxDC* DC )
        else
        else
        {
        {
            BusEntry->m_Pos = ItemInitialPosition;
            BusEntry->m_Pos = ItemInitialPosition;
            RedrawOneStruct( Panel, DC, BusEntry, GR_DEFAULT_DRAWMODE );
            BusEntry->Draw( Panel, DC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
            BusEntry->m_Flags = 0;
            BusEntry->m_Flags = 0;
        }
        }
    }
    }
@@ -58,11 +59,11 @@ static void ShowWhileMoving( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )


    /* Erase the last segment position. */
    /* Erase the last segment position. */
    if( erase )
    if( erase )
        RedrawOneStruct( panel, DC, BusEntry, g_XorMode );
        BusEntry->Draw( panel, DC, wxPoint( 0, 0 ), g_XorMode );


    /* Redraw at the new position. */
    /* Redraw at the new position. */
    BusEntry->m_Pos = screen->m_Curseur;
    BusEntry->m_Pos = screen->m_Curseur;
    RedrawOneStruct( panel, DC, BusEntry, g_XorMode );
    BusEntry->Draw( panel, DC, wxPoint( 0, 0 ), g_XorMode );
}
}




@@ -121,7 +122,7 @@ void SCH_EDIT_FRAME::SetBusEntryShape( wxDC* DC, SCH_BUS_ENTRY* BusEntry, int en
    if( BusEntry->m_Flags == 0 )
    if( BusEntry->m_Flags == 0 )
        SaveCopyInUndoList( BusEntry, UR_CHANGED );
        SaveCopyInUndoList( BusEntry, UR_CHANGED );


    RedrawOneStruct( DrawPanel, DC, BusEntry, g_XorMode );
    BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode );


    switch( entry_shape )
    switch( entry_shape )
    {
    {
@@ -137,7 +138,7 @@ void SCH_EDIT_FRAME::SetBusEntryShape( wxDC* DC, SCH_BUS_ENTRY* BusEntry, int en
    }
    }


    TestDanglingEnds( GetScreen()->GetDrawItems(), NULL );
    TestDanglingEnds( GetScreen()->GetDrawItems(), NULL );
    RedrawOneStruct( DrawPanel, DC, BusEntry, g_XorMode );
    BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode );
    OnModify( );
    OnModify( );
}
}


+2 −2
Original line number Original line Diff line number Diff line
@@ -44,8 +44,8 @@ void SCH_EDIT_FRAME::TestDanglingEnds( SCH_ITEM* aDrawList, wxDC* aDC )
    {
    {
        if( item->IsDanglingStateChanged( endPoints ) && aDC != NULL )
        if( item->IsDanglingStateChanged( endPoints ) && aDC != NULL )
        {
        {
            RedrawOneStruct( DrawPanel, aDC, item, g_XorMode );
            item->Draw( DrawPanel, aDC, wxPoint( 0, 0 ), g_XorMode );
            RedrawOneStruct( DrawPanel, aDC, item, GR_DEFAULT_DRAWMODE );
            item->Draw( DrawPanel, aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
        }
        }
    }
    }
}
}
Loading