Commit 671fabe1 authored by dickelbeck's avatar dickelbeck
Browse files

edit component in schematic work

parent a1659e41
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,12 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
Please add newer entries at the top, list the date and your name with
email address.
email address.


2008-Nov-25 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+eeschema
    edit component in schematic editor.  works except for field add, remove, move up.


2008-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com>
2008-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
+eeschema
+eeschema
+288 −208
Original line number Original line Diff line number Diff line
@@ -10,23 +10,31 @@
#include "common.h"
#include "common.h"





/**********************************************************************************/
/**********************************************************************************/
/* Classe WinEDA_EnterText pour entrer une ligne texte au clavier dans les frames */
/* Classe WinEDA_EnterText pour entrer une ligne texte au clavier dans les frames */
/**********************************************************************************/
/**********************************************************************************/
WinEDA_EnterText::WinEDA_EnterText(wxWindow *parent, const wxString &Title,
WinEDA_EnterText::WinEDA_EnterText( wxWindow* parent,
			const wxString & TextToEdit, wxBoxSizer * BoxSizer, const wxSize & Size )
                                    const wxString& Title,
                                    const wxString& TextToEdit,
                                    wxBoxSizer* BoxSizer,
                                    const wxSize& Size )
{
{
    m_Modify = FALSE;
    m_Modify = FALSE;
	if ( TextToEdit ) m_NewText = TextToEdit;
    if( TextToEdit )
        m_NewText = TextToEdit;


    m_Title = new       wxStaticText( parent, -1, Title );
    m_Title = new       wxStaticText( parent, -1, Title );

    m_Title->SetForegroundColour( wxColour( 200, 0, 0 ) );
    m_Title->SetForegroundColour( wxColour( 200, 0, 0 ) );
    BoxSizer->Add( m_Title, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );
    BoxSizer->Add( m_Title, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );


    m_FrameText = new   wxTextCtrl( parent, -1, TextToEdit, wxDefaultPosition, Size );
    m_FrameText = new   wxTextCtrl( parent, -1, TextToEdit, wxDefaultPosition, Size );

    m_FrameText->SetInsertionPoint( 1 );
    m_FrameText->SetInsertionPoint( 1 );
	BoxSizer->Add(m_FrameText, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5);
    BoxSizer->Add( m_FrameText,
        0,
        wxGROW | wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT | wxBOTTOM,
        5 );
}
}




@@ -39,6 +47,7 @@ wxString WinEDA_EnterText::GetValue()
    return m_NewText;
    return m_NewText;
}
}



void WinEDA_EnterText::GetValue( char* buffer, int lenmax )
void WinEDA_EnterText::GetValue( char* buffer, int lenmax )
{
{
    m_Modify = m_FrameText->IsModified();
    m_Modify = m_FrameText->IsModified();
@@ -46,17 +55,21 @@ void WinEDA_EnterText::GetValue(char * buffer, int lenmax)
    {
    {
        m_NewText = m_FrameText->GetValue();
        m_NewText = m_FrameText->GetValue();
        int ii, ll = m_NewText.Len();
        int ii, ll = m_NewText.Len();
		for ( ii = 0; ii < ll && ii < (lenmax-1); ii++ );
        for( ii = 0; ii < ll && ii < (lenmax - 1); ii++ )
            ;

        buffer[ii] = m_NewText.GetChar( ii );
        buffer[ii] = m_NewText.GetChar( ii );
        buffer[lenmax - 1] = 0;
        buffer[lenmax - 1] = 0;
    }
    }
}
}



void WinEDA_EnterText::SetValue( const wxString& new_text )
void WinEDA_EnterText::SetValue( const wxString& new_text )
{
{
    m_FrameText->SetValue( new_text );
    m_FrameText->SetValue( new_text );
}
}



void WinEDA_EnterText::Enable( bool enbl )
void WinEDA_EnterText::Enable( bool enbl )
{
{
    m_Title->Enable( enbl );
    m_Title->Enable( enbl );
@@ -76,53 +89,74 @@ WinEDA_GraphicTextCtrl::WinEDA_GraphicTextCtrl(wxWindow *parent,
    m_Units = units;
    m_Units = units;
    m_Internal_Unit = internal_unit;
    m_Internal_Unit = internal_unit;
    m_Title = NULL;
    m_Title = NULL;
	// Limitation de la taille du texte a de valeurs raisonnables
	if ( textsize < 10 ) textsize = 10;
	if ( textsize > 3000 ) textsize = 3000;


    m_Title = new wxStaticText( parent, -1, Title );
    m_Title = new wxStaticText( parent, -1, Title );

    BoxSizer->Add( m_Title, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );
    BoxSizer->Add( m_Title, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );


    m_FrameText = new wxTextCtrl( parent, -1, TextToEdit );
    m_FrameText = new wxTextCtrl( parent, -1, TextToEdit );

    BoxSizer->Add( m_FrameText, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
    BoxSizer->Add( m_FrameText, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );


    if( !Title.IsEmpty() )
    if( !Title.IsEmpty() )
    {
    {
		wxString msg; msg = _("Size") + ReturnUnitSymbol(m_Units);
        wxString      msg = _( "Size" ) + ReturnUnitSymbol( m_Units );
        wxStaticText* text = new wxStaticText( parent, -1, msg );
        wxStaticText* text = new wxStaticText( parent, -1, msg );

        BoxSizer->Add( text, 0, wxGROW | wxLEFT | wxRIGHT | wxADJUST_MINSIZE, 5 );
        BoxSizer->Add( text, 0, wxGROW | wxLEFT | wxRIGHT | wxADJUST_MINSIZE, 5 );
    }
    }


	wxString value;
    wxString value = FormatSize( m_Internal_Unit, m_Units, textsize );
	value.Printf(( m_Internal_Unit > 1000 ) ? wxT("%.4f") : wxT("%.3f"),

		To_User_Unit(m_Units, textsize, m_Internal_Unit) );
    m_FrameSize = new wxTextCtrl( parent, -1, value, wxDefaultPosition, wxSize( 70, -1 ) );
    m_FrameSize = new wxTextCtrl( parent, -1, value, wxDefaultPosition, wxSize( 70, -1 ) );

    BoxSizer->Add( m_FrameSize, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
    BoxSizer->Add( m_FrameSize, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
}
}




WinEDA_GraphicTextCtrl::~WinEDA_GraphicTextCtrl()
WinEDA_GraphicTextCtrl::~WinEDA_GraphicTextCtrl()
{
{
    /* no, these are deleted by the BoxSizer
    delete m_FrameText;
    delete m_FrameText;
    delete m_Title;
    delete m_Title;
    */
}


wxString WinEDA_GraphicTextCtrl::FormatSize( int internalUnit, int units, int textSize )
{
    wxString value;

    // Limitation de la taille du texte a de valeurs raisonnables
    if( textSize < 10 )
        textSize = 10;

    if( textSize > 3000 )
        textSize = 3000;

    value.Printf( ( internalUnit > 1000 ) ? wxT( "%.4f" ) : wxT( "%.3f" ),
        To_User_Unit( units, textSize, internalUnit ) );

    return value;
}
}



void WinEDA_GraphicTextCtrl::SetTitle( const wxString& title )
void WinEDA_GraphicTextCtrl::SetTitle( const wxString& title )
{
{
    m_Title->SetLabel( title );
    m_Title->SetLabel( title );
}
}



void WinEDA_GraphicTextCtrl::SetValue( const wxString& value )
void WinEDA_GraphicTextCtrl::SetValue( const wxString& value )
{
{
    m_FrameText->SetValue( value );
    m_FrameText->SetValue( value );
}
}


void WinEDA_GraphicTextCtrl::SetValue(int value)

void WinEDA_GraphicTextCtrl::SetValue( int textSize )
{
{
	wxString msg;
    wxString value = FormatSize( m_Internal_Unit, m_Units, textSize );
	msg.Printf(( m_Internal_Unit > 1000 ) ? wxT("%.4f") : wxT("%.3f"),
    m_FrameSize->SetValue( value );
		To_User_Unit(m_Units, value, m_Internal_Unit) );
	m_FrameSize->SetValue(msg);
}
}




@@ -132,56 +166,79 @@ wxString text = m_FrameText->GetValue();
    return text;
    return text;
}
}


int WinEDA_GraphicTextCtrl::GetTextSize()

int WinEDA_GraphicTextCtrl::ParseSize( const wxString& sizeText, int internalUnit, int units )
{
{
    int    textsize;
    int    textsize;

    double dtmp;
    double dtmp;


	m_FrameSize->GetValue().ToDouble(&dtmp);
    sizeText.ToDouble( &dtmp );
	textsize = (int)From_User_Unit( m_Units,

							dtmp,
    textsize = (int) From_User_Unit( units, dtmp, internalUnit );
							m_Internal_Unit);

	// Limitation de la taille du texte a de valeurs raisonnables
    // Limit to reasonable size
	if ( textsize < 10 ) textsize = 10;
    if( textsize < 10 )
	if ( textsize > 3000 ) textsize = 3000;
        textsize = 10;

    if( textsize > 3000 )
        textsize = 3000;

    return textsize;
    return textsize;
}
}



int WinEDA_GraphicTextCtrl::GetTextSize()
{
    return ParseSize( m_FrameSize->GetValue(), m_Internal_Unit, m_Units );
}


void WinEDA_GraphicTextCtrl::Enable( bool state )
void WinEDA_GraphicTextCtrl::Enable( bool state )
{
{
    m_FrameText->Enable( state );
    m_FrameText->Enable( state );
}
}





/*****************************************************************/
/*****************************************************************/
/* Classe pour afficher et editer une coordonne en INCHES ou MM */
/* Classe pour afficher et editer une coordonne en INCHES ou MM */
/*****************************************************************/
/*****************************************************************/


WinEDA_PositionCtrl::WinEDA_PositionCtrl(wxWindow *parent, const wxString & title,
WinEDA_PositionCtrl::WinEDA_PositionCtrl( wxWindow* parent,
						const wxPoint & pos_to_edit, int units, wxBoxSizer * BoxSizer,
                                          const wxString& title,
                                          const wxPoint& pos_to_edit,
                                          int units,
                                          wxBoxSizer* BoxSizer,
                                          int internal_unit )
                                          int internal_unit )
{
{
    wxString text;
    wxString text;


    m_Units = units;
    m_Units = units;
    m_Internal_Unit = internal_unit;
    m_Internal_Unit = internal_unit;
	if ( title.IsEmpty() ) text = _("Pos ");
    if( title.IsEmpty() )
	else text = title;
        text = _( "Pos " );
    else
        text = title;
    text   += _( "X" ) + ReturnUnitSymbol( m_Units );
    text   += _( "X" ) + ReturnUnitSymbol( m_Units );
    m_TextX = new       wxStaticText( parent, -1, text );
    m_TextX = new       wxStaticText( parent, -1, text );

    BoxSizer->Add( m_TextX, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );
    BoxSizer->Add( m_TextX, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );
    m_FramePosX = new   wxTextCtrl( parent, -1, wxEmptyString, wxDefaultPosition );
    m_FramePosX = new   wxTextCtrl( parent, -1, wxEmptyString, wxDefaultPosition );

    BoxSizer->Add( m_FramePosX, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
    BoxSizer->Add( m_FramePosX, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );




	if ( title.IsEmpty() ) text = _("Pos ");
    if( title.IsEmpty() )
	else text = title;
        text = _( "Pos " );
    else
        text = title;
    text   += _( "Y" ) + ReturnUnitSymbol( m_Units );
    text   += _( "Y" ) + ReturnUnitSymbol( m_Units );
    m_TextY = new       wxStaticText( parent, -1, text );
    m_TextY = new       wxStaticText( parent, -1, text );

    BoxSizer->Add( m_TextY, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );
    BoxSizer->Add( m_TextY, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );


    m_FramePosY = new   wxTextCtrl( parent, -1, wxEmptyString );
    m_FramePosY = new   wxTextCtrl( parent, -1, wxEmptyString );

    BoxSizer->Add( m_FramePosY, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
    BoxSizer->Add( m_FramePosY, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );


    SetValue( pos_to_edit.x, pos_to_edit.y );
    SetValue( pos_to_edit.x, pos_to_edit.y );
@@ -196,9 +253,11 @@ WinEDA_PositionCtrl::~WinEDA_PositionCtrl()
    delete m_FramePosY;
    delete m_FramePosY;
}
}



/******************************************/
/******************************************/
wxPoint WinEDA_PositionCtrl::GetValue()
wxPoint WinEDA_PositionCtrl::GetValue()
/******************************************/
/******************************************/

/* Retourne (en unites internes) les coordonnes entrees (en unites utilisateur)
/* Retourne (en unites internes) les coordonnes entrees (en unites utilisateur)
 */
 */
{
{
@@ -222,6 +281,7 @@ void WinEDA_PositionCtrl::Enable(bool x_win_on, bool y_win_on)
    m_FramePosY->Enable( y_win_on );
    m_FramePosY->Enable( y_win_on );
}
}



/***********************************************************/
/***********************************************************/
void WinEDA_PositionCtrl::SetValue( int x_value, int y_value )
void WinEDA_PositionCtrl::SetValue( int x_value, int y_value )
/***********************************************************/
/***********************************************************/
@@ -240,6 +300,7 @@ wxString msg;
    m_FramePosY->SetValue( msg );
    m_FramePosY->SetValue( msg );
}
}



/*******************/
/*******************/
/* WinEDA_SizeCtrl */
/* WinEDA_SizeCtrl */
/*******************/
/*******************/
@@ -253,12 +314,14 @@ WinEDA_SizeCtrl::WinEDA_SizeCtrl(wxWindow *parent, const wxString & title,
{
{
}
}



/*************************************/
/*************************************/
wxSize WinEDA_SizeCtrl::GetValue()
wxSize WinEDA_SizeCtrl::GetValue()
/*************************************/
/*************************************/
{
{
    wxPoint pos = WinEDA_PositionCtrl::GetValue();
    wxPoint pos = WinEDA_PositionCtrl::GetValue();
    wxSize  size;
    wxSize  size;

    size.x = pos.x;
    size.x = pos.x;
    size.y = pos.y;
    size.y = pos.y;
    return size;
    return size;
@@ -270,9 +333,9 @@ wxSize size;
/***********************************************************************/
/***********************************************************************/


/* Unites:
/* Unites:
	si units = 0 : unite = inch
  * si units = 0 : unite = inch
	si units = 1 : unite = mm
  * si units = 1 : unite = mm
	si units >1 : affichage direct
  * si units >1 : affichage direct
 */
 */
WinEDA_ValueCtrl::WinEDA_ValueCtrl( wxWindow* parent, const wxString& title,
WinEDA_ValueCtrl::WinEDA_ValueCtrl( wxWindow* parent, const wxString& title,
                                    int value, int units, wxBoxSizer* BoxSizer,
                                    int value, int units, wxBoxSizer* BoxSizer,
@@ -286,19 +349,26 @@ wxString label = title;
    label  += ReturnUnitSymbol( m_Units );
    label  += ReturnUnitSymbol( m_Units );


    m_Text = new        wxStaticText( parent, -1, label );
    m_Text = new        wxStaticText( parent, -1, label );

    BoxSizer->Add( m_Text, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );
    BoxSizer->Add( m_Text, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );


    wxString stringvalue = ReturnStringFromValue( m_Units, m_Value, m_Internal_Unit );
    wxString stringvalue = ReturnStringFromValue( m_Units, m_Value, m_Internal_Unit );
    m_ValueCtrl = new   wxTextCtrl( parent, -1, stringvalue );
    m_ValueCtrl = new   wxTextCtrl( parent, -1, stringvalue );
	BoxSizer->Add(m_ValueCtrl, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5);

    BoxSizer->Add( m_ValueCtrl,
        0,
        wxGROW | wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT | wxBOTTOM,
        5 );
}
}



WinEDA_ValueCtrl::~WinEDA_ValueCtrl()
WinEDA_ValueCtrl::~WinEDA_ValueCtrl()
{
{
    delete m_ValueCtrl;
    delete m_ValueCtrl;
    delete m_Text;
    delete m_Text;
}
}



/***********************************/
/***********************************/
int WinEDA_ValueCtrl::GetValue()
int WinEDA_ValueCtrl::GetValue()
/***********************************/
/***********************************/
@@ -310,17 +380,20 @@ wxString txtvalue = m_ValueCtrl->GetValue();
    return coord;
    return coord;
}
}



/********************************************/
/********************************************/
void WinEDA_ValueCtrl::SetValue( int new_value )
void WinEDA_ValueCtrl::SetValue( int new_value )
/********************************************/
/********************************************/
{
{
    wxString buffer;
    wxString buffer;

    m_Value = new_value;
    m_Value = new_value;


    buffer = ReturnStringFromValue( m_Units, m_Value, m_Internal_Unit );
    buffer = ReturnStringFromValue( m_Units, m_Value, m_Internal_Unit );
    m_ValueCtrl->SetValue( buffer );
    m_ValueCtrl->SetValue( buffer );
}
}



/* Active ou desactive la frame: */
/* Active ou desactive la frame: */
void WinEDA_ValueCtrl::Enable( bool enbl )
void WinEDA_ValueCtrl::Enable( bool enbl )
{
{
@@ -328,6 +401,7 @@ void WinEDA_ValueCtrl::Enable(bool enbl)
    m_Text->Enable( enbl );
    m_Text->Enable( enbl );
}
}



/***************************************************************/
/***************************************************************/
/* Classe pour afficher et editer une valeur en double flottant*/
/* Classe pour afficher et editer une valeur en double flottant*/
/***************************************************************/
/***************************************************************/
@@ -340,19 +414,23 @@ wxString label = title;
    m_Value = value;
    m_Value = value;


    m_Text = new        wxStaticText( parent, -1, label );
    m_Text = new        wxStaticText( parent, -1, label );

    BoxSizer->Add( m_Text, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
    BoxSizer->Add( m_Text, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );


    buffer.Printf( wxT( "%lf" ), m_Value );
    buffer.Printf( wxT( "%lf" ), m_Value );
    m_ValueCtrl = new   wxTextCtrl( parent, -1, buffer );
    m_ValueCtrl = new   wxTextCtrl( parent, -1, buffer );

    BoxSizer->Add( m_ValueCtrl, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
    BoxSizer->Add( m_ValueCtrl, 0, wxGROW | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
}
}



WinEDA_DFloatValueCtrl::~WinEDA_DFloatValueCtrl()
WinEDA_DFloatValueCtrl::~WinEDA_DFloatValueCtrl()
{
{
    delete m_ValueCtrl;
    delete m_ValueCtrl;
    delete m_Text;
    delete m_Text;
}
}



double WinEDA_DFloatValueCtrl::GetValue()
double WinEDA_DFloatValueCtrl::GetValue()
{
{
    double coord = 0;
    double coord = 0;
@@ -361,19 +439,21 @@ double coord = 0;
    return coord;
    return coord;
}
}



void WinEDA_DFloatValueCtrl::SetValue( double new_value )
void WinEDA_DFloatValueCtrl::SetValue( double new_value )
{
{
    wxString buffer;
    wxString buffer;

    m_Value = new_value;
    m_Value = new_value;


    buffer.Printf( wxT( "%lf" ), m_Value );
    buffer.Printf( wxT( "%lf" ), m_Value );
    m_ValueCtrl->SetValue( buffer );
    m_ValueCtrl->SetValue( buffer );
}
}



/* Active ou desactive la frame: */
/* Active ou desactive la frame: */
void WinEDA_DFloatValueCtrl::Enable( bool enbl )
void WinEDA_DFloatValueCtrl::Enable( bool enbl )
{
{
    m_ValueCtrl->Enable( enbl );
    m_ValueCtrl->Enable( enbl );
    m_Text->Enable( enbl );
    m_Text->Enable( enbl );
}
}
+8 −4
Original line number Original line Diff line number Diff line
@@ -683,7 +683,8 @@ int SCH_COMPONENT::GetRotationMiroir()
    {
    {
        if( memcmp( TempMat, m_Transform, sizeof(MatNormal) ) == 0 )
        if( memcmp( TempMat, m_Transform, sizeof(MatNormal) ) == 0 )
        {
        {
            found = TRUE; break;
            found = TRUE;
            break;
        }
        }
        SetRotationMiroir( CMP_ROTATE_COUNTERCLOCKWISE );
        SetRotationMiroir( CMP_ROTATE_COUNTERCLOCKWISE );
    }
    }
@@ -697,7 +698,8 @@ int SCH_COMPONENT::GetRotationMiroir()
        {
        {
            if( memcmp( TempMat, m_Transform, sizeof(MatNormal) ) == 0 )
            if( memcmp( TempMat, m_Transform, sizeof(MatNormal) ) == 0 )
            {
            {
                found = TRUE; break;
                found = TRUE;
                break;
            }
            }
            SetRotationMiroir( CMP_ROTATE_COUNTERCLOCKWISE );
            SetRotationMiroir( CMP_ROTATE_COUNTERCLOCKWISE );
        }
        }
@@ -712,7 +714,8 @@ int SCH_COMPONENT::GetRotationMiroir()
        {
        {
            if( memcmp( TempMat, m_Transform, sizeof(MatNormal) ) == 0 )
            if( memcmp( TempMat, m_Transform, sizeof(MatNormal) ) == 0 )
            {
            {
                found = TRUE; break;
                found = TRUE;
                break;
            }
            }
            SetRotationMiroir( CMP_ROTATE_COUNTERCLOCKWISE );
            SetRotationMiroir( CMP_ROTATE_COUNTERCLOCKWISE );
        }
        }
@@ -726,7 +729,8 @@ int SCH_COMPONENT::GetRotationMiroir()
    }
    }
    else
    else
    {
    {
        wxBell(); return CMP_NORMAL;
        wxBell();
        return CMP_NORMAL;
    }
    }
}
}


+6 −0
Original line number Original line Diff line number Diff line
@@ -193,6 +193,12 @@ public:
     */
     */
    void AddField( const SCH_CMP_FIELD& aField );
    void AddField( const SCH_CMP_FIELD& aField );


    void SetFields( const SCH_CMP_FIELDS& aFields )
    {
        m_Fields = aFields;     // vector copying, length is changed possibly
    }


    /**
    /**
     * Function GetFieldCount
     * Function GetFieldCount
     * returns the number of fields in this component.
     * returns the number of fields in this component.
Loading