KiCad PCB EDA Suite
DIALOG_CREATE_ARRAY::ARRAY_OPTIONS Struct Referenceabstract

Persistent dialog options. More...

#include <dialog_create_array.h>

Inheritance diagram for DIALOG_CREATE_ARRAY::ARRAY_OPTIONS:
DIALOG_CREATE_ARRAY::ARRAY_CIRCULAR_OPTIONS DIALOG_CREATE_ARRAY::ARRAY_GRID_OPTIONS

Public Member Functions

 ARRAY_OPTIONS (ARRAY_TYPE_T aType)
 
virtual ~ARRAY_OPTIONS ()
 
virtual void TransformItem (int n, BOARD_ITEM *item, const wxPoint &rotPoint) const =0
 
virtual int GetArraySize () const =0
 
virtual wxString GetItemNumber (int n) const =0
 
virtual wxString InterpolateNumberIntoString (int n, const wxString &pattern) const
 
bool ShouldNumberItems () const
 
bool NumberingStartIsSpecified () const
 

Public Attributes

ARRAY_TYPE_T m_type
 

Static Protected Member Functions

static wxString getCoordinateNumber (int n, ARRAY_NUMBERING_TYPE_T type)
 

Protected Attributes

bool m_shouldNumber
 True if this array numbers the new items. More...
 
bool m_numberingStartIsSpecified
 True if this array's number starts from the preset point False if the array numbering starts from some externally provided point. More...
 

Friends

class DIALOG_CREATE_ARRAY
 

Detailed Description

Persistent dialog options.

Definition at line 203 of file dialog_create_array.h.

Constructor & Destructor Documentation

DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::ARRAY_OPTIONS ( ARRAY_TYPE_T  aType)
inline

Definition at line 205 of file dialog_create_array.h.

205  :
206  m_type( aType ),
207  m_shouldNumber( false ),
209  {}
bool m_numberingStartIsSpecified
True if this array's number starts from the preset point False if the array numbering starts from som...
bool m_shouldNumber
True if this array numbers the new items.
virtual DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::~ARRAY_OPTIONS ( )
inlinevirtual

Definition at line 211 of file dialog_create_array.h.

211 {};

Member Function Documentation

virtual int DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::GetArraySize ( ) const
pure virtual
wxString DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::getCoordinateNumber ( int  n,
ARRAY_NUMBERING_TYPE_T  type 
)
staticprotected

Definition at line 470 of file dialog_create_array.cpp.

References alphabetFromNumberingScheme(), and schemeNonUnitColsStartAt0().

472 {
473  wxString itemNum;
474  const wxString& alphabet = alphabetFromNumberingScheme( type );
475 
476  const bool nonUnitColsStartAt0 = schemeNonUnitColsStartAt0( type );
477 
478  bool firstRound = true;
479  int radix = alphabet.Length();
480 
481  do {
482  int modN = n % radix;
483 
484  if( nonUnitColsStartAt0 && !firstRound )
485  modN--; // Start the "tens/hundreds/etc column" at "Ax", not "Bx"
486 
487  itemNum.insert( 0, 1, alphabet[modN] );
488 
489  n /= radix;
490  firstRound = false;
491  } while( n );
492 
493  return itemNum;
494 }
static bool schemeNonUnitColsStartAt0(DIALOG_CREATE_ARRAY::ARRAY_NUMBERING_TYPE_T type)
static const wxString & alphabetFromNumberingScheme(DIALOG_CREATE_ARRAY::ARRAY_NUMBERING_TYPE_T type)
virtual wxString DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::GetItemNumber ( int  n) const
pure virtual
wxString DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::InterpolateNumberIntoString ( int  n,
const wxString &  pattern 
) const
virtual

Definition at line 497 of file dialog_create_array.cpp.

499 {
500  wxString newStr( aPattern );
501  newStr.Replace( "%s", GetItemNumber( aN ), false );
502 
503  return newStr;
504 }
virtual wxString GetItemNumber(int n) const =0
bool DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::NumberingStartIsSpecified ( ) const
inline
Returns
is the numbering is enabled and should start at a point specified in these options or is it implicit according to the calling code?

Definition at line 242 of file dialog_create_array.h.

Referenced by ARRAY_CREATOR::Invoke().

243  {
245  }
bool m_numberingStartIsSpecified
True if this array's number starts from the preset point False if the array numbering starts from som...
bool m_shouldNumber
True if this array numbers the new items.
bool DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::ShouldNumberItems ( ) const
inline
Returns
are the items in this array numberred, or are all the items numbered the same

Definition at line 232 of file dialog_create_array.h.

Referenced by ARRAY_CREATOR::Invoke().

233  {
234  return m_shouldNumber;
235  }
bool m_shouldNumber
True if this array numbers the new items.
virtual void DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::TransformItem ( int  n,
BOARD_ITEM item,
const wxPoint rotPoint 
) const
pure virtual

Function GetArrayPositions Returns the set of points that represent the array in order, if that is important

TODO: Can/should this be done with some sort of iterator?

Implemented in DIALOG_CREATE_ARRAY::ARRAY_CIRCULAR_OPTIONS, and DIALOG_CREATE_ARRAY::ARRAY_GRID_OPTIONS.

Referenced by ARRAY_CREATOR::Invoke().

Friends And Related Function Documentation

friend class DIALOG_CREATE_ARRAY
friend

Definition at line 251 of file dialog_create_array.h.

Member Data Documentation

bool DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::m_numberingStartIsSpecified
protected

True if this array's number starts from the preset point False if the array numbering starts from some externally provided point.

Definition at line 258 of file dialog_create_array.h.

Referenced by DIALOG_CREATE_ARRAY::OnOkClick().

bool DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::m_shouldNumber
protected

True if this array numbers the new items.

Definition at line 254 of file dialog_create_array.h.

Referenced by DIALOG_CREATE_ARRAY::OnOkClick().

ARRAY_TYPE_T DIALOG_CREATE_ARRAY::ARRAY_OPTIONS::m_type

Definition at line 211 of file dialog_create_array.h.


The documentation for this struct was generated from the following files: