From f1eb69a1a3380058c94180c40ab5bf2328bafea9 Mon Sep 17 00:00:00 2001 From: charras Date: Sat, 20 Dec 2008 13:12:57 +0000 Subject: [PATCH] more about texts and labels options under eeschema --- CHANGELOG.txt | 4 +- bitmaps/makefile.g95 | 4 +- common/drawframe.cpp | 2 +- common/drawtxt.cpp | 15 +- common/makefile.include | 4 +- common/zoom.cpp | 2 +- cvpcb/dialog_display_options.cpp | 14 +- cvpcb/makefile.include | 5 - eeschema/dialog_edit_label_base.cpp | 2 +- eeschema/dialog_edit_label_base.fbp | 2 +- eeschema/eelayer.cpp | 4 +- eeschema/files-io.cpp | 2 +- eeschema/lib_export.cpp | 2 +- eeschema/libedit.cpp | 2 +- eeschema/libframe.cpp | 14 +- eeschema/makefile.include | 14 - eeschema/plot.cpp | 42 +- ...from_file_schematic_items_descriptions.cpp | 20 +- eeschema/symbdraw.cpp | 2 +- eeschema/tool_sch.cpp | 2 +- eeschema/viewlib_frame.cpp | 6 +- eeschema/viewlibs.cpp | 8 +- gerbview/makefile.include | 5 - gerbview/set_color.cpp | 4 +- internat/fr/kicad.mo | Bin 167306 -> 167454 bytes internat/fr/kicad.po | 954 +++++++++--------- pcbnew/basepcbframe.cpp | 4 +- pcbnew/initpcb.cpp | 2 +- pcbnew/makefile.include | 8 - pcbnew/sel_layer.cpp | 2 +- pcbnew/set_color.cpp | 4 +- share/setpage.cpp | 3 +- 32 files changed, 578 insertions(+), 580 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 0ee1d024ab..81c144c9f3 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -10,8 +10,8 @@ email address. ++All Cleaning code to draw/plot texts (work in progress): Now only one function is used to draw and plot texts - (easier to maintain and ensure textes have the same size in ploting and drawing) - In eeschema, italic and bold texts allowed (in pcbenew, texts thicness is already adjustable) + (easier to maintain and ensure texts have the same size in ploting and drawing) + In eeschema, italic and bold texts allowed (in pcbenew, texts thickness is already adjustable) 2008-Dec-18 UPDATE Wayne Stambaugh diff --git a/bitmaps/makefile.g95 b/bitmaps/makefile.g95 index 15d9cff467..a47d3ea29e 100644 --- a/bitmaps/makefile.g95 +++ b/bitmaps/makefile.g95 @@ -10,5 +10,5 @@ libbitmaps.a: $(OBJECTS) ranlib $@ clean: - rm -f *.o - rm -f *.a +# rm -f *.o +" rm -f *.a diff --git a/common/drawframe.cpp b/common/drawframe.cpp index b4f2a21c70..c586fa7348 100644 --- a/common/drawframe.cpp +++ b/common/drawframe.cpp @@ -585,7 +585,7 @@ void WinEDA_DrawFrame::OnZoom( int zoom_type ) case ID_POPUP_ZOOM_REDRAW: case ID_ZOOM_REDRAW_KEY: case ID_ZOOM_REDRAW_BUTT: - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_POPUP_ZOOM_CENTER: diff --git a/common/drawtxt.cpp b/common/drawtxt.cpp index 6896773496..b1bcc7be71 100644 --- a/common/drawtxt.cpp +++ b/common/drawtxt.cpp @@ -75,6 +75,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel, wxDC* DC, aWidth = -aWidth; sketch_mode = TRUE; } + int thickness = aWidth; kk = 0; ptr = 0; /* ptr = text index */ @@ -85,9 +86,9 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel, wxDC* DC, pitch = (10 * size_h ) / 9; // this is the pitch between chars if ( pitch > 0 ) - pitch += ABS(aWidth); + pitch += ABS(thickness); else - pitch -= ABS(aWidth); + pitch -= ABS(thickness); ox = cX = aPos.x; oy = cY = aPos.y; @@ -194,10 +195,10 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel, wxDC* DC, if( (aSize.x / zoom) == 0 ) return; - if( ABS( (aSize.x / zoom) ) < 3 ) /* chars trop petits pour etre dessines */ - { /* le texte est symbolise par une barre */ + if( ABS( (aSize.x / zoom) ) < 3 ) /* shapes are too small: connot be drawn */ + { /* insteed the text is drawn as a line */ dx = (pitch * char_count) / 2; - dy = size_v / 2; /* Decalage du debut du texte / centre */ + dy = size_v / 2; /* line is always centered */ ux0 = cX - dx; uy0 = cY; @@ -328,7 +329,7 @@ static void s_Callback_plot(int x0, int y0, int xf, int yf) MovePenFct( pend, 'D' ); s_Plotbegin = false; } - + else { if ( PenLastPos == pstart ) // this is a next segment in a polyline @@ -341,7 +342,7 @@ static void s_Callback_plot(int x0, int y0, int xf, int yf) MovePenFct( pend, 'D' ); } } - + PenLastPos = pend; } /******************************************************************************************/ diff --git a/common/makefile.include b/common/makefile.include index 7508d1ef51..6d9be94ac2 100644 --- a/common/makefile.include +++ b/common/makefile.include @@ -8,6 +8,7 @@ OBJECTS= \ about_kicad.o\ base_struct.o\ basicframe.o\ + drawframe.o\ confirm.o \ copy_to_clipboard.o\ class_drawpickedstruct.o\ @@ -36,7 +37,8 @@ OBJECTS= \ eda_dde.o\ worksheet.o\ base_screen.o\ - dcsvg.o + dcsvg.o\ + zoom.o ifdef KICAD_PYTHON OBJECTS += pyhandler.o diff --git a/common/zoom.cpp b/common/zoom.cpp index 784e394ff2..425ec2792f 100644 --- a/common/zoom.cpp +++ b/common/zoom.cpp @@ -215,7 +215,7 @@ void WinEDA_DrawPanel::Process_Popup_Zoom( wxCommandEvent& event ) void WinEDA_DrawPanel::OnPopupGridSelect( wxCommandEvent& event ) { GetScreen()->SetGrid( event.GetId() ); - m_Parent->ReDrawPanel(); + Refresh(); } /*************************************************************/ diff --git a/cvpcb/dialog_display_options.cpp b/cvpcb/dialog_display_options.cpp index 3cbf141ceb..1375f50453 100644 --- a/cvpcb/dialog_display_options.cpp +++ b/cvpcb/dialog_display_options.cpp @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// // Name: dialog_display_options.cpp -// Purpose: +// Purpose: // Author: jean-pierre Charras -// Modified by: +// Modified by: // Created: 17/02/2006 17:47:55 -// RCS-ID: +// RCS-ID: // Copyright: License GNU -// Licence: +// Licence: ///////////////////////////////////////////////////////////////////////////// // Generated by DialogBlocks (unregistered), 17/02/2006 17:47:55 @@ -130,7 +130,7 @@ bool WinEDA_FootprintDisplayOptionsFrame::Create( wxWindow* parent, wxWindowID i */ void WinEDA_FootprintDisplayOptionsFrame::CreateControls() -{ +{ SetFont(*g_DialogFont); ////@begin WinEDA_FootprintDisplayOptionsFrame content construction @@ -252,7 +252,7 @@ void WinEDA_FootprintDisplayOptionsFrame::UpdateObjectSettings(void) DisplayOpt.DisplayModEdge = m_Parent->m_DisplayModEdge = m_EdgesDisplayOption->GetSelection(); - DisplayOpt.DisplayModText = m_Parent->m_DisplayModText = + DisplayOpt.DisplayModText = m_Parent->m_DisplayModText = m_TextDisplayOption->GetSelection(); DisplayOpt.DisplayPadNum = m_Parent->m_DisplayPadNum = @@ -261,7 +261,7 @@ void WinEDA_FootprintDisplayOptionsFrame::UpdateObjectSettings(void) DisplayOpt.DisplayPadFill = m_Parent->m_DisplayPadFill = m_IsShowPadFill->GetValue(); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); ////@end WinEDA_FootprintDisplayOptionsFrame update settings } diff --git a/cvpcb/makefile.include b/cvpcb/makefile.include index 7b94040622..49e5323a74 100644 --- a/cvpcb/makefile.include +++ b/cvpcb/makefile.include @@ -20,7 +20,6 @@ OBJECTS = $(TARGET).o \ memoire.o \ cvframe.o\ listboxes.o\ - drawframe.o\ class_pcb_text.o\ class_cotation.o\ class_mire.o\ @@ -39,7 +38,6 @@ OBJECTS = $(TARGET).o \ autosel.o \ setvisu.o\ dialog_display_options.o\ - zoom.o \ tracemod.o \ classpcb.o \ class_drawsegment.o \ @@ -153,9 +151,6 @@ autosel.o: autosel.cpp setvisu.o: setvisu.cpp -zoom.o: ../share/zoom.cpp - $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp - tracemod.o: ../pcbnew/tracemod.cpp ../include/gr_basic.h $(CXX) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp diff --git a/eeschema/dialog_edit_label_base.cpp b/eeschema/dialog_edit_label_base.cpp index f8003da79a..ba65389dfd 100644 --- a/eeschema/dialog_edit_label_base.cpp +++ b/eeschema/dialog_edit_label_base.cpp @@ -31,7 +31,7 @@ DialogLabelEditor_Base::DialogLabelEditor_Base( wxWindow* parent, wxWindowID id, wxString m_TextOrientChoices[] = { _("Right"), _("Up"), _("Left"), _("Down") }; int m_TextOrientNChoices = sizeof( m_TextOrientChoices ) / sizeof( wxString ); - m_TextOrient = new wxRadioBox( this, wxID_ANY, _("wxRadioBox"), wxDefaultPosition, wxDefaultSize, m_TextOrientNChoices, m_TextOrientChoices, 1, wxRA_SPECIFY_COLS ); + m_TextOrient = new wxRadioBox( this, wxID_ANY, _("Direction"), wxDefaultPosition, wxDefaultSize, m_TextOrientNChoices, m_TextOrientChoices, 1, wxRA_SPECIFY_COLS ); m_TextOrient->SetSelection( 0 ); m_OptionsSizer->Add( m_TextOrient, 0, wxALL, 5 ); diff --git a/eeschema/dialog_edit_label_base.fbp b/eeschema/dialog_edit_label_base.fbp index 5bf082c5d8..958c7bbff5 100644 --- a/eeschema/dialog_edit_label_base.fbp +++ b/eeschema/dialog_edit_label_base.fbp @@ -212,7 +212,7 @@ 0 wxID_ANY - wxRadioBox + Direction 1 diff --git a/eeschema/eelayer.cpp b/eeschema/eelayer.cpp index 5fc21ea63d..4f40fbd153 100644 --- a/eeschema/eelayer.cpp +++ b/eeschema/eelayer.cpp @@ -370,7 +370,7 @@ void WinEDA_SetColorsFrame::OnOkClick( wxCommandEvent& WXUNUSED (event) ) /**********************************************************************/ { UpdateLayerSettings(); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); EndModal( 1 ); } @@ -388,7 +388,7 @@ void WinEDA_SetColorsFrame::OnApplyClick( wxCommandEvent& WXUNUSED (event) ) /*******************************************************************/ { UpdateLayerSettings(); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); } diff --git a/eeschema/files-io.cpp b/eeschema/files-io.cpp index 143e941f6c..72e1af8e57 100644 --- a/eeschema/files-io.cpp +++ b/eeschema/files-io.cpp @@ -125,7 +125,7 @@ int WinEDA_SchematicFrame::LoadOneEEProject( const wxString& FileName, Read_Config( wxEmptyString, TRUE ); Zoom_Automatique( TRUE ); SetSheetNumberAndCount(); - ReDrawPanel(); + DrawPanel->Refresh(); return 1; } diff --git a/eeschema/lib_export.cpp b/eeschema/lib_export.cpp index f5c8aafeeb..0737ab5474 100644 --- a/eeschema/lib_export.cpp +++ b/eeschema/lib_export.cpp @@ -64,7 +64,7 @@ void WinEDA_LibeditFrame::ImportOnePart() { ReCreateHToolbar(); DisplayLibInfos(); - ReDrawPanel(); + DrawPanel->Refresh(); } } diff --git a/eeschema/libedit.cpp b/eeschema/libedit.cpp index bcc23312e7..bda4765da4 100644 --- a/eeschema/libedit.cpp +++ b/eeschema/libedit.cpp @@ -117,7 +117,7 @@ EDA_LibComponentStruct *LibEntry = NULL; LoadOneLibraryPartAux(LibEntry, CurrentLib); ReCreateHToolbar(); Zoom_Automatique(FALSE); - ReDrawPanel(); + DrawPanel->Refresh(); return TRUE; } diff --git a/eeschema/libframe.cpp b/eeschema/libframe.cpp index 2c5daad9b5..5f83a6b725 100644 --- a/eeschema/libframe.cpp +++ b/eeschema/libframe.cpp @@ -351,7 +351,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event ) LibItemToRepeat = NULL; CreateNewLibraryPart(); GetScreen()->ClearUndoRedoList(); - ReDrawPanel(); + DrawPanel->Refresh(); SetToolbars(); break; } @@ -368,7 +368,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event ) GetScreen()->ClearUndoRedoList(); SetToolbars(); } - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_LIBEDIT_SAVE_CURRENT_PART: @@ -388,7 +388,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event ) LibItemToRepeat = NULL; ImportOnePart(); GetScreen()->ClearUndoRedoList(); - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_LIBEDIT_EXPORT_PART: @@ -410,7 +410,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event ) m_HToolBar->ToggleTool( ID_DE_MORGAN_CONVERT_BUTT, FALSE ); LibItemToRepeat = NULL; CurrentConvert = 1; - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_DE_MORGAN_CONVERT_BUTT: @@ -418,7 +418,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event ) m_HToolBar->ToggleTool( ID_DE_MORGAN_CONVERT_BUTT, TRUE ); LibItemToRepeat = NULL; CurrentConvert = 2; - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_LIBEDIT_VIEW_DOC: @@ -451,7 +451,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event ) return; LibItemToRepeat = NULL; CurrentUnit = ii + 1; - ReDrawPanel(); + DrawPanel->Refresh(); } break; @@ -465,7 +465,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event ) CurrentAliasName = m_SelAliasBox->GetValue(); else CurrentAliasName.Empty(); - ReDrawPanel(); + DrawPanel->Refresh(); } break; diff --git a/eeschema/makefile.include b/eeschema/makefile.include index 80050d7eab..7b2db517d9 100644 --- a/eeschema/makefile.include +++ b/eeschema/makefile.include @@ -32,7 +32,6 @@ OBJECTS = eeschema.o\ tool_lib.o\ tool_sch.o\ tool_viewlib.o\ - drawframe.o\ schframe.o\ viewlib_frame.o\ wxprint.o\ @@ -48,7 +47,6 @@ OBJECTS = eeschema.o\ eelayer.o \ priorque.o eeconfig.o \ affiche.o \ - zoom.o \ getpart.o\ netlist.o\ netlist_control.o\ @@ -103,9 +101,6 @@ eeschema.o: eeschema.cpp program.h general.h $(DEPEND) read_from_file_schematic_items_descriptions.o: read_from_file_schematic_items_descriptions.cpp -#edit_component_in_lib.o: edit_component_in_lib.cpp\ -# dialog_edit_component_in_lib.cpp dialog_edit_component_in_lib.h $(DEPEND) - edit_component_in_schematic.o: edit_component_in_schematic.cpp\ dialog_edit_component_in_schematic.cpp dialog_edit_component_in_schematic.h $(DEPEND) @@ -150,15 +145,6 @@ setpage.o: ../share/setpage.cpp $(DEPEND) svg_print.o: ../share/svg_print.cpp ../share/svg_print.h $(DEPEND) $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp -zoom.o: ../share/zoom.cpp $(DEPEND) - $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp - -treeprj.o: ../share/treeprj.cpp $(DEPEND) - $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp - -mdiframe.o: ../share/mdiframe.cpp $(DEPEND) - $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp - buildmnu.o: ../share/buildmnu.cpp $(DEPEND) $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp diff --git a/eeschema/plot.cpp b/eeschema/plot.cpp index 60444c8d9f..9ac6b611bb 100644 --- a/eeschema/plot.cpp +++ b/eeschema/plot.cpp @@ -245,15 +245,17 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem ) case COMPONENT_GRAPHIC_TEXT_DRAW_TYPE: { - LibDrawText* Text = (LibDrawText*) DEntry; + LibDrawText* Text = (LibDrawText*) DEntry; - /* The text orientation may need to be flipped if the - * transformation matrix causes xy axes to be flipped. */ - t1 = (TransMat[0][0] != 0) ^ (Text->m_Horiz != 0); - pos = TransformCoordinate( TransMat, Text->m_Pos ) + DrawLibItem->m_Pos; - SetCurrentLineWidth( -1 ); - int thickness = Text->m_Width; // @todo: calcultae the pen tickness - PlotGraphicText( g_PlotFormat, pos, CharColor, + /* The text orientation may need to be flipped if the + * transformation matrix causes xy axes to be flipped. */ + t1 = (TransMat[0][0] != 0) ^ (Text->m_Horiz != 0); + pos = TransformCoordinate( TransMat, Text->m_Pos ) + DrawLibItem->m_Pos; + SetCurrentLineWidth( -1 ); + int thickness = Text->m_Width; + if( thickness == 0 ) // + thickness = MAX( g_PlotPSMinimunLineWidth, g_DrawMinimunLineWidth ); + PlotGraphicText( g_PlotFormat, pos, CharColor, Text->m_Text, t1 ? TEXT_ORIENT_HORIZ : TEXT_ORIENT_VERT, Text->m_Size, @@ -465,8 +467,10 @@ static void PlotTextField( SCH_COMPONENT* DrawLibItem, } } - SetCurrentLineWidth( -1 ); - int thickness = field->m_Width; // @todo: calculate the pen tickness + int thickness = field->m_Width; + if( thickness == 0 ) + thickness = MAX( g_PlotPSMinimunLineWidth, g_DrawMinimunLineWidth ); + SetCurrentLineWidth( thickness ); //@todo not sure what to do here in terms of plotting components that may have multiple REFERENCE entries. if( !IsMulti || (FieldNumber != REFERENCE) ) @@ -651,7 +655,6 @@ void PlotTextStruct( EDA_BaseStruct* Struct ) if( Size.x == 0 ) Size = wxSize( DEFAULT_SIZE_TEXT, DEFAULT_SIZE_TEXT ); - SetCurrentLineWidth( -1 ); if ( Struct->Type() == TYPE_SCH_GLOBALLABEL ) { offset = ( (SCH_GLOBALLABEL*) Struct )->m_Width; @@ -672,6 +675,9 @@ void PlotTextStruct( EDA_BaseStruct* Struct ) } } + if( thickness == 0 ) + thickness = MAX( g_PlotPSMinimunLineWidth, g_DrawMinimunLineWidth ); + SetCurrentLineWidth( thickness ); switch( Orient ) { @@ -767,6 +773,10 @@ static void PlotSheetLabelStruct( Hierarchical_PIN_Sheet_Struct* Struct ) side = GR_TEXT_HJUSTIFY_LEFT; } int thickness = Struct->m_Width; + if( thickness == 0 ) + thickness = MAX( g_PlotPSMinimunLineWidth, g_DrawMinimunLineWidth ); + SetCurrentLineWidth( thickness ); + bool italic = Struct->m_Italic; PlotGraphicText( g_PlotFormat, wxPoint( tposx, posy ), txtcolor, Struct->m_Text, TEXT_ORIENT_HORIZ, wxSize( size, size ), @@ -834,7 +844,8 @@ void PlotSheetStruct( DrawSheetStruct* Struct ) if( (g_PlotFormat == PLOT_FORMAT_POST) && g_PlotPSColorOpt ) SetColorMapPS( ReturnLayerColor( Struct->m_Layer ) ); - SetCurrentLineWidth( -1 ); + int thickness = MAX( g_PlotPSMinimunLineWidth, g_DrawMinimunLineWidth ); + SetCurrentLineWidth( thickness ); Move_Plume( Struct->m_Pos, 'U' ); pos = Struct->m_Pos; pos.x += Struct->m_Size.x; @@ -850,7 +861,7 @@ void PlotSheetStruct( DrawSheetStruct* Struct ) Plume( 'U' ); - /* Trace des textes : SheetName */ + /* Draw texts: SheetName */ Text = Struct->m_SheetName; size = wxSize( Struct->m_SheetNameSize, Struct->m_SheetNameSize ); pos = Struct->m_Pos; pos.y -= 4; @@ -858,14 +869,13 @@ void PlotSheetStruct( DrawSheetStruct* Struct ) if( (g_PlotFormat == PLOT_FORMAT_POST) && g_PlotPSColorOpt ) SetColorMapPS( ReturnLayerColor( LAYER_SHEETNAME ) ); - int thickness = 0; //@todo use current pen width bool italic = false; PlotGraphicText( g_PlotFormat, pos, txtcolor, Text, TEXT_ORIENT_HORIZ, size, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_BOTTOM, thickness, italic ); - /* Trace des textes : FileName */ + /*Draw texts : FileName */ Text = Struct->GetFileName(); size = wxSize( Struct->m_FileNameSize, Struct->m_FileNameSize ); @@ -879,7 +889,7 @@ void PlotSheetStruct( DrawSheetStruct* Struct ) GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_TOP, thickness, italic ); - /* Trace des textes : SheetLabel */ + /* Draw texts : SheetLabel */ SheetLabelStruct = Struct->m_Label; if( (g_PlotFormat == PLOT_FORMAT_POST) && g_PlotPSColorOpt ) SetColorMapPS( ReturnLayerColor( Struct->m_Layer ) ); diff --git a/eeschema/read_from_file_schematic_items_descriptions.cpp b/eeschema/read_from_file_schematic_items_descriptions.cpp index d382022bd2..2b7a4096d3 100644 --- a/eeschema/read_from_file_schematic_items_descriptions.cpp +++ b/eeschema/read_from_file_schematic_items_descriptions.cpp @@ -33,7 +33,7 @@ SCH_ITEM* ReadTextDescr( FILE * aFile, char Name1[256]; char Name2[256]; char Name3[256]; - int width = 0, size = 0, orient = 0; + int thickness = 0, size = 0, orient = 0; wxPoint pos; char* SLine = aLine; @@ -45,7 +45,7 @@ SCH_ITEM* ReadTextDescr( FILE * aFile, Name1[0] = 0; Name2[0] = 0; Name3[0] = 0; int ii = sscanf( SLine, "%s %d %d %d %d %s %s %d", - Name1, &pos.x, &pos.y, &orient, &size, Name2, Name3, &width ); + Name1, &pos.x, &pos.y, &orient, &size, Name2, Name3, &thickness ); if( ii < 4 ) { @@ -75,7 +75,11 @@ SCH_ITEM* ReadTextDescr( FILE * aFile, TextStruct->m_Size.x = TextStruct->m_Size.y = size; TextStruct->m_Orient = orient; - TextStruct->m_Width = width; + if ( isdigit(Name3[0]) ) + { + thickness = atol(Name3); + TextStruct->m_Width = thickness; + } Struct = TextStruct; if( stricmp( Name2, "Italic" ) == 0 ) TextStruct->m_Italic = 1; @@ -88,7 +92,7 @@ SCH_ITEM* ReadTextDescr( FILE * aFile, TextStruct->m_Size.x = TextStruct->m_Size.y = size; TextStruct->m_Orient = orient; TextStruct->m_Shape = NET_INPUT; - TextStruct->m_Width = width; + TextStruct->m_Width = thickness; if( stricmp( Name2, SheetLabelType[NET_OUTPUT] ) == 0 ) TextStruct->m_Shape = NET_OUTPUT; @@ -109,7 +113,7 @@ SCH_ITEM* ReadTextDescr( FILE * aFile, TextStruct->m_Size.x = TextStruct->m_Size.y = size; TextStruct->m_Orient = orient; TextStruct->m_Shape = NET_INPUT; - TextStruct->m_Width = width; + TextStruct->m_Width = thickness; if( stricmp( Name2, SheetLabelType[NET_OUTPUT] ) == 0 ) TextStruct->m_Shape = NET_OUTPUT; @@ -129,7 +133,11 @@ SCH_ITEM* ReadTextDescr( FILE * aFile, TextStruct->m_Size.x = TextStruct->m_Size.y = size; TextStruct->m_Orient = orient; - TextStruct->m_Width = width; + if ( isdigit(Name3[0]) ) + { + thickness = atol(Name3); + TextStruct->m_Width = thickness; + } if( strnicmp( Name2, "Italic", 6 ) == 0 ) TextStruct->m_Italic = 1; diff --git a/eeschema/symbdraw.cpp b/eeschema/symbdraw.cpp index ae6a635afe..454f2b81a6 100644 --- a/eeschema/symbdraw.cpp +++ b/eeschema/symbdraw.cpp @@ -126,7 +126,7 @@ bodygraphics_PropertiesAccept( wxCommandEvent& event ) if( CurrentDrawItem ) CurrentDrawItem->Display_Infos_DrawEntry( m_Parent ); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); } diff --git a/eeschema/tool_sch.cpp b/eeschema/tool_sch.cpp index 22a0bd69ef..e60f3c8a89 100644 --- a/eeschema/tool_sch.cpp +++ b/eeschema/tool_sch.cpp @@ -293,7 +293,7 @@ void WinEDA_SchematicFrame::OnSelectOptionToolbar( wxCommandEvent& event ) { case ID_TB_OPTIONS_SHOW_GRID: g_ShowGrid = m_Draw_Grid = m_OptionsToolBar->GetToolState( id ); - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_TB_OPTIONS_SELECT_UNIT_MM: diff --git a/eeschema/viewlib_frame.cpp b/eeschema/viewlib_frame.cpp index 284a1e9635..1e8b8913f4 100644 --- a/eeschema/viewlib_frame.cpp +++ b/eeschema/viewlib_frame.cpp @@ -242,7 +242,7 @@ void WinEDA_ViewlibFrame::ReCreateListLib() ReCreateListCmp(); ReCreateHToolbar(); DisplayLibInfos(); - ReDrawPanel(); + DrawPanel->Refresh(); } @@ -283,7 +283,7 @@ void WinEDA_ViewlibFrame::ClickOnLibList( wxCommandEvent& event ) return; g_CurrentViewLibraryName = name; ReCreateListCmp(); - ReDrawPanel(); + DrawPanel->Refresh(); DisplayLibInfos(); ReCreateHToolbar(); } @@ -305,7 +305,7 @@ void WinEDA_ViewlibFrame::ClickOnCmpList( wxCommandEvent& event ) g_ViewConvert = 1; Zoom_Automatique( FALSE ); ReCreateHToolbar(); - ReDrawPanel(); + DrawPanel->Refresh(); } diff --git a/eeschema/viewlibs.cpp b/eeschema/viewlibs.cpp index 689d9deaea..599b85e134 100644 --- a/eeschema/viewlibs.cpp +++ b/eeschema/viewlibs.cpp @@ -63,21 +63,21 @@ wxPoint pos; m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT, TRUE); m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT, FALSE); g_ViewConvert = 1; - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT: m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT, FALSE); m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT, TRUE); g_ViewConvert = 2; - ReDrawPanel(); + DrawPanel->Refresh(); break; case ID_LIBVIEW_SELECT_PART_NUMBER: ii = SelpartBox->GetChoice(); if ( ii < 0 ) return; g_ViewUnit = ii + 1; - ReDrawPanel(); + DrawPanel->Refresh(); break; default: @@ -143,7 +143,7 @@ LibraryStruct * Lib; if ( m_LibList ) { ReCreateListCmp(); - ReDrawPanel(); + DrawPanel->Refresh(); DisplayLibInfos(); ReCreateHToolbar(); int id = m_LibList->FindString(g_CurrentViewLibraryName.GetData()); diff --git a/gerbview/makefile.include b/gerbview/makefile.include index f760cb374b..7ec29dafba 100644 --- a/gerbview/makefile.include +++ b/gerbview/makefile.include @@ -27,7 +27,6 @@ OBJECTS= \ class_track.o \ class_drc_item.o \ class_board_connected_item.o\ - drawframe.o\ set_color.o \ gerbview_config.o \ class_marker.o \ @@ -35,7 +34,6 @@ OBJECTS= \ tracepcb.o \ class_pcb_text.o\ trpiste.o \ - zoom.o\ reglage.o \ options.o \ initpcb.o\ @@ -106,8 +104,5 @@ collectors.o: ../pcbnew/collectors.cpp class_track.o: ../pcbnew/class_track.cpp $(CXX) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp -zoom.o: ../share/zoom.cpp - $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp - undelete.o: ../pcbnew/undelete.cpp $(CXX) -c $(EDACPPFLAGS) -o $@ ../pcbnew/$*.cpp diff --git a/gerbview/set_color.cpp b/gerbview/set_color.cpp index 4862792287..e94130a5b9 100644 --- a/gerbview/set_color.cpp +++ b/gerbview/set_color.cpp @@ -370,7 +370,7 @@ void WinEDA_SetColorsFrame::OnOkClick(wxCommandEvent& WXUNUSED(event)) /*******************************************************************/ { UpdateLayerSettings(); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); EndModal( 1 ); } @@ -388,7 +388,7 @@ void WinEDA_SetColorsFrame::OnApplyClick(wxCommandEvent& WXUNUSED(event)) /*******************************************************************/ { UpdateLayerSettings(); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); } diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 686572b88f376a3fecc0b38242a85c02185a05f3..cf9433d3b15ebe4faf1233cf39c99e31ed2f4125 100644 GIT binary patch delta 55203 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 ULhQC1Bi%#o7RDb7wL9YSKji^aLI3~& delta 55067 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 diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 65d339d50b..b9d05f31b6 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-12 22:29+0100\n" -"PO-Revision-Date: 2008-12-12 22:31+0100\n" +"POT-Creation-Date: 2008-12-20 14:10+0100\n" +"PO-Revision-Date: 2008-12-20 14:11+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -1156,13 +1156,7 @@ msgstr "Le texte est la REFERENCE!" msgid "Text is VALUE!" msgstr "Le texte est la VALEUR!" -#: pcbnew/controle.cpp:172 -#: pcbnew/modedit.cpp:76 -msgid "Selection Clarification" -msgstr "Clarification de la Sélection" - #: pcbnew/class_marker.cpp:133 -#: pcbnew/class_track.cpp:805 #: pcbnew/class_drawsegment.cpp:283 msgid "Type" msgstr "Type" @@ -1179,40 +1173,6 @@ msgstr "Impossible de drag ce segment: trop de segments connectés" msgid "Unable to drag this segment: two collinear segments" msgstr "Impossible de drag ce segment: 2 segments alignés" -#: pcbnew/class_track.cpp:822 -msgid "NetName" -msgstr "NetName" - -#: pcbnew/class_track.cpp:828 -msgid "NetCode" -msgstr "NetCode" - -#: pcbnew/class_track.cpp:833 -#: pcbnew/class_drawsegment.cpp:298 -msgid "Segment" -msgstr "Segment" - -#: pcbnew/class_track.cpp:837 -msgid "Standard" -msgstr "Standard" - -#: pcbnew/class_track.cpp:845 -msgid "Flags" -msgstr "Flags" - -#: pcbnew/class_track.cpp:858 -msgid "Stat" -msgstr "Stat" - -#: pcbnew/class_track.cpp:882 -msgid "Diam" -msgstr "Diam" - -#: pcbnew/class_track.cpp:889 -#: pcbnew/class_track.cpp:894 -msgid "Drill" -msgstr "Perçage" - #: pcbnew/class_drawsegment.cpp:285 msgid "Shape" msgstr "Forme" @@ -1221,6 +1181,14 @@ msgstr "Forme" msgid "Angle" msgstr "Angle" +#: pcbnew/class_drawsegment.cpp:298 +msgid "Segment" +msgstr "Segment" + +#: pcbnew/modedit.cpp:76 +msgid "Selection Clarification" +msgstr "Clarification de la Sélection" + #: pcbnew/modedit.cpp:269 msgid "Unable to find the footprint source on the main board" msgstr "Impossible de trouver le module source sur le PCB principal" @@ -1520,20 +1488,10 @@ msgid "Scale Opt" msgstr "Echelle" #: pcbnew/pcbplot.cpp:423 -#: pcbnew/dialog_display_options.cpp:192 -#: pcbnew/dialog_display_options.cpp:222 -#: pcbnew/dialog_display_options.cpp:230 -#: pcbnew/dialog_display_options.cpp:245 -#: pcbnew/dialog_display_options.cpp:267 msgid "Filled" msgstr "Plein" #: pcbnew/pcbplot.cpp:423 -#: pcbnew/dialog_display_options.cpp:191 -#: pcbnew/dialog_display_options.cpp:223 -#: pcbnew/dialog_display_options.cpp:231 -#: pcbnew/dialog_display_options.cpp:244 -#: pcbnew/dialog_display_options.cpp:268 msgid "Sketch" msgstr "Contour" @@ -1755,6 +1713,10 @@ msgstr "Last Change" msgid "Netlist path" msgstr "Chemin Netliste " +#: pcbnew/class_module.cpp:952 +msgid "Stat" +msgstr "Stat" + #: pcbnew/class_module.cpp:962 msgid "3D-Shape" msgstr "Forme 3D" @@ -1815,15 +1777,15 @@ msgstr "Rotation Bloc" msgid "Zone rotation" msgstr "Rotation Zones" -#: pcbnew/block.cpp:767 +#: pcbnew/block.cpp:765 msgid "Block mirroring" msgstr "Bloc Miroir" -#: pcbnew/block.cpp:953 +#: pcbnew/block.cpp:950 msgid "Move Block" msgstr "Déplacer Bloc" -#: pcbnew/block.cpp:1099 +#: pcbnew/block.cpp:1096 msgid "Copy Block" msgstr "Copie Bloc" @@ -1967,6 +1929,7 @@ msgid "Keep or delete bad tracks after a netlist change" msgstr "Garder ou supprimer les mauvaises pistes après un chnagement de netliste" #: pcbnew/dialog_netlist.cpp:193 +#: pcbnew/dialog_drc.cpp:432 msgid "Options" msgstr "Options" @@ -2261,23 +2224,27 @@ msgstr "Impossible de créer fichier " msgid "unable to reopen file <%s>" msgstr "Ne peut pas réouvrir fichier <%s>" -#: pcbnew/class_pad.cpp:788 +#: pcbnew/class_pad.cpp:379 msgid "Unknown Pad shape" msgstr "Forme Pad inconnue" -#: pcbnew/class_pad.cpp:874 +#: pcbnew/class_pad.cpp:465 msgid "RefP" msgstr "RefP" -#: pcbnew/class_pad.cpp:988 +#: pcbnew/class_pad.cpp:576 +msgid "Drill" +msgstr "Perçage" + +#: pcbnew/class_pad.cpp:584 msgid "Drill X / Y" msgstr "Perçage X/Y" -#: pcbnew/class_pad.cpp:1003 +#: pcbnew/class_pad.cpp:599 msgid "X Pos" msgstr "X Pos" -#: pcbnew/class_pad.cpp:1007 +#: pcbnew/class_pad.cpp:603 msgid "Y pos" msgstr "Y pos" @@ -2582,10 +2549,12 @@ msgid "Layer:" msgstr "Couche:" #: pcbnew/modedit_onclick.cpp:196 +#: pcbnew/onrightclick.cpp:127 msgid "End Tool" msgstr "Fin Outil" #: pcbnew/modedit_onclick.cpp:206 +#: pcbnew/onrightclick.cpp:450 msgid "Cancel Block" msgstr "Annuler Bloc" @@ -2594,6 +2563,7 @@ msgid "Zoom Block (drag middle mouse)" msgstr "Zoom Bloc (drag bouton du milieu souris)" #: pcbnew/modedit_onclick.cpp:211 +#: pcbnew/onrightclick.cpp:455 msgid "Place Block" msgstr "Place Bloc" @@ -2614,6 +2584,8 @@ msgid "Delete Block (shift+ctrl + drag mouse)" msgstr "Effacement Bloc (shift+ctrl + drag mouse)" #: pcbnew/modedit_onclick.cpp:241 +#: pcbnew/onrightclick.cpp:765 +#: pcbnew/onrightclick.cpp:869 msgid "Rotate" msgstr "Rotation" @@ -2642,14 +2614,17 @@ msgid "Move Pad" msgstr "Déplace Pad" #: pcbnew/modedit_onclick.cpp:263 +#: pcbnew/onrightclick.cpp:804 msgid "Edit Pad" msgstr "Edit Pad" #: pcbnew/modedit_onclick.cpp:265 +#: pcbnew/onrightclick.cpp:808 msgid "New Pad Settings" msgstr "Nouvelles Caract. Pads" #: pcbnew/modedit_onclick.cpp:267 +#: pcbnew/onrightclick.cpp:812 msgid "Export Pad Settings" msgstr "Exporte Caract. Pads" @@ -2658,6 +2633,7 @@ msgid "delete Pad" msgstr "Supprimer Pad" #: pcbnew/modedit_onclick.cpp:274 +#: pcbnew/onrightclick.cpp:819 msgid "Global Pad Settings" msgstr "Edition Globale des pads" @@ -2690,6 +2666,9 @@ msgid "Place edge" msgstr "Place contour" #: pcbnew/modedit_onclick.cpp:306 +#: pcbnew/onrightclick.cpp:733 +#: pcbnew/onrightclick.cpp:767 +#: pcbnew/onrightclick.cpp:871 msgid "Edit" msgstr "Editer" @@ -3275,15 +3254,6 @@ msgstr "Marqueur Suivant" msgid "GenCAD file:" msgstr "Fichier GenCAD:" -#: pcbnew/basepcbframe.cpp:171 -msgid "3D Frame already opened" -msgstr "Fenetre 3D déjà ouverte" - -#: pcbnew/basepcbframe.cpp:176 -#: pcbnew/basepcbframe.cpp:179 -msgid "3D Viewer" -msgstr "Visu 3D" - #: pcbnew/hotkeys.cpp:465 #, c-format msgid "Footprint %s found, but locked" @@ -3754,10 +3724,18 @@ msgstr "N'affiche pas les couches cuivre" msgid "Apply" msgstr "Appliquer" +#: pcbnew/class_zone.cpp:889 +msgid "NetName" +msgstr "NetName" + #: pcbnew/class_zone.cpp:892 msgid "Non Copper Zone" msgstr "Zone non Cuivre" +#: pcbnew/class_zone.cpp:897 +msgid "NetCode" +msgstr "NetCode" + #: pcbnew/class_zone.cpp:905 msgid "Corners" msgstr "Sommets" @@ -3803,6 +3781,15 @@ msgstr "%s pin %s non trouvée" msgid "%s pin %s found" msgstr "%s pin %s trouvée" +#: pcbnew/basepcbframe.cpp:171 +msgid "3D Frame already opened" +msgstr "Fenetre 3D déjà ouverte" + +#: pcbnew/basepcbframe.cpp:176 +#: pcbnew/basepcbframe.cpp:179 +msgid "3D Viewer" +msgstr "Visu 3D" + #: pcbnew/dialog_setup_libs.cpp:97 msgid "from " msgstr "De " @@ -4798,6 +4785,10 @@ msgstr "Orient pad:" msgid "Pad Orient (0.1 deg)" msgstr "Orient. Pad (0.1 deg)" +#: pcbnew/dialog_pad_properties_base.cpp:80 +msgid "Standard" +msgstr "Standard" + #: pcbnew/dialog_pad_properties_base.cpp:80 msgid "SMD" msgstr "CMS" @@ -5029,6 +5020,14 @@ msgstr "Référence ou Valeur ne peut etre effacée" msgid "Delete [%s]" msgstr "Supprimer [%s]" +#: pcbnew/class_track.cpp:912 +msgid "Flags" +msgstr "Flags" + +#: pcbnew/class_track.cpp:949 +msgid "Diam" +msgstr "Diam" + #: eeschema/backanno.cpp:135 msgid "Load Stuff File" msgstr "Charger Fichier d'échange" @@ -5843,17 +5842,14 @@ msgid "Pin Shape:" msgstr "Forme Pin:" #: eeschema/pinedit-dialog.cpp:264 -#: eeschema/dialog_edit_label.cpp:160 msgid "Input" msgstr "Entrée" #: eeschema/pinedit-dialog.cpp:265 -#: eeschema/dialog_edit_label.cpp:161 msgid "Output" msgstr "Sortie" #: eeschema/pinedit-dialog.cpp:266 -#: eeschema/dialog_edit_label.cpp:162 msgid "Bidi" msgstr "Bidi" @@ -5862,7 +5858,6 @@ msgid "3 States" msgstr "3 Etats" #: eeschema/pinedit-dialog.cpp:268 -#: eeschema/dialog_edit_label.cpp:164 msgid "Passive" msgstr "Passive" @@ -6017,42 +6012,6 @@ msgstr "Racine" msgid "Arc %.1f deg" msgstr "Arc %.1f deg" -#: eeschema/dialog_edit_label.cpp:68 -msgid "Global Label properties" -msgstr "Propriétés du Label Global" - -#: eeschema/dialog_edit_label.cpp:72 -msgid "Hierarchal Label properties" -msgstr "Propriétés du Label Hiérarchique" - -#: eeschema/dialog_edit_label.cpp:76 -msgid "Label properties" -msgstr "Propriétés du label" - -#: eeschema/dialog_edit_label.cpp:80 -msgid "Text properties" -msgstr "Propriétés du texte" - -#: eeschema/dialog_edit_label.cpp:139 -msgid "Text " -msgstr "Texte " - -#: eeschema/dialog_edit_label.cpp:153 -msgid "Text Orient:" -msgstr "Orient:" - -#: eeschema/dialog_edit_label.cpp:163 -msgid "TriState" -msgstr "3 états" - -#: eeschema/dialog_edit_label.cpp:165 -msgid "Glabel Shape:" -msgstr "Forme GLabel:" - -#: eeschema/dialog_edit_label.cpp:173 -msgid "Size " -msgstr "Taille " - #: eeschema/netlist_control.cpp:131 #: eeschema/netlist_control.cpp:253 msgid "Default format" @@ -7078,87 +7037,6 @@ msgstr "Placer textes graphiques (commentaires)" msgid "HV orientation for Wires and Bus" msgstr "Force direction H, V et X pour les fils et bus" -#: eeschema/build_BOM.cpp:94 -msgid "Bill of materials:" -msgstr "Liste du materiel:" - -#: eeschema/build_BOM.cpp:143 -#: eeschema/build_BOM.cpp:182 -msgid "Failed to open file " -msgstr "Erreur ouverture " - -#: eeschema/build_BOM.cpp:226 -#, c-format -msgid "" -"\n" -"#Global, Hierarchical Labels and PinSheets ( order = Sheet Number ) count = %d\n" -msgstr "" -"\n" -"#Labels globaux, hiérarchiques et pins de feuille ( ordre = Numéro de feuille ) nombre = %d\n" - -#: eeschema/build_BOM.cpp:237 -#, c-format -msgid "" -"\n" -"#Global, Hierarchical Labels and PinSheets ( order = Alphab. ) count = %d\n" -"\n" -msgstr "" -"\n" -"##Labels globaux, hiérarchiques et pins de feuille ( ordre = Alphab. ) nombre = %d\n" -"\n" - -#: eeschema/build_BOM.cpp:244 -msgid "" -"\n" -"#End List\n" -msgstr "" -"\n" -"#End List\n" - -#: eeschema/build_BOM.cpp:619 -msgid "Field" -msgstr "Champ" - -#: eeschema/build_BOM.cpp:627 -msgid "" -"\n" -"#Cmp ( order = Reference )" -msgstr "" -"\n" -"#Cmp ( ordre = Reference )" - -#: eeschema/build_BOM.cpp:630 -#: eeschema/build_BOM.cpp:726 -msgid " (with SubCmp)" -msgstr "avec sub-composants" - -#: eeschema/build_BOM.cpp:700 -#: eeschema/build_BOM.cpp:781 -msgid "#End Cmp\n" -msgstr "#End Cmp\n" - -#: eeschema/build_BOM.cpp:723 -msgid "" -"\n" -"#Cmp ( order = Value )" -msgstr "" -"\n" -"#Cmp ( ordre = Valeur )" - -#: eeschema/build_BOM.cpp:811 -#, c-format -msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n" -msgstr "> %-28.28s %s (Feuille %s) pos: %3.3f, %3.3f\n" - -#: eeschema/build_BOM.cpp:831 -#, c-format -msgid "> %-28.28s PinSheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n" -msgstr "> %-28.28s PinSheet %-7.7s (Feuille %s) pos: %3.3f, %3.3f\n" - -#: eeschema/build_BOM.cpp:846 -msgid "#End labels\n" -msgstr "#End labels\n" - #: eeschema/dialog_build_BOM.cpp:247 msgid "List items:" msgstr " Liste éléments: " @@ -7536,6 +7414,87 @@ msgstr "Impossible de trouver le composant " msgid " in library" msgstr " en librairie" +#: eeschema/build_BOM.cpp:94 +msgid "Bill of materials:" +msgstr "Liste du materiel:" + +#: eeschema/build_BOM.cpp:143 +#: eeschema/build_BOM.cpp:182 +msgid "Failed to open file " +msgstr "Erreur ouverture " + +#: eeschema/build_BOM.cpp:226 +#, c-format +msgid "" +"\n" +"#Global, Hierarchical Labels and PinSheets ( order = Sheet Number ) count = %d\n" +msgstr "" +"\n" +"#Labels globaux, hiérarchiques et pins de feuille ( ordre = Numéro de feuille ) nombre = %d\n" + +#: eeschema/build_BOM.cpp:237 +#, c-format +msgid "" +"\n" +"#Global, Hierarchical Labels and PinSheets ( order = Alphab. ) count = %d\n" +"\n" +msgstr "" +"\n" +"##Labels globaux, hiérarchiques et pins de feuille ( ordre = Alphab. ) nombre = %d\n" +"\n" + +#: eeschema/build_BOM.cpp:244 +msgid "" +"\n" +"#End List\n" +msgstr "" +"\n" +"#End List\n" + +#: eeschema/build_BOM.cpp:619 +msgid "Field" +msgstr "Champ" + +#: eeschema/build_BOM.cpp:627 +msgid "" +"\n" +"#Cmp ( order = Reference )" +msgstr "" +"\n" +"#Cmp ( ordre = Reference )" + +#: eeschema/build_BOM.cpp:630 +#: eeschema/build_BOM.cpp:726 +msgid " (with SubCmp)" +msgstr "avec sub-composants" + +#: eeschema/build_BOM.cpp:700 +#: eeschema/build_BOM.cpp:781 +msgid "#End Cmp\n" +msgstr "#End Cmp\n" + +#: eeschema/build_BOM.cpp:723 +msgid "" +"\n" +"#Cmp ( order = Value )" +msgstr "" +"\n" +"#Cmp ( ordre = Valeur )" + +#: eeschema/build_BOM.cpp:811 +#, c-format +msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n" +msgstr "> %-28.28s %s (Feuille %s) pos: %3.3f, %3.3f\n" + +#: eeschema/build_BOM.cpp:831 +#, c-format +msgid "> %-28.28s PinSheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n" +msgstr "> %-28.28s PinSheet %-7.7s (Feuille %s) pos: %3.3f, %3.3f\n" + +#: eeschema/build_BOM.cpp:846 +msgid "#End labels\n" +msgstr "#End labels\n" + #: eeschema/dialog_eeschema_config.cpp:163 msgid "save current configuration setting in the local .pro file" msgstr "Sauve configuration courante dans le fichier .pro local" @@ -7746,6 +7705,34 @@ msgstr "Ok pour effacer la LISTE des filtres de modules" msgid "New FootprintFilter:" msgstr "Nouveau Filtre de Modules:" +#: eeschema/dialog_edit_label_base.cpp:34 +msgid "Direction" +msgstr "Direction" + +#: eeschema/dialog_edit_label_base.cpp:38 +msgid "Italic" +msgstr "Italique" + +#: eeschema/dialog_edit_label_base.cpp:38 +msgid "Bold" +msgstr "Gras" + +#: eeschema/dialog_edit_label_base.cpp:38 +msgid "Bold Italic" +msgstr "Gras Italique" + +#: eeschema/dialog_edit_label_base.cpp:40 +msgid "Style" +msgstr "Style" + +#: eeschema/dialog_edit_label_base.cpp:44 +msgid "TriState" +msgstr "3 états" + +#: eeschema/dialog_edit_label_base.cpp:46 +msgid "Glabel Shape:" +msgstr "Forme GLabel:" + #: eeschema/schedit.cpp:181 msgid "Push/Pop Hierarchy" msgstr "Naviger dans Hiérarchie" @@ -7790,35 +7777,10 @@ msgstr "Importer Connecteur de hiérarchie" msgid "Add Power" msgstr "Add Alims" -#: eeschema/edit_label.cpp:49 +#: eeschema/edit_label.cpp:46 msgid "Empty Text!" msgstr "Texte vide" -#: eeschema/load_one_schematic_file.cpp:105 -msgid "Failed to open " -msgstr "Erreur ouverture " - -#: eeschema/load_one_schematic_file.cpp:110 -msgid "Loading " -msgstr "Chargement " - -#: eeschema/load_one_schematic_file.cpp:117 -#: eeschema/load_one_schematic_file.cpp:146 -msgid " is NOT an EESchema file!" -msgstr " n'est PAS un fichier EESchema!" - -#: eeschema/load_one_schematic_file.cpp:129 -msgid " was created by a more recent version of EESchema and may not load correctly. Please consider updating!" -msgstr " a été créé par une version plus récente de Eeschema et peut ne pas être chargé correctement. SVP mettez a jour Eeschema!" - -#: eeschema/load_one_schematic_file.cpp:138 -msgid " was created by an older version of EESchema. It will be stored in the new file format when you save this file again." -msgstr " a été créé par une version plus ancienne de Eeschema. Il sera enregistré au nouveau format après la prochaine sauvegarde." - -#: eeschema/load_one_schematic_file.cpp:497 -msgid "Done Loading " -msgstr "Chargement terminé" - #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:28 msgid "1" msgstr "1" @@ -8274,6 +8236,47 @@ msgstr "Pas de nom de composant!" msgid "Component [%s] not found!" msgstr "Composant [%s] non trouvé!" +#: eeschema/dialog_edit_label.cpp:39 +msgid "Global Label properties" +msgstr "Propriétés du Label Global" + +#: eeschema/dialog_edit_label.cpp:43 +msgid "Hierarchal Label properties" +msgstr "Propriétés du Label Hiérarchique" + +#: eeschema/dialog_edit_label.cpp:47 +msgid "Label properties" +msgstr "Propriétés du label" + +#: eeschema/dialog_edit_label.cpp:51 +msgid "Text properties" +msgstr "Propriétés du texte" + +#: eeschema/load_one_schematic_file.cpp:79 +msgid "Failed to open " +msgstr "Erreur ouverture " + +#: eeschema/load_one_schematic_file.cpp:84 +msgid "Loading " +msgstr "Chargement " + +#: eeschema/load_one_schematic_file.cpp:91 +#: eeschema/load_one_schematic_file.cpp:121 +msgid " is NOT an EESchema file!" +msgstr " n'est PAS un fichier EESchema!" + +#: eeschema/load_one_schematic_file.cpp:103 +msgid " was created by a more recent version of EESchema and may not load correctly. Please consider updating!" +msgstr " a été créé par une version plus récente de Eeschema et peut ne pas être chargé correctement. SVP mettez a jour Eeschema!" + +#: eeschema/load_one_schematic_file.cpp:113 +msgid " was created by an older version of EESchema. It will be stored in the new file format when you save this file again." +msgstr " a été créé par une version plus ancienne de Eeschema. Il sera enregistré au nouveau format après la prochaine sauvegarde." + +#: eeschema/load_one_schematic_file.cpp:401 +msgid "Done Loading " +msgstr "Chargement terminé" + #: eeschema/eelibs_read_libraryfiles.cpp:117 msgid "Start loading schematic libs" msgstr "Demarre chargement des librairies schématiques" @@ -9424,12 +9427,12 @@ msgstr "Effacement Bloc (ctrl + drag mouse)" msgid "Delete Dcode items" msgstr "Suppression d'éléments par DCode" -#: gerbview/rs274x.cpp:295 +#: gerbview/rs274x.cpp:297 #, c-format msgid "Command <%c%c> ignored by Gerbview" msgstr "Commande <%c%c> ignorée par Gerbview" -#: gerbview/rs274x.cpp:340 +#: gerbview/rs274x.cpp:342 msgid "Too many include files!!" msgstr "Trop de fichiers inclus!!" @@ -9470,7 +9473,6 @@ msgid "Show D codes" msgstr "Montrer DCodes" #: gerbview/process_config.cpp:117 -#: gerbview/gerbview_config.cpp:148 msgid "Save config file" msgstr "Sauver config" @@ -9496,7 +9498,7 @@ msgstr "%d erreurs pendant lecture fichier gerber [%s]" msgid "D codes files:" msgstr "Fichiers D-Codes:" -#: gerbview/dcode.cpp:460 +#: gerbview/dcode.cpp:464 msgid "List D codes" msgstr "Liste D-Codes" @@ -9554,6 +9556,94 @@ msgstr "Infos:" msgid "Colors" msgstr "Couleurs" +#: common/edaappl.cpp:57 +msgid "Default" +msgstr "Defaut" + +#: common/edaappl.cpp:70 +msgid "French" +msgstr "French" + +#: common/edaappl.cpp:76 +msgid "Spanish" +msgstr "Espagnol" + +#: common/edaappl.cpp:82 +msgid "Portuguese" +msgstr "Portugais" + +#: common/edaappl.cpp:88 +msgid "Italian" +msgstr "Italien" + +#: common/edaappl.cpp:94 +msgid "German" +msgstr "Allemand" + +#: common/edaappl.cpp:100 +msgid "Slovenian" +msgstr "Slovène" + +#: common/edaappl.cpp:106 +msgid "Hungarian" +msgstr "Hongrois" + +#: common/edaappl.cpp:112 +msgid "Polish" +msgstr "Polonais" + +#: common/edaappl.cpp:118 +msgid "Czech" +msgstr "Tchèque" + +#: common/edaappl.cpp:124 +msgid "Russian" +msgstr "Russe" + +#: common/edaappl.cpp:130 +msgid "Korean" +msgstr "Coréen" + +#: common/edaappl.cpp:136 +msgid "Chinese simplified" +msgstr "Chinois Simplifié" + +#: common/edaappl.cpp:142 +msgid "Catalan" +msgstr "Catalan" + +#: common/edaappl.cpp:148 +msgid "Dutch" +msgstr "Hollandais" + +#: common/edaappl.cpp:613 +msgid "Language" +msgstr "Langage" + +#: common/edaappl.cpp:614 +msgid "Select application language (only for testing!)" +msgstr "Choisir le langage (seulement pour tests!)" + +#: common/zoom.cpp:238 +msgid "Center" +msgstr "Centrer" + +#: common/zoom.cpp:247 +msgid "Zoom select" +msgstr "Sélection Zoom" + +#: common/zoom.cpp:260 +msgid "Zoom: " +msgstr "Zoom: " + +#: common/zoom.cpp:270 +msgid "Grid Select" +msgstr "Sélection Grille" + +#: common/zoom.cpp:291 +msgid "Grid: " +msgstr "Grille: " + #: common/block_commande.cpp:57 msgid "Block Move" msgstr "Move Bloc" @@ -9594,6 +9684,18 @@ msgstr "Inversion Bloc" msgid "Block Mirror" msgstr "Bloc Miroir" +#: common/drawframe.cpp:137 +msgid "Choose font type and size for dialogs, infos and status box" +msgstr "Choisir les fontes et leur taille pour les dialogues, infos et ligne d'état" + +#: common/drawframe.cpp:364 +msgid "Inch" +msgstr "Pouce" + +#: common/drawframe.cpp:372 +msgid "??" +msgstr "??" + #: common/common.cpp:105 msgid " (\"):" msgstr " (\"):" @@ -9858,79 +9960,11 @@ msgstr "" msgid "Unable to find a PDF viewer for" msgstr "Impossible de trouver un visualisateur PDF pour" -#: common/basicframe.cpp:239 +#: common/basicframe.cpp:236 #, c-format msgid "Help file %s not found" msgstr "Fichier d'aide %s non trouvé" -#: common/edaappl.cpp:57 -msgid "Default" -msgstr "Defaut" - -#: common/edaappl.cpp:70 -msgid "French" -msgstr "French" - -#: common/edaappl.cpp:76 -msgid "Spanish" -msgstr "Espagnol" - -#: common/edaappl.cpp:82 -msgid "Portuguese" -msgstr "Portugais" - -#: common/edaappl.cpp:88 -msgid "Italian" -msgstr "Italien" - -#: common/edaappl.cpp:94 -msgid "German" -msgstr "Allemand" - -#: common/edaappl.cpp:100 -msgid "Slovenian" -msgstr "Slovène" - -#: common/edaappl.cpp:106 -msgid "Hungarian" -msgstr "Hongrois" - -#: common/edaappl.cpp:112 -msgid "Polish" -msgstr "Polonais" - -#: common/edaappl.cpp:118 -msgid "Czech" -msgstr "Tchèque" - -#: common/edaappl.cpp:124 -msgid "Russian" -msgstr "Russe" - -#: common/edaappl.cpp:130 -msgid "Korean" -msgstr "Coréen" - -#: common/edaappl.cpp:136 -msgid "Chinese simplified" -msgstr "Chinois Simplifié" - -#: common/edaappl.cpp:142 -msgid "Catalan" -msgstr "Catalan" - -#: common/edaappl.cpp:148 -msgid "Dutch" -msgstr "Hollandais" - -#: common/edaappl.cpp:606 -msgid "Language" -msgstr "Langage" - -#: common/edaappl.cpp:607 -msgid "Select application language (only for testing!)" -msgstr "Choisir le langage (seulement pour tests!)" - #: 3d-viewer/3d_toolbar.cpp:33 msgid "Reload board" msgstr "Reharger Circuit Imprimé" @@ -10067,138 +10101,6 @@ msgstr "Non fichier Image 3D:" msgid "Vertex " msgstr "Vertex " -#: share/setpage.cpp:276 -msgid "Size A4" -msgstr "Format A4 " - -#: share/setpage.cpp:277 -msgid "Size A3" -msgstr "Format A3" - -#: share/setpage.cpp:278 -msgid "Size A2" -msgstr "Format A2" - -#: share/setpage.cpp:279 -msgid "Size A1" -msgstr "Format A1" - -#: share/setpage.cpp:280 -msgid "Size A0" -msgstr "Format A0" - -#: share/setpage.cpp:281 -msgid "Size A" -msgstr "Format A" - -#: share/setpage.cpp:282 -msgid "Size B" -msgstr "Format B" - -#: share/setpage.cpp:283 -msgid "Size C" -msgstr "Format C" - -#: share/setpage.cpp:284 -msgid "Size D" -msgstr "Format D" - -#: share/setpage.cpp:285 -msgid "Size E" -msgstr "Format E" - -#: share/setpage.cpp:286 -msgid "User size" -msgstr "Format libre" - -#: share/setpage.cpp:287 -msgid "Page Size:" -msgstr "Dim Page:" - -#: share/setpage.cpp:294 -msgid "User Page Size X: " -msgstr "Format libre dim X: " - -#: share/setpage.cpp:303 -msgid "User Page Size Y: " -msgstr "Format libre dim Y: " - -#: share/setpage.cpp:330 -#, c-format -msgid "Number of sheets: %d" -msgstr "Nombre de feuilles: %d" - -#: share/setpage.cpp:336 -#, c-format -msgid "Sheet number: %d" -msgstr "Numéro feuille: %d" - -#: share/setpage.cpp:340 -msgid "Revision:" -msgstr "Révision:" - -#: share/setpage.cpp:349 -#: share/setpage.cpp:363 -#: share/setpage.cpp:377 -#: share/setpage.cpp:391 -#: share/setpage.cpp:405 -#: share/setpage.cpp:419 -#: share/setpage.cpp:433 -msgid "Export to other sheets" -msgstr "Exporter vers autres feuilles" - -#: share/setpage.cpp:368 -msgid "Company:" -msgstr "Société:" - -#: share/setpage.cpp:382 -msgid "Comment1:" -msgstr "Commentaire1: " - -#: share/setpage.cpp:396 -msgid "Comment2:" -msgstr "Commentaire2:" - -#: share/setpage.cpp:410 -msgid "Comment3:" -msgstr "Commentaire3:" - -#: share/setpage.cpp:424 -msgid "Comment4:" -msgstr "Commentaire4:" - -#: share/zoom.cpp:238 -msgid "Center" -msgstr "Centrer" - -#: share/zoom.cpp:247 -msgid "Zoom select" -msgstr "Sélection Zoom" - -#: share/zoom.cpp:260 -msgid "Zoom: " -msgstr "Zoom: " - -#: share/zoom.cpp:270 -msgid "Grid Select" -msgstr "Sélection Grille" - -#: share/zoom.cpp:291 -msgid "Grid: " -msgstr "Grille: " - -#: share/drawframe.cpp:155 -msgid "Choose font type and size for dialogs, infos and status box" -msgstr "Choisir les fontes et leur taille pour les dialogues, infos et ligne d'état" - -#: share/drawframe.cpp:382 -msgid "Inch" -msgstr "Pouce" - -#: share/drawframe.cpp:390 -msgid "??" -msgstr "??" - #: share/dialog_print.cpp:146 msgid "Exclude Edges_Pcb Layer" msgstr "Exclure Couche Contours PCB" @@ -10330,6 +10232,106 @@ msgstr "Il y a un problème d'impression" msgid "Print page %d" msgstr "Print page %d" +#: share/setpage.cpp:277 +msgid "Size A4" +msgstr "Format A4 " + +#: share/setpage.cpp:278 +msgid "Size A3" +msgstr "Format A3" + +#: share/setpage.cpp:279 +msgid "Size A2" +msgstr "Format A2" + +#: share/setpage.cpp:280 +msgid "Size A1" +msgstr "Format A1" + +#: share/setpage.cpp:281 +msgid "Size A0" +msgstr "Format A0" + +#: share/setpage.cpp:282 +msgid "Size A" +msgstr "Format A" + +#: share/setpage.cpp:283 +msgid "Size B" +msgstr "Format B" + +#: share/setpage.cpp:284 +msgid "Size C" +msgstr "Format C" + +#: share/setpage.cpp:285 +msgid "Size D" +msgstr "Format D" + +#: share/setpage.cpp:286 +msgid "Size E" +msgstr "Format E" + +#: share/setpage.cpp:287 +msgid "User size" +msgstr "Format libre" + +#: share/setpage.cpp:288 +msgid "Page Size:" +msgstr "Dim Page:" + +#: share/setpage.cpp:295 +msgid "User Page Size X: " +msgstr "Format libre dim X: " + +#: share/setpage.cpp:304 +msgid "User Page Size Y: " +msgstr "Format libre dim Y: " + +#: share/setpage.cpp:331 +#, c-format +msgid "Number of sheets: %d" +msgstr "Nombre de feuilles: %d" + +#: share/setpage.cpp:337 +#, c-format +msgid "Sheet number: %d" +msgstr "Numéro feuille: %d" + +#: share/setpage.cpp:341 +msgid "Revision:" +msgstr "Révision:" + +#: share/setpage.cpp:350 +#: share/setpage.cpp:364 +#: share/setpage.cpp:378 +#: share/setpage.cpp:392 +#: share/setpage.cpp:406 +#: share/setpage.cpp:420 +#: share/setpage.cpp:434 +msgid "Export to other sheets" +msgstr "Exporter vers autres feuilles" + +#: share/setpage.cpp:369 +msgid "Company:" +msgstr "Société:" + +#: share/setpage.cpp:383 +msgid "Comment1:" +msgstr "Commentaire1: " + +#: share/setpage.cpp:397 +msgid "Comment2:" +msgstr "Commentaire2:" + +#: share/setpage.cpp:411 +msgid "Comment3:" +msgstr "Commentaire3:" + +#: share/setpage.cpp:425 +msgid "Comment4:" +msgstr "Commentaire4:" + #: pcbnew/cleaningoptions_dialog.h:48 msgid "Cleaning options" msgstr "Options de Nettoyage" @@ -10378,58 +10380,6 @@ msgstr "??? Via" msgid "Blind/Buried Via" msgstr "Via Aveugle/Enterrée" -#: pcbnew/set_color.h:38 -msgid "Pcbnew Layer Colors:" -msgstr "Pcbnew: Couleur des Couches" - -#: pcbnew/set_color.h:81 -msgid "Copper Layers" -msgstr "Couches Cuivre." - -#: pcbnew/set_color.h:216 -msgid "Tech Layers" -msgstr "Couches Tech." - -#: pcbnew/set_color.h:357 -msgid "Ratsnest" -msgstr "Chevelu" - -#: pcbnew/set_color.h:366 -msgid "Pad Cu" -msgstr "Pad Cu" - -#: pcbnew/set_color.h:374 -msgid "Pad Cmp" -msgstr "Pad Cmp" - -#: pcbnew/set_color.h:382 -msgid "Text Module Cu" -msgstr "Texte Module Cu" - -#: pcbnew/set_color.h:390 -msgid "Text Module Cmp" -msgstr "Texte Module Cmp" - -#: pcbnew/set_color.h:398 -msgid "Text Module invisible" -msgstr "Texte Module invisible" - -#: pcbnew/set_color.h:406 -msgid "Anchors" -msgstr "Ancres" - -#: pcbnew/set_color.h:423 -msgid "Show Noconnect" -msgstr "Montrer Non Conn" - -#: pcbnew/set_color.h:432 -msgid "Show Modules Cmp" -msgstr "Afficher Modules Cmp" - -#: pcbnew/set_color.h:441 -msgid "Show Modules Cu" -msgstr "Afficher Modules Cu" - #: pcbnew/gen_self.h:217 msgid "Length(inch):" msgstr "Longueur (pouces):" @@ -10482,6 +10432,58 @@ msgstr "Propriétés du Pad" msgid "Drill Files Generation" msgstr "Génération Fichiers de Perçagee" +#: pcbnew/set_color.h:38 +msgid "Pcbnew Layer Colors:" +msgstr "Pcbnew: Couleur des Couches" + +#: pcbnew/set_color.h:81 +msgid "Copper Layers" +msgstr "Couches Cuivre." + +#: pcbnew/set_color.h:216 +msgid "Tech Layers" +msgstr "Couches Tech." + +#: pcbnew/set_color.h:357 +msgid "Ratsnest" +msgstr "Chevelu" + +#: pcbnew/set_color.h:366 +msgid "Pad Cu" +msgstr "Pad Cu" + +#: pcbnew/set_color.h:374 +msgid "Pad Cmp" +msgstr "Pad Cmp" + +#: pcbnew/set_color.h:382 +msgid "Text Module Cu" +msgstr "Texte Module Cu" + +#: pcbnew/set_color.h:390 +msgid "Text Module Cmp" +msgstr "Texte Module Cmp" + +#: pcbnew/set_color.h:398 +msgid "Text Module invisible" +msgstr "Texte Module invisible" + +#: pcbnew/set_color.h:406 +msgid "Anchors" +msgstr "Ancres" + +#: pcbnew/set_color.h:423 +msgid "Show Noconnect" +msgstr "Montrer Non Conn" + +#: pcbnew/set_color.h:432 +msgid "Show Modules Cmp" +msgstr "Afficher Modules Cmp" + +#: pcbnew/set_color.h:441 +msgid "Show Modules Cu" +msgstr "Afficher Modules Cu" + #: eeschema/annotate_dialog.h:52 msgid "EESchema Annotation" msgstr "Annotation des composants" @@ -10790,6 +10792,12 @@ msgstr "Imprimer" msgid "Create SVG file" msgstr "Créer Fichier SVG" +#~ msgid "Text " +#~ msgstr "Texte " +#~ msgid "Text Orient:" +#~ msgstr "Orient:" +#~ msgid "Size " +#~ msgstr "Taille " #~ msgid "Do not Show Zones" #~ msgstr "Ne pas montrer Zones" #~ msgid "Show Zones" diff --git a/pcbnew/basepcbframe.cpp b/pcbnew/basepcbframe.cpp index 329ab16e75..faed866e50 100644 --- a/pcbnew/basepcbframe.cpp +++ b/pcbnew/basepcbframe.cpp @@ -359,8 +359,8 @@ void WinEDA_BasePcbFrame::SetToolID( int id, int new_cursor_id, // must do this after the tool has been set, otherwise pad::Draw() does // not show proper color when DisplayOpt.ContrastModeDisplay is true. - if( redraw ) - ReDrawPanel(); + if( redraw && DrawPanel) + DrawPanel->Refresh(); } void WinEDA_BasePcbFrame::Affiche_Status_Box() diff --git a/pcbnew/initpcb.cpp b/pcbnew/initpcb.cpp index 9109de59df..93590adc03 100644 --- a/pcbnew/initpcb.cpp +++ b/pcbnew/initpcb.cpp @@ -99,7 +99,7 @@ void WinEDA_PcbGlobalDeleteFrame::AcceptPcbDelete( wxCommandEvent& event ) if( redraw ) { m_Parent->SetCurItem( NULL ); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); } EndModal( 1 ); diff --git a/pcbnew/makefile.include b/pcbnew/makefile.include index 7725190f72..453582afcc 100644 --- a/pcbnew/makefile.include +++ b/pcbnew/makefile.include @@ -61,7 +61,6 @@ OBJECTS= $(TARGET).o classpcb.o\ class_board.o\ class_zone.o\ class_zone_setting.o\ - drawframe.o\ track.o \ set_color.o \ set_grid.o \ @@ -77,7 +76,6 @@ OBJECTS= $(TARGET).o classpcb.o\ locate.o \ modules.o \ loadcmp.o \ - zoom.o\ dialog_setup_libs.o \ dialog_general_options.o \ dialog_orient_footprints.o\ @@ -137,9 +135,6 @@ OBJECTS= $(TARGET).o classpcb.o\ setpage.o: ../share/setpage.cpp $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp -drawframe.o: ../share/drawframe.cpp - $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp - menubarpcb.o: menubarpcb.cpp dialog_general_options.o: dialog_general_options.cpp dialog_track_options.cpp dialog_display_options.cpp\ @@ -215,9 +210,6 @@ automove.o: automove.cpp autorout.h loadcmp.o: loadcmp.cpp -zoom.o: ../share/zoom.cpp - $(CXX) -c $(EDACPPFLAGS) -o $@ ../share/$*.cpp - affiche.o: affiche.cpp tr_modif.o: tr_modif.cpp diff --git a/pcbnew/sel_layer.cpp b/pcbnew/sel_layer.cpp index 69cbf1fef1..d59127800d 100644 --- a/pcbnew/sel_layer.cpp +++ b/pcbnew/sel_layer.cpp @@ -254,7 +254,7 @@ void WinEDA_BasePcbFrame::SelectLayerPair() // because the PAD_SMD pads may change color. if( result >= 0 && DisplayOpt.ContrastModeDisplay ) { - ReDrawPanel(); + DrawPanel->Refresh(); } } diff --git a/pcbnew/set_color.cpp b/pcbnew/set_color.cpp index 2be4950d7b..5a0c1295ab 100644 --- a/pcbnew/set_color.cpp +++ b/pcbnew/set_color.cpp @@ -398,7 +398,7 @@ void WinEDA_SetColorsFrame::OnOkClick( wxCommandEvent& WXUNUSED (event) ) /**********************************************************************/ { UpdateLayerSettings(); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); EndModal( 1 ); } @@ -416,7 +416,7 @@ void WinEDA_SetColorsFrame::OnApplyClick(wxCommandEvent& WXUNUSED(event)) /*******************************************************************/ { UpdateLayerSettings(); - m_Parent->ReDrawPanel(); + m_Parent->DrawPanel->Refresh(); } diff --git a/share/setpage.cpp b/share/setpage.cpp index 1412a2ad53..fd2ebebc57 100644 --- a/share/setpage.cpp +++ b/share/setpage.cpp @@ -70,7 +70,8 @@ void WinEDA_DrawFrame::Process_PageSettings(wxCommandEvent& event) { WinEDA_SetPageFrame frame(this); frame.ShowModal(); - ReDrawPanel(); + if ( DrawPanel ) + DrawPanel->Refresh(); } /*!