Commit 8e0937e6 authored by jean-pierre charras's avatar jean-pierre charras

Pcbnew: code cleaning, dialogs converted from Dialogblocks to wxFormBuilder,...

Pcbnew: code cleaning, dialogs converted from Dialogblocks to wxFormBuilder, file housekeeping. Add patch from Manveru.
parents 6963001a 8a0b632a
...@@ -605,7 +605,7 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text ) ...@@ -605,7 +605,7 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text )
SetGLColor( color ); SetGLColor( color );
s_Text3DZPos = g_Parm_3D_Visu.m_LayerZcoord[layer]; s_Text3DZPos = g_Parm_3D_Visu.m_LayerZcoord[layer];
s_Text3DWidth = text->m_Width * g_Parm_3D_Visu.m_BoardScale; s_Text3DWidth = text->m_Thickness * g_Parm_3D_Visu.m_BoardScale;
glNormal3f( 0.0, 0.0, Get3DLayerSide( layer ) ); glNormal3f( 0.0, 0.0, Get3DLayerSide( layer ) );
wxSize size = text->m_Size; wxSize size = text->m_Size;
if( text->m_Mirror ) if( text->m_Mirror )
...@@ -625,7 +625,7 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text ) ...@@ -625,7 +625,7 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text )
DrawGraphicText( NULL, NULL, pos, (EDA_Colors) color, DrawGraphicText( NULL, NULL, pos, (EDA_Colors) color,
txt, text->m_Orient, size, txt, text->m_Orient, size,
text->m_HJustify, text->m_VJustify, text->m_HJustify, text->m_VJustify,
text->m_Width, text->m_Italic, text->m_Thickness, text->m_Italic,
true, Draw3dTextSegm ); true, Draw3dTextSegm );
pos += offset; pos += offset;
} }
...@@ -636,7 +636,7 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text ) ...@@ -636,7 +636,7 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text )
DrawGraphicText( NULL, NULL, text->m_Pos, (EDA_Colors) color, DrawGraphicText( NULL, NULL, text->m_Pos, (EDA_Colors) color,
text->m_Text, text->m_Orient, size, text->m_Text, text->m_Orient, size,
text->m_HJustify, text->m_VJustify, text->m_HJustify, text->m_VJustify,
text->m_Width, text->m_Italic, text->m_Thickness, text->m_Italic,
true, true,
Draw3dTextSegm ); Draw3dTextSegm );
} }
......
...@@ -182,7 +182,7 @@ EDA_TextStruct::EDA_TextStruct( const wxString& text ) ...@@ -182,7 +182,7 @@ EDA_TextStruct::EDA_TextStruct( const wxString& text )
m_Mirror = false; // display mirror if true m_Mirror = false; // display mirror if true
m_HJustify = GR_TEXT_HJUSTIFY_CENTER; m_HJustify = GR_TEXT_HJUSTIFY_CENTER;
m_VJustify = GR_TEXT_VJUSTIFY_CENTER; /* Justifications Horiz et Vert du texte */ m_VJustify = GR_TEXT_VJUSTIFY_CENTER; /* Justifications Horiz et Vert du texte */
m_Width = 0; /* thickness */ m_Thickness = 0; /* thickness */
m_Italic = false; /* true = italic shape */ m_Italic = false; /* true = italic shape */
m_Bold = false; m_Bold = false;
m_MultilineAllowed = false; // Set to true only for texts that can use multiline. m_MultilineAllowed = false; // Set to true only for texts that can use multiline.
...@@ -203,7 +203,7 @@ EDA_TextStruct::~EDA_TextStruct() ...@@ -203,7 +203,7 @@ EDA_TextStruct::~EDA_TextStruct()
*/ */
int EDA_TextStruct::LenSize( const wxString& aLine ) const int EDA_TextStruct::LenSize( const wxString& aLine ) const
{ {
return ReturnGraphicTextWidth(aLine, m_Size.x, m_Italic, m_Bold ) + m_Width; return ReturnGraphicTextWidth(aLine, m_Size.x, m_Italic, m_Bold ) + m_Thickness;
} }
...@@ -262,7 +262,7 @@ EDA_Rect EDA_TextStruct::GetTextBox( int aLine ) ...@@ -262,7 +262,7 @@ EDA_Rect EDA_TextStruct::GetTextBox( int aLine )
delete list; delete list;
rect.SetSize( textsize ); rect.SetSize( textsize );
rect.Inflate( m_Width/2 ); // ensure a small margin rect.Inflate( m_Thickness/2 ); // ensure a small margin
/* Now, calculate the rect origin, according to text justification /* Now, calculate the rect origin, according to text justification
* At this point the rectangle origin is the text origin (m_Pos). * At this point the rectangle origin is the text origin (m_Pos).
...@@ -284,7 +284,7 @@ EDA_Rect EDA_TextStruct::GetTextBox( int aLine ) ...@@ -284,7 +284,7 @@ EDA_Rect EDA_TextStruct::GetTextBox( int aLine )
break; break;
} }
dy = m_Size.y + m_Width; dy = m_Size.y + m_Thickness;
switch( m_VJustify ) switch( m_VJustify )
{ {
case GR_TEXT_VJUSTIFY_TOP: case GR_TEXT_VJUSTIFY_TOP:
...@@ -419,7 +419,7 @@ void EDA_TextStruct::DrawOneLineOfText( WinEDA_DrawPanel* aPanel, wxDC* aDC, ...@@ -419,7 +419,7 @@ void EDA_TextStruct::DrawOneLineOfText( WinEDA_DrawPanel* aPanel, wxDC* aDC,
GRTraceMode aFillMode, EDA_Colors aAnchor_color, GRTraceMode aFillMode, EDA_Colors aAnchor_color,
wxString& aText, wxPoint aPos ) wxString& aText, wxPoint aPos )
{ {
int width = m_Width; int width = m_Thickness;
if( aFillMode == FILAIRE ) if( aFillMode == FILAIRE )
width = 0; width = 0;
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include "colors_selection.h" #include "colors_selection.h"
#include "bitmaps.h" #include "bitmaps.h"
#include "pcbnew_id.h"
#include "hotkeys.h" #include "hotkeys.h"
#include "help_common_strings.h" #include "help_common_strings.h"
......
...@@ -224,12 +224,12 @@ void DialogLabelEditor::TextPropertiesAccept( wxCommandEvent& aEvent ) ...@@ -224,12 +224,12 @@ void DialogLabelEditor::TextPropertiesAccept( wxCommandEvent& aEvent )
if( ( style & 2 ) ) if( ( style & 2 ) )
{ {
m_CurrentText->m_Bold = true; m_CurrentText->m_Bold = true;
m_CurrentText->m_Width = GetPenSizeForBold( m_CurrentText->m_Size.x ); m_CurrentText->m_Thickness = GetPenSizeForBold( m_CurrentText->m_Size.x );
} }
else else
{ {
m_CurrentText->m_Bold = false; m_CurrentText->m_Bold = false;
m_CurrentText->m_Width = 0; m_CurrentText->m_Thickness = 0;
} }
m_Parent->OnModify(); m_Parent->OnModify();
......
This diff is collapsed.
...@@ -304,7 +304,7 @@ void WinEDA_SchematicFrame::ConvertTextType( SCH_TEXT* Text, wxDC* DC, int newty ...@@ -304,7 +304,7 @@ void WinEDA_SchematicFrame::ConvertTextType( SCH_TEXT* Text, wxDC* DC, int newty
newtext->m_Shape = Text->m_Shape; newtext->m_Shape = Text->m_Shape;
newtext->SetSchematicTextOrientation( Text->GetSchematicTextOrientation() ); newtext->SetSchematicTextOrientation( Text->GetSchematicTextOrientation() );
newtext->m_Size = Text->m_Size; newtext->m_Size = Text->m_Size;
newtext->m_Width = Text->m_Width; newtext->m_Thickness = Text->m_Thickness;
newtext->m_Italic = Text->m_Italic; newtext->m_Italic = Text->m_Italic;
newtext->m_Bold = Text->m_Bold; newtext->m_Bold = Text->m_Bold;
......
This diff is collapsed.
...@@ -59,7 +59,7 @@ LIB_FIELD::LIB_FIELD( const LIB_FIELD& field ) : LIB_DRAW_ITEM( field ) ...@@ -59,7 +59,7 @@ LIB_FIELD::LIB_FIELD( const LIB_FIELD& field ) : LIB_DRAW_ITEM( field )
m_FieldId = field.m_FieldId; m_FieldId = field.m_FieldId;
m_Pos = field.m_Pos; m_Pos = field.m_Pos;
m_Size = field.m_Size; m_Size = field.m_Size;
m_Width = field.m_Width; m_Thickness = field.m_Thickness;
m_Orient = field.m_Orient; m_Orient = field.m_Orient;
m_Attributs = field.m_Attributs; m_Attributs = field.m_Attributs;
m_Text = field.m_Text; m_Text = field.m_Text;
...@@ -283,7 +283,7 @@ bool LIB_FIELD::Load( char* line, wxString& errorMsg ) ...@@ -283,7 +283,7 @@ bool LIB_FIELD::Load( char* line, wxString& errorMsg )
*/ */
int LIB_FIELD::GetPenSize() int LIB_FIELD::GetPenSize()
{ {
return ( m_Width == 0 ) ? g_DrawDefaultLineThickness : m_Width; return ( m_Thickness == 0 ) ? g_DrawDefaultLineThickness : m_Thickness;
} }
...@@ -425,7 +425,7 @@ void LIB_FIELD::Copy( LIB_FIELD* Target ) const ...@@ -425,7 +425,7 @@ void LIB_FIELD::Copy( LIB_FIELD* Target ) const
Target->SetParent( m_Parent ); Target->SetParent( m_Parent );
Target->m_Pos = m_Pos; Target->m_Pos = m_Pos;
Target->m_Size = m_Size; Target->m_Size = m_Size;
Target->m_Width = m_Width; Target->m_Thickness = m_Thickness;
Target->m_Orient = m_Orient; Target->m_Orient = m_Orient;
Target->m_Attributs = m_Attributs; Target->m_Attributs = m_Attributs;
Target->m_Text = m_Text; Target->m_Text = m_Text;
......
...@@ -138,7 +138,7 @@ public: ...@@ -138,7 +138,7 @@ public:
m_Name = field.m_Name; m_Name = field.m_Name;
m_Pos = field.m_Pos; m_Pos = field.m_Pos;
m_Size = field.m_Size; m_Size = field.m_Size;
m_Width = field.m_Width; m_Thickness = field.m_Thickness;
m_Orient = field.m_Orient; m_Orient = field.m_Orient;
m_Mirror = field.m_Mirror; m_Mirror = field.m_Mirror;
m_Attributs = field.m_Attributs; m_Attributs = field.m_Attributs;
...@@ -217,8 +217,8 @@ protected: ...@@ -217,8 +217,8 @@ protected:
virtual void DoMirrorHorizontal( const wxPoint& center ); virtual void DoMirrorHorizontal( const wxPoint& center );
virtual void DoPlot( PLOTTER* plotter, const wxPoint& offset, bool fill, virtual void DoPlot( PLOTTER* plotter, const wxPoint& offset, bool fill,
const TRANSFORM& aTransform ); const TRANSFORM& aTransform );
virtual int DoGetWidth( void ) const { return m_Width; } virtual int DoGetWidth( void ) const { return m_Thickness; }
virtual void DoSetWidth( int width ) { m_Width = width; } virtual void DoSetWidth( int width ) { m_Thickness = width; }
}; };
typedef std::vector< LIB_FIELD > LIB_FIELD_LIST; typedef std::vector< LIB_FIELD > LIB_FIELD_LIST;
......
This diff is collapsed.
This diff is collapsed.
...@@ -187,7 +187,7 @@ LIB_DRAW_ITEM* LIB_TEXT::DoGenCopy() ...@@ -187,7 +187,7 @@ LIB_DRAW_ITEM* LIB_TEXT::DoGenCopy()
newitem->m_Convert = m_Convert; newitem->m_Convert = m_Convert;
newitem->m_Flags = m_Flags; newitem->m_Flags = m_Flags;
newitem->m_Text = m_Text; newitem->m_Text = m_Text;
newitem->m_Width = m_Width; newitem->m_Thickness = m_Thickness;
newitem->m_Italic = m_Italic; newitem->m_Italic = m_Italic;
newitem->m_Bold = m_Bold; newitem->m_Bold = m_Bold;
newitem->m_HJustify = m_HJustify; newitem->m_HJustify = m_HJustify;
...@@ -276,7 +276,7 @@ void LIB_TEXT::DoPlot( PLOTTER* plotter, const wxPoint& offset, bool fill, ...@@ -276,7 +276,7 @@ void LIB_TEXT::DoPlot( PLOTTER* plotter, const wxPoint& offset, bool fill,
*/ */
int LIB_TEXT::GetPenSize( ) int LIB_TEXT::GetPenSize( )
{ {
int pensize = m_Width; int pensize = m_Thickness;
if( pensize == 0 ) // Use default values for pen size if( pensize == 0 ) // Use default values for pen size
{ {
...@@ -369,7 +369,7 @@ void LIB_TEXT::DisplayInfo( WinEDA_DrawFrame* frame ) ...@@ -369,7 +369,7 @@ void LIB_TEXT::DisplayInfo( WinEDA_DrawFrame* frame )
LIB_DRAW_ITEM::DisplayInfo( frame ); LIB_DRAW_ITEM::DisplayInfo( frame );
msg = ReturnStringFromValue( g_UserUnit, m_Width, EESCHEMA_INTERNAL_UNIT, true ); msg = ReturnStringFromValue( g_UserUnit, m_Thickness, EESCHEMA_INTERNAL_UNIT, true );
frame->AppendMsgPanel( _( "Line width" ), msg, BLUE ); frame->AppendMsgPanel( _( "Line width" ), msg, BLUE );
} }
......
#ifndef _LIB_TEXT_H_ #ifndef _LIB_TEXT_H_
#define _LIB_TEXT_H_ #define _LIB_TEXT_H_
#include "lib_draw_item.h" #include "lib_draw_item.h"
/*********************************************/ /*********************************************/
/* Graphic Body Item: Text */ /* Graphic Body Item: Text */
/* This is only a graphic text. */ /* This is only a graphic text. */
/* Fields like Ref , value... are not Text, */ /* Fields like Ref , value... are not Text, */
/* they are a separate class */ /* they are a separate class */
/*********************************************/ /*********************************************/
class LIB_TEXT : public LIB_DRAW_ITEM, public EDA_TextStruct class LIB_TEXT : public LIB_DRAW_ITEM, public EDA_TextStruct
{ {
wxString m_savedText; ///< Temporary storage for the string when edition. wxString m_savedText; ///< Temporary storage for the string when edition.
bool m_rotate; ///< Flag to indicate a rotation occurred while editing. bool m_rotate; ///< Flag to indicate a rotation occurred while editing.
bool m_updateText; ///< Flag to indicate text change occurred while editing. bool m_updateText; ///< Flag to indicate text change occurred while editing.
/** /**
* Draw the polyline. * Draw the polyline.
*/ */
void drawGraphic( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aOffset, void drawGraphic( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aOffset,
int aColor, int aDrawMode, void* aData, const TRANSFORM& aTransform ); int aColor, int aDrawMode, void* aData, const TRANSFORM& aTransform );
/** /**
* Calculate the text attributes ralative to \a aPosition while editing. * Calculate the text attributes ralative to \a aPosition while editing.
* *
* @param aPosition - Edit position in drawing units. * @param aPosition - Edit position in drawing units.
*/ */
void calcEdit( const wxPoint& aPosition ); void calcEdit( const wxPoint& aPosition );
public: public:
LIB_TEXT( LIB_COMPONENT * aParent ); LIB_TEXT( LIB_COMPONENT * aParent );
LIB_TEXT( const LIB_TEXT& aText ); LIB_TEXT( const LIB_TEXT& aText );
~LIB_TEXT() { } ~LIB_TEXT() { }
virtual wxString GetClass() const virtual wxString GetClass() const
{ {
return wxT( "LIB_TEXT" ); return wxT( "LIB_TEXT" );
} }
/** /**
* Sets the text item string to \a aText. * Sets the text item string to \a aText.
* *
* This method does more than juat set the set the text string. There are special * This method does more than juat set the set the text string. There are special
* cases when changing the text string alone is not enough. If the text item is * cases when changing the text string alone is not enough. If the text item is
* being moved, the name change must be delayed until the next redraw to prevent * being moved, the name change must be delayed until the next redraw to prevent
* drawing artifacts. * drawing artifacts.
* *
* @param aText - New text value. * @param aText - New text value.
*/ */
void SetText( const wxString& aText ); void SetText( const wxString& aText );
/** /**
* Write text object out to a FILE in "*.lib" format. * Write text object out to a FILE in "*.lib" format.
* *
* @param aFile - The FILE to write to. * @param aFile - The FILE to write to.
* @return - true if success writing else false. * @return - true if success writing else false.
*/ */
virtual bool Save( FILE* aFile ); virtual bool Save( FILE* aFile );
virtual bool Load( char* aLine, wxString& aErrorMsg ); virtual bool Load( char* aLine, wxString& aErrorMsg );
/** /**
* Test if the given point is within the bounds of this object. * Test if the given point is within the bounds of this object.
* *
* @param refPos - A wxPoint to test * @param refPos - A wxPoint to test
* @return - true if a hit, else false * @return - true if a hit, else false
*/ */
virtual bool HitTest( const wxPoint& refPos ); virtual bool HitTest( const wxPoint& refPos );
/** /**
* @param aPosRef = a wxPoint to test, in eeschema coordinates * @param aPosRef = a wxPoint to test, in eeschema coordinates
* @param aThreshold = max distance to a segment * @param aThreshold = max distance to a segment
* @param aTransform = the transform matrix * @param aTransform = the transform matrix
* @return true if the point aPosRef is near a segment * @return true if the point aPosRef is near a segment
*/ */
virtual bool HitTest( wxPoint aPosRef, int aThreshold, const TRANSFORM& aTransform ); virtual bool HitTest( wxPoint aPosRef, int aThreshold, const TRANSFORM& aTransform );
/** /**
* Test if the given rectangle intersects this object. * Test if the given rectangle intersects this object.
* *
* For now, an ending point must be inside this rect. * For now, an ending point must be inside this rect.
* *
* @param aRect - the given EDA_Rect * @param aRect - the given EDA_Rect
* @return - true if a hit, else false * @return - true if a hit, else false
*/ */
virtual bool HitTest( EDA_Rect& aRect ) virtual bool HitTest( EDA_Rect& aRect )
{ {
return TextHitTest( aRect ); return TextHitTest( aRect );
} }
/** /**
* @return the size of the "pen" that be used to draw or plot this item * @return the size of the "pen" that be used to draw or plot this item
*/ */
virtual int GetPenSize( ); virtual int GetPenSize( );
virtual void DisplayInfo( WinEDA_DrawFrame* aFrame ); virtual void DisplayInfo( WinEDA_DrawFrame* aFrame );
virtual EDA_Rect GetBoundingBox(); virtual EDA_Rect GetBoundingBox();
void Rotate(); void Rotate();
/** /**
* See LIB_DRAW_ITEM::BeginEdit(). * See LIB_DRAW_ITEM::BeginEdit().
*/ */
void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ); void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
/** /**
* See LIB_DRAW_ITEM::ContinueEdit(). * See LIB_DRAW_ITEM::ContinueEdit().
*/ */
bool ContinueEdit( const wxPoint aNextPoint ); bool ContinueEdit( const wxPoint aNextPoint );
/** /**
* See LIB_DRAW_ITEM::AbortEdit(). * See LIB_DRAW_ITEM::AbortEdit().
*/ */
void EndEdit( const wxPoint& aPosition, bool aAbort = false ); void EndEdit( const wxPoint& aPosition, bool aAbort = false );
protected: protected:
virtual LIB_DRAW_ITEM* DoGenCopy(); virtual LIB_DRAW_ITEM* DoGenCopy();
/** /**
* Provide the text draw object specific comparison. * Provide the text draw object specific comparison.
* *
* The sort order is as follows: * The sort order is as follows:
* - Text string, case insensitive compare. * - Text string, case insensitive compare.
* - Text horizontal (X) position. * - Text horizontal (X) position.
* - Text vertical (Y) position. * - Text vertical (Y) position.
* - Text width. * - Text width.
* - Text height. * - Text height.
*/ */
virtual int DoCompare( const LIB_DRAW_ITEM& aOther ) const; virtual int DoCompare( const LIB_DRAW_ITEM& aOther ) const;
virtual void DoOffset( const wxPoint& aOffset ); virtual void DoOffset( const wxPoint& aOffset );
virtual bool DoTestInside( EDA_Rect& aRect ) const; virtual bool DoTestInside( EDA_Rect& aRect ) const;
virtual void DoMove( const wxPoint& aPosition ); virtual void DoMove( const wxPoint& aPosition );
virtual wxPoint DoGetPosition() const { return m_Pos; } virtual wxPoint DoGetPosition() const { return m_Pos; }
virtual void DoMirrorHorizontal( const wxPoint& aCenter ); virtual void DoMirrorHorizontal( const wxPoint& aCenter );
virtual void DoPlot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill, virtual void DoPlot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
const TRANSFORM& aTransform ); const TRANSFORM& aTransform );
virtual int DoGetWidth() const { return m_Width; } virtual int DoGetWidth() const { return m_Thickness; }
virtual void DoSetWidth( int aWidth ) { m_Width = aWidth; } virtual void DoSetWidth( int aWidth ) { m_Thickness = aWidth; }
}; };
#endif // _LIB_TEXT_H_ #endif // _LIB_TEXT_H_
...@@ -55,7 +55,7 @@ SCH_FIELD::~SCH_FIELD() ...@@ -55,7 +55,7 @@ SCH_FIELD::~SCH_FIELD()
*/ */
int SCH_FIELD::GetPenSize() int SCH_FIELD::GetPenSize()
{ {
int pensize = m_Width; int pensize = m_Thickness;
if( pensize == 0 ) // Use default values for pen size if( pensize == 0 ) // Use default values for pen size
{ {
...@@ -81,7 +81,7 @@ void SCH_FIELD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, ...@@ -81,7 +81,7 @@ void SCH_FIELD::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
EDA_Colors color; EDA_Colors color;
wxPoint textpos; wxPoint textpos;
SCH_COMPONENT* parentComponent = (SCH_COMPONENT*) m_Parent; SCH_COMPONENT* parentComponent = (SCH_COMPONENT*) m_Parent;
int LineWidth = m_Width; int LineWidth = m_Thickness;
if( LineWidth == 0 ) // Use default values for pen size if( LineWidth == 0 ) // Use default values for pen size
{ {
...@@ -197,7 +197,7 @@ void SCH_FIELD::ImportValues( const LIB_FIELD& aSource ) ...@@ -197,7 +197,7 @@ void SCH_FIELD::ImportValues( const LIB_FIELD& aSource )
m_VJustify = aSource.m_VJustify; m_VJustify = aSource.m_VJustify;
m_Italic = aSource.m_Italic; m_Italic = aSource.m_Italic;
m_Bold = aSource.m_Bold; m_Bold = aSource.m_Bold;
m_Width = aSource.m_Width; m_Thickness = aSource.m_Thickness;
m_Attributs = aSource.m_Attributs; m_Attributs = aSource.m_Attributs;
m_Mirror = aSource.m_Mirror; m_Mirror = aSource.m_Mirror;
} }
...@@ -213,7 +213,7 @@ void SCH_FIELD::SwapData( SCH_FIELD* copyitem ) ...@@ -213,7 +213,7 @@ void SCH_FIELD::SwapData( SCH_FIELD* copyitem )
EXCHG( m_Layer, copyitem->m_Layer ); EXCHG( m_Layer, copyitem->m_Layer );
EXCHG( m_Pos, copyitem->m_Pos ); EXCHG( m_Pos, copyitem->m_Pos );
EXCHG( m_Size, copyitem->m_Size ); EXCHG( m_Size, copyitem->m_Size );
EXCHG( m_Width, copyitem->m_Width ); EXCHG( m_Thickness, copyitem->m_Thickness );
EXCHG( m_Orient, copyitem->m_Orient ); EXCHG( m_Orient, copyitem->m_Orient );
EXCHG( m_Mirror, copyitem->m_Mirror ); EXCHG( m_Mirror, copyitem->m_Mirror );
EXCHG( m_Attributs, copyitem->m_Attributs ); EXCHG( m_Attributs, copyitem->m_Attributs );
...@@ -317,7 +317,7 @@ EDA_Rect SCH_FIELD::GetBoundaryBox() const ...@@ -317,7 +317,7 @@ EDA_Rect SCH_FIELD::GetBoundaryBox() const
BoundaryBox.SetSize( size ); BoundaryBox.SetSize( size );
// Take thickness in account: // Take thickness in account:
int linewidth = ( m_Width == 0 ) ? g_DrawDefaultLineThickness : m_Width; int linewidth = ( m_Thickness == 0 ) ? g_DrawDefaultLineThickness : m_Thickness;
BoundaryBox.Inflate( linewidth, linewidth ); BoundaryBox.Inflate( linewidth, linewidth );
return BoundaryBox; return BoundaryBox;
......
...@@ -126,7 +126,7 @@ SCH_TEXT* SCH_TEXT::GenCopy() ...@@ -126,7 +126,7 @@ SCH_TEXT* SCH_TEXT::GenCopy()
newitem->m_Shape = m_Shape; newitem->m_Shape = m_Shape;
newitem->m_Orient = m_Orient; newitem->m_Orient = m_Orient;
newitem->m_Size = m_Size; newitem->m_Size = m_Size;
newitem->m_Width = m_Width; newitem->m_Thickness = m_Thickness;
newitem->m_HJustify = m_HJustify; newitem->m_HJustify = m_HJustify;
newitem->m_VJustify = m_VJustify; newitem->m_VJustify = m_VJustify;
newitem->m_IsDangling = m_IsDangling; newitem->m_IsDangling = m_IsDangling;
...@@ -366,7 +366,7 @@ void SCH_TEXT::SwapData( SCH_TEXT* copyitem ) ...@@ -366,7 +366,7 @@ void SCH_TEXT::SwapData( SCH_TEXT* copyitem )
EXCHG( m_Text, copyitem->m_Text ); EXCHG( m_Text, copyitem->m_Text );
EXCHG( m_Pos, copyitem->m_Pos ); EXCHG( m_Pos, copyitem->m_Pos );
EXCHG( m_Size, copyitem->m_Size ); EXCHG( m_Size, copyitem->m_Size );
EXCHG( m_Width, copyitem->m_Width ); EXCHG( m_Thickness, copyitem->m_Thickness );
EXCHG( m_Shape, copyitem->m_Shape ); EXCHG( m_Shape, copyitem->m_Shape );
EXCHG( m_Orient, copyitem->m_Orient ); EXCHG( m_Orient, copyitem->m_Orient );
...@@ -405,7 +405,7 @@ void SCH_TEXT::Place( WinEDA_SchematicFrame* frame, wxDC* DC ) ...@@ -405,7 +405,7 @@ void SCH_TEXT::Place( WinEDA_SchematicFrame* frame, wxDC* DC )
*/ */
int SCH_TEXT::GetPenSize() int SCH_TEXT::GetPenSize()
{ {
int pensize = m_Width; int pensize = m_Thickness;
if( pensize == 0 ) // Use default values for pen size if( pensize == 0 ) // Use default values for pen size
{ {
...@@ -428,7 +428,7 @@ void SCH_TEXT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& aOffset, ...@@ -428,7 +428,7 @@ void SCH_TEXT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& aOffset,
int DrawMode, int Color ) int DrawMode, int Color )
{ {
EDA_Colors color; EDA_Colors color;
int linewidth = ( m_Width == 0 ) ? g_DrawDefaultLineThickness : m_Width; int linewidth = ( m_Thickness == 0 ) ? g_DrawDefaultLineThickness : m_Thickness;
linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold ); linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold );
...@@ -440,9 +440,9 @@ void SCH_TEXT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& aOffset, ...@@ -440,9 +440,9 @@ void SCH_TEXT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& aOffset,
wxPoint text_offset = aOffset + GetSchematicTextOffset(); wxPoint text_offset = aOffset + GetSchematicTextOffset();
EXCHG( linewidth, m_Width ); // Set the minimum width EXCHG( linewidth, m_Thickness ); // Set the minimum width
EDA_TextStruct::Draw( panel, DC, text_offset, color, DrawMode, FILLED, UNSPECIFIED_COLOR ); EDA_TextStruct::Draw( panel, DC, text_offset, color, DrawMode, FILLED, UNSPECIFIED_COLOR );
EXCHG( linewidth, m_Width ); // set initial value EXCHG( linewidth, m_Thickness ); // set initial value
if( m_IsDangling ) if( m_IsDangling )
DrawDanglingSymbol( panel, DC, m_Pos + aOffset, color ); DrawDanglingSymbol( panel, DC, m_Pos + aOffset, color );
...@@ -484,7 +484,7 @@ bool SCH_TEXT::Save( FILE* aFile ) const ...@@ -484,7 +484,7 @@ bool SCH_TEXT::Save( FILE* aFile ) const
if( fprintf( aFile, "Text Notes %-4d %-4d %-4d %-4d %s %d\n%s\n", if( fprintf( aFile, "Text Notes %-4d %-4d %-4d %-4d %s %d\n%s\n",
m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x, m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x,
shape, m_Width, CONV_TO_UTF8( text ) ) == EOF ) shape, m_Thickness, CONV_TO_UTF8( text ) ) == EOF )
{ {
success = false; success = false;
} }
...@@ -557,7 +557,7 @@ bool SCH_TEXT::Load( LINE_READER& aLine, wxString& aErrorMsg ) ...@@ -557,7 +557,7 @@ bool SCH_TEXT::Load( LINE_READER& aLine, wxString& aErrorMsg )
{ {
thickness = atol( Name3 ); thickness = atol( Name3 );
m_Bold = ( thickness != 0 ); m_Bold = ( thickness != 0 );
m_Width = m_Bold ? GetPenSizeForBold( size ) : 0; m_Thickness = m_Bold ? GetPenSizeForBold( size ) : 0;
} }
if( strnicmp( Name2, "Italic", 6 ) == 0 ) if( strnicmp( Name2, "Italic", 6 ) == 0 )
...@@ -658,12 +658,12 @@ EDA_Rect SCH_TEXT::GetBoundingBox() ...@@ -658,12 +658,12 @@ EDA_Rect SCH_TEXT::GetBoundingBox()
{ {
// We must pass the effective text thickness to GetTextBox // We must pass the effective text thickness to GetTextBox
// when calculating the bounding box // when calculating the bounding box
int linewidth = ( m_Width == 0 ) ? g_DrawDefaultLineThickness : m_Width; int linewidth = ( m_Thickness == 0 ) ? g_DrawDefaultLineThickness : m_Thickness;
linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold ); linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold );
EXCHG( linewidth, m_Width ); // Set the real width EXCHG( linewidth, m_Thickness ); // Set the real width
EDA_Rect rect = GetTextBox( -1 ); EDA_Rect rect = GetTextBox( -1 );
EXCHG( linewidth, m_Width ); // set initial value EXCHG( linewidth, m_Thickness ); // set initial value
if( m_Orient ) // Rotate rect if( m_Orient ) // Rotate rect
{ {
...@@ -785,7 +785,7 @@ bool SCH_LABEL::Save( FILE* aFile ) const ...@@ -785,7 +785,7 @@ bool SCH_LABEL::Save( FILE* aFile ) const
if( fprintf( aFile, "Text Label %-4d %-4d %-4d %-4d %s %d\n%s\n", if( fprintf( aFile, "Text Label %-4d %-4d %-4d %-4d %s %d\n%s\n",
m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x, shape, m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x, shape,
m_Width, CONV_TO_UTF8( m_Text ) ) == EOF ) m_Thickness, CONV_TO_UTF8( m_Text ) ) == EOF )
{ {
success = false; success = false;
} }
...@@ -846,7 +846,7 @@ bool SCH_LABEL::Load( LINE_READER& aLine, wxString& aErrorMsg ) ...@@ -846,7 +846,7 @@ bool SCH_LABEL::Load( LINE_READER& aLine, wxString& aErrorMsg )
{ {
thickness = atol( Name3 ); thickness = atol( Name3 );
m_Bold = ( thickness != 0 ); m_Bold = ( thickness != 0 );
m_Width = m_Bold ? GetPenSizeForBold( size ) : 0; m_Thickness = m_Bold ? GetPenSizeForBold( size ) : 0;
} }
if( stricmp( Name2, "Italic" ) == 0 ) if( stricmp( Name2, "Italic" ) == 0 )
...@@ -873,7 +873,7 @@ EDA_Rect SCH_LABEL::GetBoundingBox() ...@@ -873,7 +873,7 @@ EDA_Rect SCH_LABEL::GetBoundingBox()
x = m_Pos.x; x = m_Pos.x;
y = m_Pos.y; y = m_Pos.y;
int width = (m_Width == 0) ? g_DrawDefaultLineThickness : m_Width; int width = (m_Thickness == 0) ? g_DrawDefaultLineThickness : m_Thickness;
length = LenSize( m_Text ); length = LenSize( m_Text );
height = m_Size.y + width; height = m_Size.y + width;
dx = dy = 0; dx = dy = 0;
...@@ -940,7 +940,7 @@ bool SCH_GLOBALLABEL::Save( FILE* aFile ) const ...@@ -940,7 +940,7 @@ bool SCH_GLOBALLABEL::Save( FILE* aFile ) const
shape = "Italic"; shape = "Italic";
if( fprintf( aFile, "Text GLabel %-4d %-4d %-4d %-4d %s %s %d\n%s\n", if( fprintf( aFile, "Text GLabel %-4d %-4d %-4d %-4d %s %s %d\n%s\n",
m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x, m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x,
SheetLabelType[m_Shape], shape, m_Width, CONV_TO_UTF8( m_Text ) ) == EOF ) SheetLabelType[m_Shape], shape, m_Thickness, CONV_TO_UTF8( m_Text ) ) == EOF )
{ {
success = false; success = false;
} }
...@@ -997,7 +997,7 @@ bool SCH_GLOBALLABEL::Load( LINE_READER& aLine, wxString& aErrorMsg ) ...@@ -997,7 +997,7 @@ bool SCH_GLOBALLABEL::Load( LINE_READER& aLine, wxString& aErrorMsg )
SetSchematicTextOrientation( orient ); SetSchematicTextOrientation( orient );
m_Shape = NET_INPUT; m_Shape = NET_INPUT;
m_Bold = ( thickness != 0 ); m_Bold = ( thickness != 0 );
m_Width = m_Bold ? GetPenSizeForBold( size ) : 0; m_Thickness = m_Bold ? GetPenSizeForBold( size ) : 0;
if( stricmp( Name2, SheetLabelType[NET_OUTPUT] ) == 0 ) if( stricmp( Name2, SheetLabelType[NET_OUTPUT] ) == 0 )
m_Shape = NET_OUTPUT; m_Shape = NET_OUTPUT;
...@@ -1092,7 +1092,7 @@ void SCH_GLOBALLABEL::Rotate( wxPoint rotationPoint ) ...@@ -1092,7 +1092,7 @@ void SCH_GLOBALLABEL::Rotate( wxPoint rotationPoint )
wxPoint SCH_GLOBALLABEL::GetSchematicTextOffset() wxPoint SCH_GLOBALLABEL::GetSchematicTextOffset()
{ {
wxPoint text_offset; wxPoint text_offset;
int width = (m_Width == 0) ? g_DrawDefaultLineThickness : m_Width; int width = (m_Thickness == 0) ? g_DrawDefaultLineThickness : m_Thickness;
width = Clamp_Text_PenSize( width, m_Size, m_Bold ); width = Clamp_Text_PenSize( width, m_Size, m_Bold );
int HalfSize = m_Size.x / 2; int HalfSize = m_Size.x / 2;
...@@ -1205,11 +1205,11 @@ void SCH_GLOBALLABEL::Draw( WinEDA_DrawPanel* panel, ...@@ -1205,11 +1205,11 @@ void SCH_GLOBALLABEL::Draw( WinEDA_DrawPanel* panel,
GRSetDrawMode( DC, DrawMode ); GRSetDrawMode( DC, DrawMode );
int linewidth = (m_Width == 0) ? g_DrawDefaultLineThickness : m_Width; int linewidth = (m_Thickness == 0) ? g_DrawDefaultLineThickness : m_Thickness;
linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold ); linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold );
EXCHG( linewidth, m_Width ); // Set the minimum width EXCHG( linewidth, m_Thickness ); // Set the minimum width
EDA_TextStruct::Draw( panel, DC, text_offset, color, DrawMode, FILLED, UNSPECIFIED_COLOR ); EDA_TextStruct::Draw( panel, DC, text_offset, color, DrawMode, FILLED, UNSPECIFIED_COLOR );
EXCHG( linewidth, m_Width ); // set initial value EXCHG( linewidth, m_Thickness ); // set initial value
CreateGraphicShape( Poly, m_Pos + aOffset ); CreateGraphicShape( Poly, m_Pos + aOffset );
GRPoly( &panel->m_ClipBox, DC, Poly.size(), &Poly[0], 0, linewidth, color, color ); GRPoly( &panel->m_ClipBox, DC, Poly.size(), &Poly[0], 0, linewidth, color, color );
...@@ -1237,7 +1237,7 @@ void SCH_GLOBALLABEL::CreateGraphicShape( std::vector <wxPoint>& aCorner_list, ...@@ -1237,7 +1237,7 @@ void SCH_GLOBALLABEL::CreateGraphicShape( std::vector <wxPoint>& aCorner_list,
const wxPoint& Pos ) const wxPoint& Pos )
{ {
int HalfSize = m_Size.y / 2; int HalfSize = m_Size.y / 2;
int linewidth = (m_Width == 0) ? g_DrawDefaultLineThickness : m_Width; int linewidth = (m_Thickness == 0) ? g_DrawDefaultLineThickness : m_Thickness;
linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold ); linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold );
...@@ -1325,7 +1325,7 @@ EDA_Rect SCH_GLOBALLABEL::GetBoundingBox() ...@@ -1325,7 +1325,7 @@ EDA_Rect SCH_GLOBALLABEL::GetBoundingBox()
y = m_Pos.y; y = m_Pos.y;
dx = dy = 0; dx = dy = 0;
int width = (m_Width == 0) ? g_DrawDefaultLineThickness : m_Width; int width = (m_Thickness == 0) ? g_DrawDefaultLineThickness : m_Thickness;
height = ( (m_Size.y * 15) / 10 ) + width + 2 * TXTMARGE; height = ( (m_Size.y * 15) / 10 ) + width + 2 * TXTMARGE;
// text X size add height for triangular shapes(bidirectional) // text X size add height for triangular shapes(bidirectional)
...@@ -1393,7 +1393,7 @@ bool SCH_HIERLABEL::Save( FILE* aFile ) const ...@@ -1393,7 +1393,7 @@ bool SCH_HIERLABEL::Save( FILE* aFile ) const
shape = "Italic"; shape = "Italic";
if( fprintf( aFile, "Text HLabel %-4d %-4d %-4d %-4d %s %s %d\n%s\n", if( fprintf( aFile, "Text HLabel %-4d %-4d %-4d %-4d %s %s %d\n%s\n",
m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x, m_Pos.x, m_Pos.y, m_SchematicOrientation, m_Size.x,
SheetLabelType[m_Shape], shape, m_Width, CONV_TO_UTF8( m_Text ) ) == EOF ) SheetLabelType[m_Shape], shape, m_Thickness, CONV_TO_UTF8( m_Text ) ) == EOF )
{ {
success = false; success = false;
} }
...@@ -1450,7 +1450,7 @@ bool SCH_HIERLABEL::Load( LINE_READER& aLine, wxString& aErrorMsg ) ...@@ -1450,7 +1450,7 @@ bool SCH_HIERLABEL::Load( LINE_READER& aLine, wxString& aErrorMsg )
SetSchematicTextOrientation( orient ); SetSchematicTextOrientation( orient );
m_Shape = NET_INPUT; m_Shape = NET_INPUT;
m_Bold = ( thickness != 0 ); m_Bold = ( thickness != 0 );
m_Width = m_Bold ? GetPenSizeForBold( size ) : 0; m_Thickness = m_Bold ? GetPenSizeForBold( size ) : 0;
if( stricmp( Name2, SheetLabelType[NET_OUTPUT] ) == 0 ) if( stricmp( Name2, SheetLabelType[NET_OUTPUT] ) == 0 )
m_Shape = NET_OUTPUT; m_Shape = NET_OUTPUT;
...@@ -1538,7 +1538,7 @@ void SCH_HIERLABEL::Draw( WinEDA_DrawPanel* panel, ...@@ -1538,7 +1538,7 @@ void SCH_HIERLABEL::Draw( WinEDA_DrawPanel* panel,
{ {
static std::vector <wxPoint> Poly; static std::vector <wxPoint> Poly;
EDA_Colors color; EDA_Colors color;
int linewidth = ( m_Width == 0 ) ? g_DrawDefaultLineThickness : m_Width; int linewidth = ( m_Thickness == 0 ) ? g_DrawDefaultLineThickness : m_Thickness;
linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold ); linewidth = Clamp_Text_PenSize( linewidth, m_Size, m_Bold );
...@@ -1549,10 +1549,10 @@ void SCH_HIERLABEL::Draw( WinEDA_DrawPanel* panel, ...@@ -1549,10 +1549,10 @@ void SCH_HIERLABEL::Draw( WinEDA_DrawPanel* panel,
GRSetDrawMode( DC, DrawMode ); GRSetDrawMode( DC, DrawMode );
EXCHG( linewidth, m_Width ); // Set the minimum width EXCHG( linewidth, m_Thickness ); // Set the minimum width
wxPoint text_offset = offset + GetSchematicTextOffset(); wxPoint text_offset = offset + GetSchematicTextOffset();
EDA_TextStruct::Draw( panel, DC, text_offset, color, DrawMode, FILLED, UNSPECIFIED_COLOR ); EDA_TextStruct::Draw( panel, DC, text_offset, color, DrawMode, FILLED, UNSPECIFIED_COLOR );
EXCHG( linewidth, m_Width ); // set initial value EXCHG( linewidth, m_Thickness ); // set initial value
CreateGraphicShape( Poly, m_Pos + offset ); CreateGraphicShape( Poly, m_Pos + offset );
GRPoly( &panel->m_ClipBox, DC, Poly.size(), &Poly[0], 0, linewidth, color, color ); GRPoly( &panel->m_ClipBox, DC, Poly.size(), &Poly[0], 0, linewidth, color, color );
...@@ -1606,7 +1606,7 @@ EDA_Rect SCH_HIERLABEL::GetBoundingBox() ...@@ -1606,7 +1606,7 @@ EDA_Rect SCH_HIERLABEL::GetBoundingBox()
y = m_Pos.y; y = m_Pos.y;
dx = dy = 0; dx = dy = 0;
int width = (m_Width == 0) ? g_DrawDefaultLineThickness : m_Width; int width = (m_Thickness == 0) ? g_DrawDefaultLineThickness : m_Thickness;
height = m_Size.y + width + 2 * TXTMARGE; height = m_Size.y + width + 2 * TXTMARGE;
length = LenSize( m_Text ) length = LenSize( m_Text )
+ height // add height for triangular shapes + height // add height for triangular shapes
...@@ -1661,7 +1661,7 @@ wxPoint SCH_HIERLABEL::GetSchematicTextOffset() ...@@ -1661,7 +1661,7 @@ wxPoint SCH_HIERLABEL::GetSchematicTextOffset()
{ {
wxPoint text_offset; wxPoint text_offset;
int width = MAX( m_Width, g_DrawDefaultLineThickness ); int width = MAX( m_Thickness, g_DrawDefaultLineThickness );
int ii = m_Size.x + TXTMARGE + width; int ii = m_Size.x + TXTMARGE + width;
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "gerbview.h" #include "gerbview.h"
#include "wxGerberFrame.h" #include "wxGerberFrame.h"
#include "wxPcbStruct.h"
#include "pcbplot.h" #include "pcbplot.h"
#include "class_board_design_settings.h" #include "class_board_design_settings.h"
......
...@@ -575,7 +575,7 @@ public: ...@@ -575,7 +575,7 @@ public:
wxString m_Text; /* text! */ wxString m_Text; /* text! */
wxPoint m_Pos; /* XY position of anchor text. */ wxPoint m_Pos; /* XY position of anchor text. */
wxSize m_Size; /* XY size of text */ wxSize m_Size; /* XY size of text */
int m_Width; /* pen size used to draw this text */ int m_Thickness; /* pen size used to draw this text */
int m_Orient; /* Orient in 0.1 degrees */ int m_Orient; /* Orient in 0.1 degrees */
bool m_Mirror; /* Display Normal / mirror */ bool m_Mirror; /* Display Normal / mirror */
int m_Attributs; /* flags (visible...) */ int m_Attributs; /* flags (visible...) */
...@@ -682,7 +682,7 @@ public: ...@@ -682,7 +682,7 @@ public:
*/ */
int GetInterline() int GetInterline()
{ {
return (( m_Size.y * 14 ) / 10) + m_Width; return (( m_Size.y * 14 ) / 10) + m_Thickness;
} }
/** /**
......
...@@ -1100,7 +1100,7 @@ public: ...@@ -1100,7 +1100,7 @@ public:
* Function OnOrientFootprints * Function OnOrientFootprints
* install the dialog box for the common Orient Footprints * install the dialog box for the common Orient Footprints
*/ */
void OnOrientFootprints( void ); void OnOrientFootprints( wxCommandEvent& event );
/** /**
* Function ReOrientModules * Function ReOrientModules
...@@ -1108,8 +1108,9 @@ public: ...@@ -1108,8 +1108,9 @@ public:
* @param ModuleMask = mask (wildcard allowed) selection * @param ModuleMask = mask (wildcard allowed) selection
* @param Orient = new orientation * @param Orient = new orientation
* @param include_fixe = true to orient locked footprints * @param include_fixe = true to orient locked footprints
* @return true if some footprints modified, false if no change
*/ */
void ReOrientModules( const wxString& ModuleMask, int Orient, bool ReOrientModules( const wxString& ModuleMask, int Orient,
bool include_fixe ); bool include_fixe );
void FixeModule( MODULE* Module, bool Fixe ); void FixeModule( MODULE* Module, bool Fixe );
void AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb ); void AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb );
......
...@@ -27,12 +27,12 @@ set(PCBNEW_DIALOGS ...@@ -27,12 +27,12 @@ set(PCBNEW_DIALOGS
dialogs/dialog_cleaning_options.cpp dialogs/dialog_cleaning_options.cpp
dialogs/dialog_copper_zones.cpp dialogs/dialog_copper_zones.cpp
dialogs/dialog_copper_zones_base.cpp dialogs/dialog_copper_zones_base.cpp
dialog_design_rules.cpp dialogs/dialog_design_rules.cpp
dialog_design_rules_base.cpp dialogs/dialog_design_rules_base.cpp
dialogs/dialog_display_options.cpp dialogs/dialog_display_options.cpp
dialogs/dialog_display_options_base.cpp dialogs/dialog_display_options_base.cpp
dialog_drc_base.cpp dialogs/dialog_drc_base.cpp
dialog_drc.cpp dialogs/dialog_drc.cpp
dialogs/dialog_edit_module_for_BoardEditor.cpp dialogs/dialog_edit_module_for_BoardEditor.cpp
dialogs/dialog_edit_module_for_BoardEditor_base.cpp dialogs/dialog_edit_module_for_BoardEditor_base.cpp
dialogs/dialog_edit_module_for_Modedit_base.cpp dialogs/dialog_edit_module_for_Modedit_base.cpp
...@@ -45,20 +45,23 @@ set(PCBNEW_DIALOGS ...@@ -45,20 +45,23 @@ set(PCBNEW_DIALOGS
dialog_freeroute_exchange_base.cpp dialog_freeroute_exchange_base.cpp
dialogs/dialog_gendrill.cpp dialogs/dialog_gendrill.cpp
dialogs/dialog_gendrill_base.cpp dialogs/dialog_gendrill_base.cpp
dialog_general_options.cpp dialogs/dialog_general_options.cpp
dialog_general_options_BoardEditor_base.cpp dialogs/dialog_general_options_BoardEditor_base.cpp
dialog_global_edit_tracks_and_vias.cpp dialogs/dialog_global_edit_tracks_and_vias.cpp
dialog_global_edit_tracks_and_vias_base.cpp dialogs/dialog_global_edit_tracks_and_vias_base.cpp
dialog_global_pads_edition_base.cpp dialogs/dialog_global_pads_edition_base.cpp
dialogs/dialog_graphic_items_options.cpp dialogs/dialog_graphic_items_options.cpp
dialogs/dialog_graphic_items_options_base.cpp dialogs/dialog_graphic_items_options_base.cpp
dialogs/dialog_graphic_item_properties.cpp dialogs/dialog_graphic_item_properties.cpp
dialogs/dialog_graphic_item_properties_base.cpp dialogs/dialog_graphic_item_properties_base.cpp
dialog_layers_setup.cpp dialogs/dialog_global_deletion.cpp
dialog_layers_setup_base.cpp dialogs/dialog_global_deletion_base.cpp
dialog_netlist.cpp dialogs/dialog_layers_setup.cpp
dialog_netlist_fbp.cpp dialogs/dialog_layers_setup_base.cpp
dialog_pcb_text_properties.cpp dialogs/dialog_netlist.cpp
dialogs/dialog_netlist_fbp.cpp
dialogs/dialog_pcb_text_properties.cpp
dialogs/dialog_pcb_text_properties_base.cpp
dialogs/dialog_non_copper_zones_properties_base.cpp dialogs/dialog_non_copper_zones_properties_base.cpp
dialogs/dialog_pad_properties.cpp dialogs/dialog_pad_properties.cpp
dialogs/dialog_pad_properties_base.cpp dialogs/dialog_pad_properties_base.cpp
...@@ -69,7 +72,8 @@ set(PCBNEW_DIALOGS ...@@ -69,7 +72,8 @@ set(PCBNEW_DIALOGS
dialogs/dialog_print_for_modedit_base.cpp dialogs/dialog_print_for_modedit_base.cpp
dialogs/dialog_print_using_printer.cpp dialogs/dialog_print_using_printer.cpp
dialogs/dialog_print_using_printer_base.cpp dialogs/dialog_print_using_printer_base.cpp
dialog_orient_footprints.cpp dialogs/dialog_orient_footprints.cpp
dialogs/dialog_orient_footprints_base.cpp
dialogs/dialog_mask_clearance.cpp dialogs/dialog_mask_clearance.cpp
dialogs/dialog_mask_clearance_base.cpp dialogs/dialog_mask_clearance_base.cpp
dialogs/dialog_SVG_print.cpp dialogs/dialog_SVG_print.cpp
......
...@@ -2,13 +2,6 @@ ...@@ -2,13 +2,6 @@
/* ar-proto.h */ /* ar-proto.h */
/**************/ /**************/
MODULE ** GenListeModules( BOARD * Pcb, int * NbModules );
/****************/
/* GRAPHPCB.CPP */
/****************/
/* Initialize a value type, the cells included in the board surface of the /* Initialize a value type, the cells included in the board surface of the
* pad edge by pt_pad, with the margin reserved for isolation. */ * pad edge by pt_pad, with the margin reserved for isolation. */
void Place_1_Pad_Board( BOARD * Pcb, D_PAD * pt_pad, int type, int marge, void Place_1_Pad_Board( BOARD * Pcb, D_PAD * pt_pad, int type, int marge,
...@@ -44,8 +37,6 @@ void TraceFilledRectangle( BOARD * Pcb, int ux0, int uy0, int ux1, int uy1, ...@@ -44,8 +37,6 @@ void TraceFilledRectangle( BOARD * Pcb, int ux0, int uy0, int ux1, int uy1,
void TraceArc( int ux0,int uy0, int ux1, int uy1, int ArcAngle, int lg, void TraceArc( int ux0,int uy0, int ux1, int uy1, int ArcAngle, int lg,
int layer, int color, int op_logique); int layer, int color, int op_logique);
/* SOLVE.CPP */
/* QUEUE.CPP */ /* QUEUE.CPP */
void FreeQueue(); void FreeQueue();
void InitQueue(); void InitQueue();
...@@ -53,7 +44,6 @@ void GetQueue( int *, int *, int *, int *, int * ); ...@@ -53,7 +44,6 @@ void GetQueue( int *, int *, int *, int *, int * );
int SetQueue( int, int, int, int, int, int, int ); int SetQueue( int, int, int, int, int, int, int );
void ReSetQueue( int, int, int, int, int, int, int ); void ReSetQueue( int, int, int, int, int, int, int );
/* WORK.CPP */ /* WORK.CPP */
void InitWork(); void InitWork();
void ReInitWork(); void ReInitWork();
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include "pcbnew.h" #include "pcbnew.h"
#include "wxPcbStruct.h" #include "wxPcbStruct.h"
#include "autorout.h"
#include "protos.h" #include "protos.h"
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
/* Routines for automatic displacement and rotation of modules. */ /* Routines for automatic displacement and rotation of modules. */
/****************************************************************/ /****************************************************************/
#include <algorithm>
#include "fctsys.h" #include "fctsys.h"
#include "gr_basic.h" #include "gr_basic.h"
#include "common.h" #include "common.h"
...@@ -25,7 +27,7 @@ typedef enum { ...@@ -25,7 +27,7 @@ typedef enum {
} SelectFixeFct; } SelectFixeFct;
static int tri_modules( MODULE** pt_ref, MODULE** pt_compare ); static bool sortModulesbySize( MODULE* ref, MODULE* compare );
wxString ModulesMaskSelection = wxT( "*" ); wxString ModulesMaskSelection = wxT( "*" );
...@@ -132,10 +134,6 @@ void WinEDA_PcbFrame::AutoPlace( wxCommandEvent& event ) ...@@ -132,10 +134,6 @@ void WinEDA_PcbFrame::AutoPlace( wxCommandEvent& event )
AutoMoveModulesOnPcb( TRUE ); AutoMoveModulesOnPcb( TRUE );
break; break;
case ID_POPUP_PCB_REORIENT_ALL_MODULES:
OnOrientFootprints();
break;
case ID_POPUP_PCB_AUTOROUTE_ALL_MODULES: case ID_POPUP_PCB_AUTOROUTE_ALL_MODULES:
Autoroute( &dc, ROUTE_ALL ); Autoroute( &dc, ROUTE_ALL );
break; break;
...@@ -172,13 +170,12 @@ void WinEDA_PcbFrame::AutoPlace( wxCommandEvent& event ) ...@@ -172,13 +170,12 @@ void WinEDA_PcbFrame::AutoPlace( wxCommandEvent& event )
*/ */
void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb ) void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb )
{ {
MODULE** pt_Dmod, ** BaseListeModules; std::vector <MODULE*> moduleList;
MODULE* Module;
wxPoint start, current; wxPoint start, current;
int Ymax_size, Xsize_allowed; int Ymax_size, Xsize_allowed;
int pas_grille = (int) GetScreen()->GetGridSize().x; int pas_grille = (int) GetScreen()->GetGridSize().x;
bool EdgeExists; bool edgesExists;
float surface; double surface;
if( GetBoard()->m_Modules == NULL ) if( GetBoard()->m_Modules == NULL )
{ {
...@@ -190,28 +187,29 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb ) ...@@ -190,28 +187,29 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb )
if( !IsOK( this, _( "Move modules?" ) ) ) if( !IsOK( this, _( "Move modules?" ) ) )
return; return;
EdgeExists = SetBoardBoundaryBoxFromEdgesOnly(); edgesExists = SetBoardBoundaryBoxFromEdgesOnly();
if( PlaceModulesHorsPcb && !EdgeExists ) if( PlaceModulesHorsPcb && !edgesExists )
{ {
DisplayError( this, DisplayError( this,
_( "Could not automatically place modules. No board outlines detected." ) ); _( "Could not automatically place modules. No board outlines detected." ) );
return; return;
} }
Module = GetBoard()->m_Modules; // Build sorted footprints list (sort by decreasing size )
MODULE* Module = GetBoard()->m_Modules;
for( ; Module != NULL; Module = Module->Next() ) for( ; Module != NULL; Module = Module->Next() )
{ {
Module->Set_Rectangle_Encadrement(); Module->Set_Rectangle_Encadrement();
Module->SetRectangleExinscrit(); Module->SetRectangleExinscrit();
moduleList.push_back(Module);
} }
sort( moduleList.begin(), moduleList.end(), sortModulesbySize );
BaseListeModules = GenListeModules( GetBoard(), NULL ); /* to move modules outside the board, the cursor is placed below
* the current board, to avoid placing components in board area.
/* If allocation of modules not PCBs, the cursor is placed below
* PCB, to avoid placing components in PCB area.
*/ */
if( PlaceModulesHorsPcb && EdgeExists ) if( PlaceModulesHorsPcb && edgesExists )
{ {
if( GetScreen()->m_Curseur.y < if( GetScreen()->m_Curseur.y <
(GetBoard()->m_BoundaryBox.GetBottom() + 2000) ) (GetBoard()->m_BoundaryBox.GetBottom() + 2000) )
...@@ -219,12 +217,12 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb ) ...@@ -219,12 +217,12 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb )
2000; 2000;
} }
/* calculating the area occupied by the circuits */ /* calculate the area needed by footprints */
surface = 0.0; surface = 0.0;
for( pt_Dmod = BaseListeModules; *pt_Dmod != NULL; pt_Dmod++ ) for( unsigned ii = 0; ii < moduleList.size(); ii++ )
{ {
Module = *pt_Dmod; Module = moduleList[ii];
if( PlaceModulesHorsPcb && EdgeExists ) if( PlaceModulesHorsPcb && edgesExists )
{ {
if( GetBoard()->m_BoundaryBox.Inside( Module->m_Pos ) ) if( GetBoard()->m_BoundaryBox.Inside( Module->m_Pos ) )
continue; continue;
...@@ -237,13 +235,13 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb ) ...@@ -237,13 +235,13 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb )
start = current = GetScreen()->m_Curseur; start = current = GetScreen()->m_Curseur;
Ymax_size = 0; Ymax_size = 0;
for( pt_Dmod = BaseListeModules; *pt_Dmod != NULL; pt_Dmod++ ) for( unsigned ii = 0; ii < moduleList.size(); ii++ )
{ {
Module = *pt_Dmod; Module = moduleList[ii];
if( Module->IsLocked() ) if( Module->IsLocked() )
continue; continue;
if( PlaceModulesHorsPcb && EdgeExists ) if( PlaceModulesHorsPcb && edgesExists )
{ {
if( GetBoard()->m_BoundaryBox.Inside( Module->m_Pos ) ) if( GetBoard()->m_BoundaryBox.Inside( Module->m_Pos ) )
continue; continue;
...@@ -269,7 +267,6 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb ) ...@@ -269,7 +267,6 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( bool PlaceModulesHorsPcb )
current.x += Module->m_RealBoundaryBox.GetWidth() + pas_grille; current.x += Module->m_RealBoundaryBox.GetWidth() + pas_grille;
} }
MyFree( BaseListeModules );
DrawPanel->Refresh(); DrawPanel->Refresh();
} }
...@@ -302,58 +299,8 @@ void WinEDA_PcbFrame::FixeModule( MODULE* Module, bool Fixe ) ...@@ -302,58 +299,8 @@ void WinEDA_PcbFrame::FixeModule( MODULE* Module, bool Fixe )
} }
/* Create memory allocation by the ordered list of structures D_MODULES static bool sortModulesbySize( MODULE* ref, MODULE* compare )
* Describing the module to move
* The end of the list is indicated by NULL
* Also returns the number of modules per NbModules *
* Deallocates memory after use
*/
MODULE** GenListeModules( BOARD* Pcb, int* NbModules )
{ {
MODULE* Module; return compare->m_Surface < ref->m_Surface;
MODULE** ListeMod, ** PtList;
int NbMod;
/* Reserve memory for descriptions of modules that are to be moved. */
Module = Pcb->m_Modules;
NbMod = 0;
for( ; Module != NULL; Module = Module->Next() )
NbMod++;
ListeMod = (MODULE**) MyZMalloc( (NbMod + 1) * sizeof(MODULE*) );
if( ListeMod == NULL )
{
if( NbModules != NULL )
*NbModules = 0;
return NULL;
}
PtList = ListeMod;
Module = Pcb->m_Modules;
for( ; Module != NULL; Module = Module->Next() )
{
*PtList = Module; PtList++;
Module->SetRectangleExinscrit();
}
/* Sort by surface area module largest to smallest */
qsort( ListeMod, NbMod, sizeof(MODULE * *),
( int ( * )( const void*, const void* ) )tri_modules );
if( NbModules != NULL )
*NbModules = NbMod;
return ListeMod;
} }
static int tri_modules( MODULE** pt_ref, MODULE** pt_compare )
{
float ff;
ff = (*pt_ref)->m_Surface - (*pt_compare)->m_Surface;
if( ff < 0 )
return 1;
if( ff > 0 )
return -1;
return 0;
}
This diff is collapsed.
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "pcbnew.h" #include "pcbnew.h"
#include "wxPcbStruct.h" #include "wxPcbStruct.h"
#include "autorout.h"
#include "pcbplot.h" #include "pcbplot.h"
#include "trigo.h" #include "trigo.h"
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
#include "pcbnew.h" #include "pcbnew.h"
#include "wxPcbStruct.h" #include "wxPcbStruct.h"
#include "module_editor_frame.h" #include "module_editor_frame.h"
#include "autorout.h"
#include "pcbplot.h" #include "pcbplot.h"
#include "trigo.h" #include "trigo.h"
......
...@@ -195,7 +195,7 @@ void SwapData( BOARD_ITEM* aItem, BOARD_ITEM* aImage ) ...@@ -195,7 +195,7 @@ void SwapData( BOARD_ITEM* aItem, BOARD_ITEM* aImage )
EXCHG( ( (TEXTE_PCB*) aItem )->m_Mirror, ( (TEXTE_PCB*) aImage )->m_Mirror ); EXCHG( ( (TEXTE_PCB*) aItem )->m_Mirror, ( (TEXTE_PCB*) aImage )->m_Mirror );
EXCHG( ( (TEXTE_PCB*) aItem )->m_Size, ( (TEXTE_PCB*) aImage )->m_Size ); EXCHG( ( (TEXTE_PCB*) aItem )->m_Size, ( (TEXTE_PCB*) aImage )->m_Size );
EXCHG( ( (TEXTE_PCB*) aItem )->m_Pos, ( (TEXTE_PCB*) aImage )->m_Pos ); EXCHG( ( (TEXTE_PCB*) aItem )->m_Pos, ( (TEXTE_PCB*) aImage )->m_Pos );
EXCHG( ( (TEXTE_PCB*) aItem )->m_Width, ( (TEXTE_PCB*) aImage )->m_Width ); EXCHG( ( (TEXTE_PCB*) aItem )->m_Thickness, ( (TEXTE_PCB*) aImage )->m_Thickness );
EXCHG( ( (TEXTE_PCB*) aItem )->m_Orient, ( (TEXTE_PCB*) aImage )->m_Orient ); EXCHG( ( (TEXTE_PCB*) aItem )->m_Orient, ( (TEXTE_PCB*) aImage )->m_Orient );
EXCHG( ( (TEXTE_PCB*) aItem )->m_Text, ( (TEXTE_PCB*) aImage )->m_Text ); EXCHG( ( (TEXTE_PCB*) aItem )->m_Text, ( (TEXTE_PCB*) aImage )->m_Text );
EXCHG( ( (TEXTE_PCB*) aItem )->m_Italic, ( (TEXTE_PCB*) aImage )->m_Italic ); EXCHG( ( (TEXTE_PCB*) aItem )->m_Italic, ( (TEXTE_PCB*) aImage )->m_Italic );
...@@ -218,7 +218,7 @@ void SwapData( BOARD_ITEM* aItem, BOARD_ITEM* aImage ) ...@@ -218,7 +218,7 @@ void SwapData( BOARD_ITEM* aItem, BOARD_ITEM* aImage )
( (DIMENSION*) aImage )->SetText( txt ); ( (DIMENSION*) aImage )->SetText( txt );
EXCHG( ( (DIMENSION*) aItem )->m_Width, ( (DIMENSION*) aImage )->m_Width ); EXCHG( ( (DIMENSION*) aItem )->m_Width, ( (DIMENSION*) aImage )->m_Width );
EXCHG( ( (DIMENSION*) aItem )->m_Text->m_Size, ( (DIMENSION*) aImage )->m_Text->m_Size ); EXCHG( ( (DIMENSION*) aItem )->m_Text->m_Size, ( (DIMENSION*) aImage )->m_Text->m_Size );
EXCHG( ( (DIMENSION*) aItem )->m_Text->m_Width, ( (DIMENSION*) aImage )->m_Text->m_Width ); EXCHG( ( (DIMENSION*) aItem )->m_Text->m_Thickness, ( (DIMENSION*) aImage )->m_Text->m_Thickness );
EXCHG( ( (DIMENSION*) aItem )->m_Text->m_Mirror, ( (DIMENSION*) aImage )->m_Text->m_Mirror ); EXCHG( ( (DIMENSION*) aItem )->m_Text->m_Mirror, ( (DIMENSION*) aImage )->m_Text->m_Mirror );
} }
break; break;
......
...@@ -144,7 +144,7 @@ bool DIMENSION::ReadDimensionDescr( FILE* File, int* LineNum ) ...@@ -144,7 +144,7 @@ bool DIMENSION::ReadDimensionDescr( FILE* File, int* LineNum )
sscanf( Line + 2, " %d %d %d %d %d %d %d", sscanf( Line + 2, " %d %d %d %d %d %d %d",
&m_Text->m_Pos.x, &m_Text->m_Pos.y, &m_Text->m_Pos.x, &m_Text->m_Pos.y,
&m_Text->m_Size.x, &m_Text->m_Size.y, &m_Text->m_Size.x, &m_Text->m_Size.y,
&m_Text->m_Width, &m_Text->m_Orient, &m_Text->m_Thickness, &m_Text->m_Orient,
&normal_display ); &normal_display );
m_Text->m_Mirror = normal_display ? false : true; m_Text->m_Mirror = normal_display ? false : true;
...@@ -369,7 +369,7 @@ bool DIMENSION::Save( FILE* aFile ) const ...@@ -369,7 +369,7 @@ bool DIMENSION::Save( FILE* aFile ) const
fprintf( aFile, "Po %d %d %d %d %d %d %d\n", fprintf( aFile, "Po %d %d %d %d %d %d %d\n",
m_Text->m_Pos.x, m_Text->m_Pos.y, m_Text->m_Pos.x, m_Text->m_Pos.y,
m_Text->m_Size.x, m_Text->m_Size.y, m_Text->m_Size.x, m_Text->m_Size.y,
m_Text->m_Width, m_Text->m_Orient, m_Text->m_Thickness, m_Text->m_Orient,
m_Text->m_Mirror ? 0 : 1 ); m_Text->m_Mirror ? 0 : 1 );
fprintf( aFile, "Sb %d %d %d %d %d %d\n", S_SEGMENT, fprintf( aFile, "Sb %d %d %d %d %d %d\n", S_SEGMENT,
...@@ -433,7 +433,7 @@ void DIMENSION::AdjustDimensionDetails( bool aDoNotChangeText ) ...@@ -433,7 +433,7 @@ void DIMENSION::AdjustDimensionDetails( bool aDoNotChangeText )
/* calculate the size of the cdimension /* calculate the size of the cdimension
* (text + line above the text) */ * (text + line above the text) */
ii = m_Text->m_Size.y + ii = m_Text->m_Size.y +
m_Text->m_Width + (m_Width * 3); m_Text->m_Thickness + (m_Width * 3);
deltax = TraitD_ox - TraitG_ox; deltax = TraitD_ox - TraitG_ox;
deltay = TraitD_oy - TraitG_oy; deltay = TraitD_oy - TraitG_oy;
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include "class_board_design_settings.h" #include "class_board_design_settings.h"
#include "colors_selection.h" #include "colors_selection.h"
#include "autorout.h"
#include "drag.h" #include "drag.h"
#include "3d_struct.h" #include "3d_struct.h"
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "common.h" #include "common.h"
#include "class_drawpanel.h" #include "class_drawpanel.h"
#include "pcbnew.h" #include "pcbnew.h"
#include "autorout.h"
// Constructor and destructor // Constructor and destructor
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#include "wx/msw/wx.rc"
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
#include "pcbnew.h" #include "pcbnew.h"
#include "wxPcbStruct.h" #include "wxPcbStruct.h"
#include "trigo.h" #include "trigo.h"
#include "autorout.h"
#include "zones.h" #include "zones.h"
#include "dialog_copper_zones.h" #include "dialog_copper_zones.h"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#include "wx/msw/wx.rc"
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment