Finale PDK Framework  0.54
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 {
20 public:
21  virtual const char* ClassName() { return "__FCBrowserBase"; }
22 
24 };
25 
26 
32 {
33 protected:
35  virtual __FCNoInciOther* CreateAnObject() = 0;
36 public:
37  virtual const char* ClassName() { return "__FCBrowserBaseData"; }
38 
50  virtual __FCBase* FindFirst(FCIteratorHandler* pIterator);
51 
52  virtual int ForEach(FCIteratorHandler* pIterator);
53 };
54 
55 
62 {
63 protected:
66  __FCNoInciOther* LoadAnElement(CMPER itemno);
67 
68 public:
69  virtual const char* ClassName() { return "__FCBrowserNoInciOther"; }
70 
75  int ToEndFrom(CMPER elementstart, FCIteratorHandler* pHandler);
76 
82  int GetCount();
83 };
84 
85 class FCCell;
86 
90 {
91 protected:
97  virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion) = 0;
98 public:
101  int ForEachInRegion(FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
102  virtual int ForEach(FCIteratorHandler* pIHandler);
103 };
104 
105 #ifdef PDK_FRAMEWORK_ENTRIES
106 
116 {
117  bool _deleteallnullentries;
118  int _loadlayermode;
119 
121  virtual __FCBase* FindFirst(FCIteratorHandler* pIterator) { return NULL; }
122 protected:
123  virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
124 
125 public:
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(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
184 
190 {
192  virtual __FCBase* FindFirst(FCIteratorHandler* pIterator) { return NULL; }
193  protected:
197  virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
198  public:
200 };
201 #endif // #ifdef PDK_FRAMEWORK_ENTRIES
202 
203 
204 #ifdef PDK_FRAMEWORK_LAYOUT
205 class FCStaffSystems;
206 #endif
207 
211 {
212 #ifdef PDK_FRAMEWORK_LAYOUT
214 #else
215  void*
216 #endif
217  _pStaffSystems;
218 
220  virtual __FCBase* FindFirst(FCIteratorHandler* pIterator) { return NULL; }
221  protected:
222 #ifdef PDK_FRAMEWORK_LAYOUT
223 
226  virtual bool RegionIterateCellHandler(FCCell* pCell, FCIteratorHandler* pIHandler, FCMusicRegion *pRegion);
227 #endif
228  public:
235 #ifdef PDK_FRAMEWORK_LAYOUT
237 #else
238  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(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
268 
276 {
277 protected:
279  virtual __FCNoInciOther* CreateAnObject() { return new FCPage(); }
280 
281 public:
282  virtual const char* ClassName() { return "FCBrowserPages"; }
283 
285 };
286 
295 {
296 protected:
298  virtual __FCNoInciOther* CreateAnObject() { return new FCStaffSystem(); }
299 
300 public:
301  virtual const char* ClassName() { return "FCBrowserStaffSystems"; }
302 
304 };
305 #endif // PDK_FRAMEWORK_LAYOUT
306 
307 
314 {
315 protected:
317  virtual __FCNoInciOther* CreateAnObject() { return new FCMeasure(); }
318 
319 public:
320  virtual const char* ClassName() { return "FCBrowserMeasures"; }
321 
323 };
324 
325 
332 {
333 protected:
335  virtual __FCNoInciOther* CreateAnObject() { return new FCStaff(); }
336 
337 public:
338  virtual const char* ClassName() { return "FCBrowserStaves"; }
339 
341 };
342 
343 
344 
351 {
352 protected:
354  virtual __FCNoInciOther* CreateAnObject() { return new FCArticulationDef(); }
355 
356 public:
357  virtual const char* ClassName() { return "FCBrowserArticulationDefs"; }
358 
360 };
361 
362 
363 
364 
365 #endif /* FF_BROWSER_H */
366 
virtual bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)
Loads tuplet data for the cell within the region and sends it to the iterator handler.
Definition: finaleframework.cpp:14445
int ToEndFrom(CMPER elementstart, FCIteratorHandler *pHandler)
Definition: finaleframework.cpp:14270
Browser class for continous MIDI data (of the FCMidiExpression class).
Definition: ff_browser.h:169
Base class for data that's by nature accessed by music regions.
Definition: ff_browser.h:89
virtual __FCNoInciOther * CreateAnObject()
Creates an empty FCStaffSystem object.
Definition: ff_browser.h:298
Browser class for FCStaffSystem class objects.
Definition: ff_browser.h:294
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:14329
Browser class for continous MIDI data (of the FCMidiExpression class).
Definition: ff_browser.h:189
virtual __FCNoInciOther * CreateAnObject()
Creates an empty FCStaff object.
Definition: ff_browser.h:335
The class for an articulation definition. On Finale 2012 and above, this class supports the Unicode c...
Definition: ff_other.h:11535
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:282
virtual __FCNoInciOther * CreateAnObject()
Creates an empty FCMeasure object.
Definition: ff_browser.h:317
Browser class for FCMeasure class objects.
Definition: ff_browser.h:313
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:21
bool GetDeleteAllNullEntries()
Returns the state showing if note entries should be deleted at save.
Definition: ff_browser.h:136
Browser class for note entries.
Definition: ff_browser.h:115
void SetDeleteAllNullEntries(bool value)
Sets if note entries should be deleted at save.
Definition: ff_browser.h:133
Base class for the "Other" (ot_*) Enigma structures that don't use the inci parameter.
Definition: ff_other.h:212
int ForEachInRegion(FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)
Iterates through all elements in the region.
Definition: finaleframework.cpp:14307
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:14423
Base class for all browser classes of data elements.
Definition: ff_browser.h:31
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:37
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:14401
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:301
virtual __FCNoInciOther * CreateAnObject()
Creates an empty FCPage object.
Definition: ff_browser.h:279
The class for a staff system on a page.
Definition: ff_other.h:3548
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:69
The class that reference a cell (one measure on one staff) in the musical "grid". ...
Definition: ff_cell.h:17
int GetLoadLayerMode()
Returns the load layer mode that will be used.
Definition: ff_browser.h:142
Base class for the Finale Framework classes.
Definition: ff_base.h:47
The class for a measure (the full vertical measure stack) in the document. It maps the Measure Attrib...
Definition: ff_other.h:4052
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:14473
Browser class for chords (of the FCChord class).
Definition: ff_browser.h:253
virtual int ForEach(FCIteratorHandler *pIterator)
Processes one element after another and iterates from the start to the end of the available data...
Definition: finaleframework.cpp:14220
The class for a staff in the score. It is also a base class for staff styles.
Definition: ff_other.h:10912
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:320
FCBrowserNoteEntries()
The constructor.
Definition: ff_browser.h:127
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:357
virtual bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)
For internal use only.
Definition: finaleframework.cpp:14341
virtual bool RegionIterateCellHandler(FCCell *pCell, FCIteratorHandler *pIHandler, FCMusicRegion *pRegion)=0
For internal use only.
A browser class for "other" elements with no incis.
Definition: ff_browser.h:61
Browser class for FCPage class objects.
Definition: ff_browser.h:275
virtual __FCBase * FindFirst(FCIteratorHandler *pIterator)
Processes one element after another and returns the object that's the first match. The returned object needs to be deleted after use.
Definition: finaleframework.cpp:14239
Class for iterator handlers.
Definition: ff_iterator.h:25
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_browser.h:338
virtual __FCNoInciOther * CreateAnObject()=0
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition: ff_region.h:24
Browser class for FCArticulationDef class objects.
Definition: ff_browser.h:350
FCBrowserExpressions(FCStaffSystems *pSystems=NULL)
The constructor.
Definition: ff_browser.h:234
The class representing a physical page in Finale.
Definition: ff_other.h:3240
Browser class for FCStaff class objects.
Definition: ff_browser.h:331
void SetLoadLayerMode(int value)
Sets the layer mode that will be used when the entries are loaded.
Definition: ff_browser.h:154
int GetCount()
Method to get the number of elements without loading all data into a collection.
Definition: finaleframework.cpp:14291
Base class for all browser classes. A browser is a bit like collection, but it doesn't store any data...
Definition: ff_browser.h:18
The base class for both browser and collection classes.
Definition: ff_iterator.h:208
virtual __FCNoInciOther * CreateAnObject()
Creates an empty FCArticulationDef object.
Definition: ff_browser.h:354
__FCNoInciOther * LoadAnElement(CMPER itemno)
Definition: finaleframework.cpp:14262
Collection class for FCStaffSystem class objects. A collection typically contains all staff systems f...
Definition: ff_othercollection.h:127
Browser class for expressions (of the FCExpression class).
Definition: ff_browser.h:210