8#ifndef FF_BASECOLLECTION_H
9#define FF_BASECOLLECTION_H
27#ifndef DOXYGEN_SHOULD_IGNORE_THIS
43 void _RequireElement(
int no_of_required_elements);
71 const char*
ClassName()
const override {
return "__FCCollection"; }
91 if (_pDataArray)
delete [] _pDataArray;
270 bool Swap(
int index1,
int index2)
272 if (index1 == index2)
return false;
273 if (index1 < 0 || index2 < 0)
return false;
274 if (index1 >= _counter || index2 >= _counter)
return false;
275 __FCBase* pObjectTemp = _pDataArray[index1];
276 _pDataArray[index1] = _pDataArray[index2];
277 _pDataArray[index2] = pObjectTemp;
298 while (pOtherCollection->
GetCount() > 0)
324 for (
int i = 0; i <
GetCount(); i++)
328 if (!pCurrent->
IsIdentical(pCompare))
return false;
333#ifdef PDK_FRAMEWORK_DEBUG
339 for (
int i = 0; i <
GetCount(); i++)
358 template<
typename NUMTYPE>
359 std::vector<NUMTYPE> _GetNumberTable()
const
361 static_assert(std::is_floating_point<NUMTYPE>::value || std::is_integral<NUMTYPE>::value,
"NUMTYPE must be either an integer or floating point type");
362 std::vector<NUMTYPE> retval(
GetCount());
363 for (
int i = 0; i <
GetCount(); i++)
365 if constexpr(std::is_floating_point<NUMTYPE>::value)
366 retval[i] =
static_cast<NUMTYPE
>(
GetItemAt(i)->GetFloat());
367 else if constexpr(std::is_integral<NUMTYPE>::value)
368 retval[i] =
static_cast<NUMTYPE
>(
GetItemAt(i)->GetInt());
375 template<
typename NUMTYPE>
376 void _SetNumberTable(
const std::vector<NUMTYPE>& table)
378 static_assert(std::is_floating_point<NUMTYPE>::value || std::is_integral<NUMTYPE>::value,
"NUMTYPE must be either an integer or floating point type");
380 for (
int i = 0; i < table.size(); i++)
382 if constexpr(std::is_floating_point<NUMTYPE>::value)
384 else if constexpr(std::is_integral<NUMTYPE>::value)
392 const char*
ClassName()
const override {
return "FCNumbers"; }
409 for (
int i = 0; i <
GetCount(); i++)
412 if (pNumber->
GetInt() == intvalue)
return pNumber;
428 if (pNumber)
return pNumber;
452 if (!pNumber)
return;
463 if (!pNumbers)
return;
464 for (
int i = 0; i < pNumbers->
GetCount(); i++)
500 return _GetNumberTable<int>();
511 _SetNumberTable<int>(table);
522 return _GetNumberTable<double>();
533 _SetNumberTable<double>(table);
538#ifdef PDK_FRAMEWORK_TINYXML
546#ifdef PDK_FRAMEWORK_TINYXML
559 pParentNode->DeleteChildren();
560 for (
int i = 0; i <
GetCount(); i++)
562 tinyxml2::XMLElement* pItemNode = pParentNode->GetDocument()->NewElement(pszNameString);
563 pParentNode->InsertEndChild(pItemNode);
564 pItemNode->SetAttribute(
"CollectionIdx", i + 1);
582 tinyxml2::XMLElement* pChildNode = pParentNode->FirstChildElement(pszNameString);
595 pChildNode = pChildNode->NextSiblingElement(pszNameString);
607#ifndef DOXYGEN_SHOULD_IGNORE_THIS
618 EXTAG GetCustomTag()
const {
return _customtag; }
630 const char*
ClassName()
const override {
return "__FCCollectionData"; }
648 for (
int i = 0; i <
GetCount(); i++)
652 if (!pObject->
Save())
return false;
667#ifdef PDK_FRAMEWORK_ENTRIES
680#ifndef DOXYGEN_SHOULD_IGNORE_THIS
685 const char*
ClassName()
const override {
return "__FCCollectionEntryDetail"; }
756 const char*
ClassName()
const override {
return "__FCCollectionInciOther"; }
845 const char*
ClassName()
const override {
return "__FCCollectionNoInciOther"; }
866 const char*
ClassName()
const override {
return "__FCCollectionGlobal"; }
882 const char*
ClassName()
const override {
return "__FCCollectionDetail"; }
901 const char*
ClassName()
const override {
return "__FCCollectionPrefs"; }
921 const char*
ClassName()
const override {
return "__FCCollectionNoInciDetail"; }
948 const char*
ClassName()
const override {
return "FCSettingsPairs"; }
962 for (
int i = 0; i <
GetCount(); i++)
980 for (
int i = 0; i <
GetCount(); i++)
1024 if (!pKey)
return false;
1047 if (!pKey)
return false;
1052 if (value < min) value = min;
1053 if (value > max) value = max;
1105 if (!pString)
return false;
1112 const char*
ClassName()
const override {
return "FCStrings"; }
1135 if (!pNewString)
return;
1136 if (index < 0)
return;
1141#ifdef PDK_FRAMEWORK_ENIGMASTRINGS
1148 for (
int i = 0; i <
GetCount(); i++)
1173 for (
int i = 0; i <
GetCount(); i++)
1176 int separatorposition = pString->
FindFirst(
"=");
1177 if (separatorposition < 1)
continue;
1185 pSettingsPairs->
Add(pPair);
1187 return pSettingsPairs;
1204 for (
int i = 0; i <
GetCount(); i++)
1207 if (!pString)
continue;
1209 if (pszSeparator && (i < (
GetCount() - 1)))
1214 return pReturnString;
1217#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1219 luabridge::RefCountedPtr<FCString> CreateString_GC(
const char* pszSeparator = NULL)
1220 {
return makeLuaSharedPtr(
CreateString(pszSeparator)); }
1241 for (
int i = 0; i <
GetCount(); i++)
1251 return pReturnString;
1254#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1256 luabridge::RefCountedPtr<FCString> CreateRowsString_GC(
bool bNewLineAtEnd)
1268 if (!pFindString)
return NULL;
1269 for (
int i = 0; i <
GetCount(); i++)
1272 if (!pString)
continue;
1289 if (!pFindString)
return NULL;
1293 for (
int i = 0; i <
GetCount(); i++)
1298 string.ToLowerCase();
1299 if (
string.IsEqualString(findstring))
return GetItemAt(i);
1311 if (!pSourceStrings)
return;
1313 for (
int i = 0; i < pSourceStrings->
GetCount(); i++)
1338 for (
int i = 0; i < strings.size(); i++)
1352 for (
int i = 0; i <
GetCount(); i++)
1367 for (
int i =
GetCount() - 1; i >= 0; i--)
1401#ifdef PDK_FRAMEWORK_STREAMS
1449 const char*
ClassName()
const override {
return "FCNumberCollection"; }
1453#ifdef PDK_FRAMEWORK_ENTRIES
1468 static bool _updatemetrics;
1472 const char*
ClassName()
const override {
return "FCNoteEntryCellMetrics"; }
1511 if (!pObject)
return NULL;
1527 const char*
ClassName()
const override {
return "FCRanges"; }
1553 const char*
ClassName()
const override {
return "FCChordSuffixKeyNumberOffsets"; }
1568 bool Load(CMPER suffixno);
Base class for all data-related classes (that handles Finale data).
Definition ff_base.h:676
void SetCustomTag(EXTAG tag)
Sets the custom Enigma tag, for classes that support multiple Enigma tags.
Definition ff_base.h:882
virtual bool Save()
Saves the currently loaded to its current location.
Definition finaleframework.cpp:951
Base class for the Finale Framework classes.
Definition ff_base.h:71
virtual bool IsIdentical(const __FCBase *pCompareObject) const
Returns true if the data in the passed object is considered to be identical to the current object,...
Definition ff_base.h:539
static void DebugOutInt(const char *pszPrefixText, int i)
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in d...
Definition finaleframework.cpp:335
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition finaleframework.cpp:609
virtual bool ReadFromXML(tinyxml2::XMLElement *pParentNode)
Virtual method that is used to read object data.
Definition ff_base.h:663
virtual void StoreToXML(tinyxml2::XMLElement *pParentNode)
Virtual method that is used to store an object's data.
Definition ff_base.h:596
Base class for all collections based on decendants from __FCBaseData.
Definition ff_basecollection.h:606
__FCCollectionData()
The constructor.
Definition ff_basecollection.h:625
virtual int LoadAll()
Loads all available data into the collection.
Definition finaleframework.cpp:13964
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:630
void SetCustomTag(EXTAG tag)
Sets a custom Enigma tag for the elements of the collection.
Definition ff_basecollection.h:664
virtual bool SaveAll()
Saves all data in the collection.
Definition ff_basecollection.h:646
Base class specially designed for collections of detail classes.
Definition ff_basecollection.h:880
__FCCollectionDetail()
The constructor.
Definition ff_basecollection.h:886
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:882
Base class specially designed for collections of entry detail classes.
Definition ff_basecollection.h:679
int LoadAllForEntryNumber(ENTNUM entnum)
Loads all elements for a specific entry number.
Definition finaleframework.cpp:14029
void SetNoteEntry(FCNoteEntry *pEntry)
Assigns the entry number that should be used for LoadAll, etc.
Definition ff_basecollection.h:697
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:685
virtual void SaveNew()
Saving all note entry details as new records to the destination entry.
Definition finaleframework.cpp:14015
bool DestroyItemAt(int index)
Deletes the data associated with the object and deletes the item from the collection.
Definition finaleframework.cpp:14049
int LoadAll() override
Overloaded version of LoadAll. It will load all elements for the current entry number.
Definition finaleframework.cpp:13984
__FCCollectionEntryDetail(FCNoteEntry *pConnectEntry=NULL)
The constructor.
Definition ff_basecollection.h:691
Base class for "Global" data.
Definition ff_basecollection.h:864
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:866
Base class for all collection classes. A collection is a storage that can store multiple objects of s...
Definition ff_basecollection.h:26
__FCBase * FindFirst(FCIteratorHandler *pIterator) override
Process elements until a match is found.
Definition finaleframework.cpp:13851
int GetIndexOf(__FCBase *pObject) const
Returns the 0-based order index for the object within the collection.
Definition finaleframework.cpp:13775
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:71
virtual ~__FCCollection()
The virtual destructor, which deallocates the array and also all its elements.
Definition ff_basecollection.h:88
void Add(__FCBase *pNewItem)
Adds an element to the end of the collection.
Definition finaleframework.cpp:13726
int MoveFrom(__FCCollection *pOtherCollection, bool unique=false)
Moves elements from another collection into this collection. The other will be empty after the operat...
Definition ff_basecollection.h:295
void DetachAll()
Removes all the objects from the collection, without freeing/destroying the objects.
Definition ff_basecollection.h:162
__FCBase * FindUserData(void *data_to_find)
Returns the first element in the collection that has the indicated userdata.
Definition finaleframework.cpp:13864
bool ClearItemAt(int index)
Deletes the object at the index position and disposes the object. Index is 0-based.
Definition finaleframework.cpp:13791
void ClearAll()
Destroys all the objects in the collection and empties the collection.
Definition ff_basecollection.h:151
__FCBase * GetLastItem() const
Returns the last item in the collection.
Definition ff_basecollection.h:174
int ForEach(FCIteratorHandler *pIterator) override
Processes all elements in the collection (starting with item 0), or until the iterator Iterate() retu...
Definition finaleframework.cpp:13819
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_basecollection.h:334
__FCBase * operator[](int index) const
Identical to the GetItemAt method.
Definition ff_basecollection.h:180
int ToEndFrom(int index, FCIteratorHandler *pIterator)
Processes one element after another and iterates from one specific index to the end of the collection...
Definition finaleframework.cpp:13802
bool IsEmpty() const
Returns true if the collection contains no elements.
Definition ff_basecollection.h:285
bool Sort(FCIteratorHandler *pIterator)
Sorts the elements of.
Definition finaleframework.cpp:13877
bool Swap(int index1, int index2)
Swaps to items in the collection.
Definition ff_basecollection.h:270
__FCBase * DetachItemAt(int index)
Removes the object at the index position. Index is 0-based.
Definition finaleframework.cpp:13781
virtual int ForEachIndex(FCIteratorHandler *pIterator)
Same as ForEach, but the IterateIndex callback of the iterator handler is used instead.
Definition finaleframework.cpp:13835
int GetCount() const
Returns the number of elements of the collection.
Definition ff_basecollection.h:102
__FCBase * GetItemAt(int index) const
Returns the object at the index position. Index is 0-based.
Definition finaleframework.cpp:13767
__FCCollection()
The constructor.
Definition ff_basecollection.h:74
bool ElementExists(__FCBase *pQueryItem)
Returns true if the element is found in the collection, otherwise false.
Definition finaleframework.cpp:13746
bool UniqueAdd(__FCBase *pNewItem)
Adds an element to the end of the collection, but only if it doesn't exist in the collection before.
Definition ff_basecollection.h:117
void InsertItemAt(__FCBase *pNewItem, int index)
Inserts an item into the collection.
Definition finaleframework.cpp:13733
bool IsIdentical(const __FCBase *pCompareObject) const override
Returns true if two collections are considered to be identical.
Definition ff_basecollection.h:320
Base class for "other" data with incis of the __FCInciOther class (where it's common to collect all i...
Definition ff_basecollection.h:754
virtual int LoadAllForItem(CMPER cmper)
Loads all subrecords (incis) for a specific item (cmper) and adds them as items to the collection.
Definition finaleframework.cpp:14141
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:756
bool SaveDataAs(CMPER cmperfrom, CMPER cmperto)
Resaves all subrecords (incis) from the Finale database for a specific item (cmper) to another item (...
Definition finaleframework.cpp:14088
virtual bool DeleteDataForItem(CMPER cmper)
Deletes all subrecords (incis) from the Finale database for a specific item (cmper).
Definition finaleframework.cpp:14067
__FCInciOther * FindItemNo(CMPER cmper, twobyte inci)
Returns the (first) item that has the indicated item number (CMPER) and inci.
Definition finaleframework.cpp:14182
virtual bool SaveAllForItem(CMPER cmper)
Saves the whole collection to a specific item (cmper).
Definition finaleframework.cpp:14157
CMPER SaveAllAsNew()
Saves the whole collection with a new cmper.
Definition finaleframework.cpp:14169
Base class specially designed for collections of detail classes that doesn't use the inci.
Definition ff_basecollection.h:919
virtual int LoadAllForItem(CMPER cmper1, CMPER cmper2base=1)
Loads all subrecords (cmper2's) for a specific item (cmper1).
Definition finaleframework.cpp:14212
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:921
__FCCollectionNoInciDetail()
The constructor.
Definition ff_basecollection.h:925
Base class for "other" data without incis (inci always 0.)
Definition ff_basecollection.h:843
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:845
__FCNoInciOther * FindItemNo(CMPER cmper)
Returns the (first) item in the collection that has the indicated item number (CMPER).
Definition finaleframework.cpp:14198
Base class specially designed for collections of prefs classes.
Definition ff_basecollection.h:899
__FCCollectionPrefs()
The constructor.
Definition ff_basecollection.h:905
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:901
Base class for all collections that are streamable to XML.
Definition ff_basecollection.h:544
void ReadCollectionFromXML(tinyxml2::XMLElement *pParentNode, const char *pszNameString)
Reads the objects to the collection from the XML.
Definition ff_basecollection.h:578
void StoreCollectionToXML(tinyxml2::XMLElement *pParentNode, const char *pszNameString)
Stores the objects in the collection to the XML.
Definition ff_basecollection.h:557
virtual __FCBase * CreateElement()=0
If XML streaming of objects are enabled, override in all __FCCollection base classes.
Base class for "other" (ot_*) data with incis.
Definition ff_other.h:63
The base class for both browser and collection classes.
Definition ff_iterator.h:209
Base class for the "Other" (ot_*) Enigma structures that don't use the inci parameter.
Definition ff_other.h:231
A number collection of key offsets for playback of chord suffixes.
Definition ff_basecollection.h:1549
bool SaveAs(CMPER suffixno)
Saves the key offsets for the input ID. The current contents of the collection completely replace any...
Definition ff_basecollection.h:1591
CMPER GetChordSuffixID() const
Returns the suffix id of the collection, if loaded, or zero if not loaded.
Definition ff_basecollection.h:1601
bool Save()
Saves the key offsets for the previously loaded ID. The current contents of the collection completely...
Definition finaleframework.cpp:4098
FCChordSuffixKeyNumberOffsets()
The constructor.
Definition ff_basecollection.h:1559
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:1553
bool Load(CMPER suffixno)
Loads the key offsets for the input ID.
Definition finaleframework.cpp:4079
Very simple garbage collection for C++. Use the GC_Add method to add items.
Definition ff_basecollection.h:1503
__FCBase * GC_Add(__FCBase *pObject)
Returns the pointer to the object. Also, only adds non-NULL objects to the collection.
Definition ff_basecollection.h:1509
Class that encapsulate the entry metrics data.
Definition ff_base.h:4118
Class for document-independent font information.
Definition ff_base.h:1138
Class for iterator handlers.
Definition ff_iterator.h:26
Class that encapsulate a cell of note entries.
Definition ff_noteframe.h:3133
Class that encapsulate ALL the entry metrics data in a note entry cell, as well as the cell metrics....
Definition ff_basecollection.h:1463
FCNoteEntryCellMetrics()
The constructor.
Definition finaleframework.cpp:3993
bool Load(FCNoteEntryCell *pEntryCell)
Loads all the entry metrics and the cell metrics for the note entry cell.
Definition finaleframework.cpp:3998
FCEntryMetrics * GetItemAt(int index) const
Overridden method. Returns the item at the index.
Definition ff_basecollection.h:1491
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:1472
FCEntryMetrics * FindMetricsForEntry(FCNoteEntry *pEntry)
Returns the entry metrics object connected with a specific note entry.
Definition finaleframework.cpp:4058
Encapsulates a note entry from an owner class (for example FCNoteEntryCell, FCNoteEntryLayer) class.
Definition ff_noteframe.h:940
Collection class for FCNumber instances.
Definition ff_basecollection.h:1447
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:1449
Simple class to put numbers into collections.
Definition ff_base.h:4821
int GetInt() const
Returns the integer value version of the number.
Definition ff_base.h:4865
Simple collection class for FCNumber class objects.
Definition ff_basecollection.h:357
bool HasIntDuplicates()
Returns true if the numerical collection has integer duplicates.
Definition finaleframework.cpp:13945
void ClearInt(int intvalue)
Deletes all items in the collection that have a specific integer value.
Definition ff_basecollection.h:447
void SortNumerically(bool upwards)
Sorts the numbers in numerical order, upwards or downwards.
Definition finaleframework.cpp:13939
FCNumber * FindInt(int intvalue)
Returns the first object that contains the integer value.
Definition ff_basecollection.h:407
std::vector< double > GetFloatTable() const
Returns the floating point values as a vector of floating point values.
Definition ff_basecollection.h:520
void AddInt(int intvalue)
Appends an integer number to the collection.
Definition ff_basecollection.h:438
void CopyFrom(FCNumbers *pNumbers)
Copies all number objects from one collection to another. The old numbers are cleared.
Definition finaleframework.cpp:13904
void AddFloat(double afloat)
Appends an floating point number to the collection.
Definition ff_basecollection.h:474
FCNumber * AddUniqueInt(int intvalue)
Adds (appends) an integer number to the collection, but only if it doesn't already exist.
Definition ff_basecollection.h:425
FCNumbers()
The constructor.
Definition ff_basecollection.h:398
FCNumber * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_basecollection.h:404
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:392
void SetIntTable(const std::vector< int > &table)
Sets the integer values to match those of the input vector or Lua table.
Definition ff_basecollection.h:509
void ClearInts(FCNumbers *pNumbers)
Deletes all integers that are found in the supplied collection.
Definition ff_basecollection.h:461
std::vector< int > GetIntTable() const
Returns the integer values as a vector of integer values.
Definition ff_basecollection.h:498
void SetFloatTable(const std::vector< double > &table)
Sets the floating point values to match those of the input vector or Lua table.
Definition ff_basecollection.h:531
Class that encapsulates a range (start, length)
Definition ff_base.h:5570
Simple collection class for FCRange class objects.
Definition ff_basecollection.h:1525
FCRange * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_basecollection.h:1539
FCRanges()
The constructor.
Definition ff_basecollection.h:1533
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:1527
Class for storing a "key"+"value" pair of values.
Definition ff_base.h:3761
void SetValueString(FCString *pString)
Sets the "value" string.
Definition ff_base.h:3788
FCString * GetValueString()
Returns the "value" string.
Definition ff_base.h:3785
FCString * GetKeyString()
Returns the "key" string.
Definition ff_base.h:3782
Collection class for FCSettingsPair objects.
Definition ff_basecollection.h:946
void StoreBoolValue(FCString *pKeyString, bool boolvalue)
Stores a bool value to a settings pair in the collection.
Definition ff_basecollection.h:1060
FCSettingsPair * AddKeyValue(FCString *pKeyString, FCString *pValueString)
Adds or changes a value to the settings collection.
Definition ff_basecollection.h:998
bool RetrieveBoolValue(FCString *pKeyString, bool *pValue)
Gets a bool value from the settings pair and store it at the data location.
Definition ff_basecollection.h:1021
void StoreIntValue(FCString *pKeyString, int intvalue)
Stores an integer to a settings pair in the collection.
Definition ff_basecollection.h:1068
FCSettingsPair * FindKey(FCString *pKeyString)
Finds the pair that contains the key. The search is case insensitive.
Definition ff_basecollection.h:978
bool RetrieveIntValue(FCString *pKeyString, int *pValue, int min=-1, int max=-1)
Gets an integer value from the settings pair and store it at the data location.
Definition ff_basecollection.h:1044
FCSettingsPair * FindPrefixedKey(const char *pszPrefix, int indexnumber)
Finds the pair that contains the key, based on the index number. The search is case insensitive.
Definition ff_basecollection.h:957
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:948
Class that provides storage for text. This is to achieve platform-transparent text handling,...
Definition ff_base.h:1877
void ToLowerCase()
Transforms the string to lower case.
Definition finaleframework.cpp:2859
void TrimWhitespace()
Trims whitespace at both ends of the string.
Definition finaleframework.cpp:1543
const char * GetEOL() const
Returns the platform-specific end-of-line character(s) as a C-string.
Definition finaleframework.cpp:1704
void SetCString(const char *pszBuffer, int maxchars=-1)
Sets the string, using a C-string version of the string.
Definition finaleframework.cpp:1234
bool IsEnigmaFont() const
Returns true if the string is an Enigma font command.
Definition finaleframework.cpp:1601
int GetInteger(int index=0) const
Converts the decimal string contents to an integer value.
Definition finaleframework.cpp:2056
void AppendString(const FCString *pOtherString)
Appends another string object to the string.
Definition finaleframework.cpp:1849
void SetInteger(int i)
Sets the string to an integer.
Definition finaleframework.cpp:2141
int CompareNoCase(const FCString &value) const
Case insensitive version of Compare.
Definition ff_base.h:2411
void SetString(const FCString *pString)
Copies a string.
Definition finaleframework.cpp:2398
bool TruncateAt(int newlength)
Truncates the string at the indicated position.
Definition ff_base.h:3670
void AppendCString(const char *pOtherString)
Appends a C-style string to the string.
Definition finaleframework.cpp:1861
bool IsEmpty() const
Returns true if the string is empty.
Definition ff_base.h:3179
int FindFirst(const char *pszSubStr) const
Returns the 0-based index for the first occurence of the substring.
Definition ff_base.h:2778
bool IsEqualString(const FCString &value) const
Returns true if the string is identical with the parameter. (FCString string version....
Definition ff_base.h:3142
bool IsEqual(const char *pszString) const
Returns true if the string is identical with the parameter.
Definition ff_base.h:3135
bool DeleteCharactersAt(int index, int count)
Removes a range of characters, starting at the 0-based index position.
Definition finaleframework.cpp:1491
void AppendInteger(int value)
Appends an integer value (decimal) to the string.
Definition finaleframework.cpp:1877
Collection class for FCString class objects.
Definition ff_basecollection.h:1085
void ClearEmptyStrings()
Removes all empty strings and all NULL pointers from the collection. The objects are disposed from th...
Definition ff_basecollection.h:1365
bool ContainEnigmaFont()
Returns true if any of the strings in the collection is an Enigma font command.
Definition ff_basecollection.h:1146
FCString * CreateString(const char *pszSeparator=NULL)
Creates a FCString object by concatenating all strings in the collection into one.
Definition ff_basecollection.h:1201
void TrimWhitespaceAll()
Trims leading and trailing whitespace in all the collection's strings.
Definition ff_basecollection.h:1350
FCString * FindNocase(FCString *pFindString)
Finds the string contents in the collection, in a case-insensitive search.
Definition ff_basecollection.h:1287
FCString * CreateRowsString(bool bNewLineAtEnd)
Creates a FCString object based on the string collection "rows". It's created by concatenating all st...
Definition ff_basecollection.h:1238
bool AddCopy(const FCString *pString)
Adds a copy of the FCString object to the string collection.
Definition ff_basecollection.h:1103
void ParseEnigmaFontInfo(int index, FCFontInfo *pFontInfo)
Browses the font info available in the strings from the start of the file up until (but not including...
Definition finaleframework.cpp:14233
bool LoadSymbolFonts()
Loads the user's macsymbolfonts.txt file into the string collection. The string collection will be so...
Definition finaleframework.cpp:14270
FCString * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_basecollection.h:1118
void SortAlphabetical()
Makes a "non-intelligent" simple alphabetical sort of the string collection.
Definition finaleframework.cpp:14263
bool LoadSubfolders(FCString *pFolderString)
Gets all subfolder names in a specific folder.
Definition finaleframework.cpp:14351
void CopyFromStringTable(const std::vector< std::string > &strings)
Replaces the contents of the collection from the input vector of std::string.
Definition ff_basecollection.h:1335
FCSettingsPairs * CreateSettingsPairs()
Create settings pairs based on the strings in the collection. The created collection must be deleted ...
Definition ff_basecollection.h:1170
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_basecollection.h:1112
void InsertStringAt(const FCString *pNewString, int index)
Inserts FCString at given index.
Definition ff_basecollection.h:1133
bool LoadSystemFontNames()
Gets all the font names on the system.
Definition finaleframework.cpp:14414
void CopyFrom(FCStrings *pSourceStrings)
Recreates a string collection. Any existing strings in the collection are cleared....
Definition ff_basecollection.h:1309
bool LoadFolderFiles(FCString *pFolderString)
Gets all files names in a specific folder.
Definition finaleframework.cpp:14300
FCStrings()
The constructor.
Definition ff_basecollection.h:1091
FCString * Find(FCString *pFindString)
Finds the exact string content in the collection.
Definition ff_basecollection.h:1266