Finale PDK Framework 0.77
Power Up Your Finale Music Software
Loading...
Searching...
No Matches
ff_browser.h
1/*
2 * File: ff_browser.h
3 * Author: Jari Williamsson
4 *
5 * Created on den 7 november 2010, 20:30
6 */
7
8#ifndef FF_BROWSER_H
9#define FF_BROWSER_H
10
19{
20public:
21 const char* ClassName() const override { return "__FCBrowserBase"; }
22
24};
25
26
32{
33protected:
36public:
37 const char* ClassName() const override { return "__FCBrowserBaseData"; }
38
50 __FCBase* FindFirst(FCIteratorHandler* pIterator) override;
51
52 int ForEach(FCIteratorHandler* pIterator) override;
53};
54
55
62{
63protected:
66 __FCNoInciOther* LoadAnElement(CMPER itemno);
67
68public:
69 const char* ClassName() const override { return "__FCBrowserNoInciOther"; }
70
75 int ToEndFrom(CMPER elementstart, FCIteratorHandler* pHandler);
76
82 int GetCount();
83};
84
85class FCCell;
86
90{
91protected:
97 virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion) = 0;
98public:
101 int ForEachInRegion(FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
102 virtual int ForEach(FCIteratorHandler* pIHandler);
103};
104
105#ifdef PDK_FRAMEWORK_ENTRIES
116{
117 bool _deleteallnullentries;
118 int _loadlayermode;
119
121 __FCBase* FindFirst([[maybe_unused]]FCIteratorHandler* pIterator) override { return NULL; }
122protected:
123 bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion) override;
124
125public:
128 _deleteallnullentries = false;
129 _loadlayermode = 0; // Load visible layers
130 }
131
133 void SetDeleteAllNullEntries(bool value) { _deleteallnullentries = value; }
134
136 bool GetDeleteAllNullEntries() { return _deleteallnullentries; }
137
142 int GetLoadLayerMode() { return _loadlayermode; }
143
154 void SetLoadLayerMode(int value)
155 {
156 if (value < -3) return;
157 if (value > FX_GetMaxLayers())
158 {
159 if (value & ~0xf00) return;
160 }
161 _loadlayermode = value;
162 }
163};
164#endif // #ifdef PDK_FRAMEWORK_ENTRIES
165
170{
172 virtual __FCBase* FindFirst([[maybe_unused]]FCIteratorHandler* pIterator) { return NULL; }
173 protected:
177 virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
178 public:
180};
181
182
183#ifdef PDK_FRAMEWORK_ENTRIES
190{
192 __FCBase* FindFirst([[maybe_unused]]FCIteratorHandler* pIterator) override { return NULL; }
193 protected:
197 bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion) override;
198 public:
200};
201#endif // #ifdef PDK_FRAMEWORK_ENTRIES
202
203
204#ifdef PDK_FRAMEWORK_LAYOUT
205class FCStaffSystems;
206#endif
207
211{
212#ifdef PDK_FRAMEWORK_LAYOUT
214#else
215 void*
216#endif
217 _pStaffSystems;
218
220 virtual __FCBase* FindFirst([[maybe_unused]]FCIteratorHandler* pIterator) { return NULL; }
221 protected:
222#ifdef PDK_FRAMEWORK_LAYOUT
226 virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
227#endif
228 public:
235#ifdef PDK_FRAMEWORK_LAYOUT
237#else
238 [[maybe_unused]]void*
239#endif
240 pSystems = NULL) : __FCBrowserRegionBase()
241 {
242#ifdef PDK_FRAMEWORK_LAYOUT
243 _pStaffSystems = pSystems;
244#else
245 _pStaffSystems = NULL;
246#endif
247 }
248};
249
250
254{
256 virtual __FCBase* FindFirst([[maybe_unused]]FCIteratorHandler* pIterator) { return NULL; }
257 protected:
261 virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
262 public:
264};
265
266
267#ifdef PDK_FRAMEWORK_LAYOUT
276{
277protected:
279 __FCNoInciOther* CreateAnObject() override { return new FCPage(); }
280
281public:
282 const char* ClassName() const override { return "FCBrowserPages"; }
283
285};
286
295{
296protected:
298 __FCNoInciOther* CreateAnObject() override { return new FCStaffSystem(); }
299
300public:
301 const char* ClassName() const override { return "FCBrowserStaffSystems"; }
302
304};
305#endif // PDK_FRAMEWORK_LAYOUT
306
307
314{
315protected:
317 __FCNoInciOther* CreateAnObject() override { return new FCMeasure(); }
318
319public:
320 const char* ClassName() const override { return "FCBrowserMeasures"; }
321
323};
324
325
332{
333protected:
335 __FCNoInciOther* CreateAnObject() override { return new FCStaff(); }
336
337public:
338 const char* ClassName() const override { return "FCBrowserStaves"; }
339
341};
342
343
344
351{
352protected:
355
356public:
357 const char* ClassName() const override { return "FCBrowserArticulationDefs"; }
358
360};
361
362
363
364
365#endif /* FF_BROWSER_H */
366
Base class for the Finale Framework classes.
Definition ff_base.h:71
Base class for all browser classes of data elements.
Definition ff_browser.h:32
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:37
__FCBase * FindFirst(FCIteratorHandler *pIterator) override
Processes one element after another and returns the object that's the first match....
Definition finaleframework.cpp:15285
virtual __FCNoInciOther * CreateAnObject()=0
int ForEach(FCIteratorHandler *pIterator) override
Processes one element after another and iterates from the start to the end of the available data.
Definition finaleframework.cpp:15266
Base class for all browser classes. A browser is a bit like collection, but it doesn't store any data...
Definition ff_browser.h:19
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:21
A browser class for "other" elements with no incis.
Definition ff_browser.h:62
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:69
int ToEndFrom(CMPER elementstart, FCIteratorHandler *pHandler)
Definition finaleframework.cpp:15316
__FCNoInciOther * LoadAnElement(CMPER itemno)
Definition finaleframework.cpp:15308
int GetCount()
Method to get the number of elements without loading all data into a collection.
Definition finaleframework.cpp:15337
Base class for data that's by nature accessed by music regions.
Definition ff_browser.h:90
int ForEachInRegion(FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)
Iterates through all elements in the region.
Definition finaleframework.cpp:15353
virtual int ForEach(FCIteratorHandler *pIHandler)
Processes one element after another and iterates from the start to the end of the available data.
Definition finaleframework.cpp:15375
virtual bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)=0
For internal use only.
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
The class for an articulation definition. On Finale 2012 and above, this class supports the Unicode c...
Definition ff_other.h:12287
Browser class for FCArticulationDef class objects.
Definition ff_browser.h:351
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:357
__FCNoInciOther * CreateAnObject() override
Creates an empty FCArticulationDef object.
Definition ff_browser.h:354
Browser class for chords (of the FCChord class).
Definition ff_browser.h:254
virtual bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)
Loads chords for the cell within the region and sends it to the iterator handler.
Definition finaleframework.cpp:15469
Browser class for expressions (of the FCExpression class).
Definition ff_browser.h:211
virtual bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)
Loads expressions for the cell within the region and sends it to the iterator handler.
Definition finaleframework.cpp:15519
FCBrowserExpressions(FCStaffSystems *pSystems=NULL)
The constructor.
Definition ff_browser.h:234
Browser class for FCMeasure class objects.
Definition ff_browser.h:314
__FCNoInciOther * CreateAnObject() override
Creates an empty FCMeasure object.
Definition ff_browser.h:317
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:320
Browser class for continous MIDI data (of the FCMidiExpression class).
Definition ff_browser.h:170
virtual bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)
Loads MIDI data for the cell within the region and sends it to the iterator handler.
Definition finaleframework.cpp:15447
Browser class for note entries.
Definition ff_browser.h:116
void SetLoadLayerMode(int value)
Sets the layer mode that will be used when the entries are loaded.
Definition ff_browser.h:154
bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion) override
For internal use only.
Definition finaleframework.cpp:15387
int GetLoadLayerMode()
Returns the load layer mode that will be used.
Definition ff_browser.h:142
void SetDeleteAllNullEntries(bool value)
Sets if note entries should be deleted at save.
Definition ff_browser.h:133
FCBrowserNoteEntries()
The constructor.
Definition ff_browser.h:127
bool GetDeleteAllNullEntries()
Returns the state showing if note entries should be deleted at save.
Definition ff_browser.h:136
Browser class for FCPage class objects.
Definition ff_browser.h:276
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:282
__FCNoInciOther * CreateAnObject() override
Creates an empty FCPage object.
Definition ff_browser.h:279
Browser class for FCStaffSystem class objects.
Definition ff_browser.h:295
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:301
__FCNoInciOther * CreateAnObject() override
Creates an empty FCStaffSystem object.
Definition ff_browser.h:298
Browser class for FCStaff class objects.
Definition ff_browser.h:332
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_browser.h:338
__FCNoInciOther * CreateAnObject() override
Creates an empty FCStaff object.
Definition ff_browser.h:335
Browser class for continous MIDI data (of the FCMidiExpression class).
Definition ff_browser.h:190
bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion) override
Loads tuplet data for the cell within the region and sends it to the iterator handler.
Definition finaleframework.cpp:15491
The class that reference a cell (one measure on one staff) in the musical "grid".
Definition ff_cell.h:18
Class for iterator handlers.
Definition ff_iterator.h:26
The class for a measure (the full vertical measure stack) in the document. It maps the Measure Attrib...
Definition ff_other.h:4221
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition ff_region.h:25
The class representing a physical page in Finale.
Definition ff_other.h:3398
The class for a staff in the score. It is also a base class for staff styles.
Definition ff_other.h:11503
The class for a staff system on a page.
Definition ff_other.h:3715
Collection class for FCStaffSystem class objects. A collection typically contains all staff systems f...
Definition ff_othercollection.h:164