CatNiP prefinal
Sähköinen nuottikirja, HY-TKTKL-OHTUPROJ KESÄ11
IMSLPDelegateDataSource Class Reference

Delegate and datasource for CatNipViewController's tableviews' when LIBRARYTYPE == IMSLP. More...

#import <IMSLPDelegateDataSource.h>

Collaboration diagram for IMSLPDelegateDataSource:

List of all members.

Public Member Functions

(UITableViewCell *) - cellForRowAtLeftTable:
 creates cell for master.libraryTableViewLeft
(UITableViewCell *) - cellForRowAtRightTable:
 creates cell for master.libraryTableViewRight
(void) - changeLibraryTypeToIMSLP
 sets master's tableviews' delegates and datasources to this and reloads their data.
(void) - didSelectRowAtLeftTable:
 libraryTableViewLeft's implementation of tableView:didSelectRowAtIndexPath:.
(void) - didSelectRowAtRightTable:
 libraryTableViewRight's implementation of tableView:didSelectRowAtIndexPath:.
(id) - initWithMaster:
 Basic init with master controller set.
(NSInteger) - numberOfSectionsInTableView:
 UITableViewDataSource protocol function's dummy implementation.
(BOOL) - tableView:canEditRowAtIndexPath:
 UITableViewDataSource function's implementation.
(BOOL) - tableView:canMoveRowAtIndexPath:
 UITableViewDataSource function's implementation.
(UITableViewCell *) - tableView:cellForRowAtIndexPath:
 Mandatory UITableViewDataSource function's implementation.
(void) - tableView:commitEditingStyle:forRowAtIndexPath:
 UITableViewDataSource function's implementation.
(void) - tableView:didSelectRowAtIndexPath:
 UITableViewDelegate protocol function's implementation.
(CGFloat) - tableView:heightForFooterInSection:
 UITableViewDelegate protocol function's implementation.
(CGFloat) - tableView:heightForHeaderInSection:
 UITableViewDelegate protocol function's implementation.
(CGFloat) - tableView:heightForRowAtIndexPath:
 UITableViewDelegate protocol function's implementation.
(void) - tableView:moveRowAtIndexPath:toIndexPath:
 UITableViewDataSource function's implementation.
(NSInteger) - tableView:numberOfRowsInSection:
 Mandatory UITableViewDataSource protocol function's implementation.
(UIView *) - tableView:viewForFooterInSection:
 UITableViewDelegate protocol function's implementation.
(UIView *) - tableView:viewForHeaderInSection:
 UITableViewDelegate protocol function's implementation.

Protected Attributes

CatNiPViewControllermaster

Properties

NSMutableArray * composers
NSMutableArray * compositions
IBOutlet CatNiPViewControllermaster

Detailed Description

Delegate and datasource for CatNipViewController's tableviews' when LIBRARYTYPE == IMSLP.

All composers are downloaded when application launches and compositions of spesific composer and scores of spesific composition are downloaded when user select's so.

API up to date 28.6.2011

Definition at line 16 of file IMSLPDelegateDataSource.h.


Member Function Documentation

- (UITableViewCell *) cellForRowAtLeftTable: (NSIndexPath *)  indexPath

creates cell for master.libraryTableViewLeft

Creates standard cell for application and assigns cell.textLabel.text = [composers objectAtIndex:[indexPath row]].

Parameters:
cellForRowAtLeftTableindexPath for cell to be created in left table
Returns:
UITableViewCell for given parametres

Definition at line 94 of file IMSLPDelegateDataSource.m.

Here is the caller graph for this function:

- (UITableViewCell *) cellForRowAtRightTable: (NSIndexPath *)  indexPath

creates cell for master.libraryTableViewRight

Creates standard cell for application and assigns cell.textLabel.text = [compositions objectAtIndex:[indexPath row]].

Parameters:
cellForRowAtRightTablefor cell to be created in right table
Returns:
UITableViewCell for given parametres

Definition at line 110 of file IMSLPDelegateDataSource.m.

Here is the caller graph for this function:

- (void) changeLibraryTypeToIMSLP

sets master's tableviews' delegates and datasources to this and reloads their data.

Definition at line 300 of file IMSLPDelegateDataSource.m.

References composers.

- (void) didSelectRowAtLeftTable: (NSIndexPath *)  indexPath

libraryTableViewLeft's implementation of tableView:didSelectRowAtIndexPath:.

Shows libraryViewRight if hidden and reloads it's data.

Parameters:
didSelectRowAtLeftTablechoosing the left library table

Definition at line 205 of file IMSLPDelegateDataSource.m.

References master, IMSLPQueryHelper::readIMSLPCategory:reportTo:withMethod:, and CatNiPViewController::showViewWithAnimation:.

Here is the call graph for this function:

Here is the caller graph for this function:

- (void) didSelectRowAtRightTable: (NSIndexPath *)  indexPath

libraryTableViewRight's implementation of tableView:didSelectRowAtIndexPath:.

Downloads information about all scores associated with this composition from IMSLP and shows them in scorepopover when downloading is finished.

Parameters:
didSelectRowAtRightTablelocation of the new selected row in libraryTableViewRight

Definition at line 222 of file IMSLPDelegateDataSource.m.

References IMSLPQueryHelper::readIMSLPPage:composerName:reportTo:withMethod:.

Here is the call graph for this function:

Here is the caller graph for this function:

- (id) initWithMaster: (CatNiPViewController *)  m

Basic init with master controller set.

Definition at line 24 of file IMSLPDelegateDataSource.m.

- (NSInteger) numberOfSectionsInTableView: (UITableView *)  tableView

UITableViewDataSource protocol function's dummy implementation.

Check framework's API for details.

Parameters:
numberOfSectionsInTableView
Returns:
value 1 cause each tableView has one section

Definition at line 49 of file IMSLPDelegateDataSource.m.

- (BOOL) tableView: (UITableView *)  tableView
canEditRowAtIndexPath: (NSIndexPath *)  indexPath 

UITableViewDataSource function's implementation.

dummy implementation. Check framework's API if you want to add functionality in here.

Returns:
NO;

Definition at line 144 of file IMSLPDelegateDataSource.m.

- (BOOL) tableView: (UITableView *)  tableView
canMoveRowAtIndexPath: (NSIndexPath *)  indexPath 

UITableViewDataSource function's implementation.

dummy implementation. Check framework's API if you want to add functionality in here.

Returns:
NO;

Definition at line 133 of file IMSLPDelegateDataSource.m.

- (UITableViewCell *) tableView: (UITableView *)  tableView
cellForRowAtIndexPath: (NSIndexPath *)  indexPath 

Mandatory UITableViewDataSource function's implementation.

Calls proper UITableView's tableView:cellForRowAtIndexPath for which the cell is needed.

Parameters:
tableViewlibraryTableViewLeft or libraryTableViewRight
cellForRowAtIndexPathindexPath for cell to be created in tableView
Returns:
UITableViewCell for given parametres

Definition at line 78 of file IMSLPDelegateDataSource.m.

References cellForRowAtLeftTable:, cellForRowAtRightTable:, CatNiPViewController::libraryTableViewLeft, CatNiPViewController::libraryTableViewRight, and master.

Here is the call graph for this function:

- (void) tableView: (UITableView *)  tableView
commitEditingStyle: (UITableViewCellEditingStyle)  editingStyle
forRowAtIndexPath: (NSIndexPath *)  indexPath 

UITableViewDataSource function's implementation.

dummy implementation. Check framework's API if you want to add functionality in here.

Definition at line 153 of file IMSLPDelegateDataSource.m.

- (void) tableView: (UITableView *)  tableView
didSelectRowAtIndexPath: (NSIndexPath *)  indexPath 

UITableViewDelegate protocol function's implementation.

Calls spesified tableView's handler to determine behaviour. Check framework's API for details.

Parameters:
tableViewobject informing the delegate about the new row selection.
didSelectRowAtIndexPathlocation of the new selected row in tableView

Definition at line 193 of file IMSLPDelegateDataSource.m.

References didSelectRowAtLeftTable:, didSelectRowAtRightTable:, CatNiPViewController::libraryTableViewLeft, CatNiPViewController::libraryTableViewRight, and master.

Here is the call graph for this function:

- (CGFloat) tableView: (UITableView *)  tableView
heightForFooterInSection: (NSInteger)  section 

UITableViewDelegate protocol function's implementation.

Add some padding in the footer of libraryTableViewLeft and libraryTableViewRight so that last elements will show for user even if the keyboard is visible.

Parameters:
tableViewlibraryTableViewLeft or libraryTableViewRight
heightForFooterInSectionCurrently only one section (0) in tableViews
Returns:
Footer's height as CGFloat type, currently 350.

Definition at line 243 of file IMSLPDelegateDataSource.m.

- (CGFloat) tableView: (UITableView *)  tableView
heightForHeaderInSection: (NSInteger)  section 

UITableViewDelegate protocol function's implementation.

All headers have height of 40.

Parameters:
tableView
heightForHeaderInSection
Returns:
40

Definition at line 272 of file IMSLPDelegateDataSource.m.

- (CGFloat) tableView: (UITableView *)  tableView
heightForRowAtIndexPath: (NSIndexPath *)  indexPath 

UITableViewDelegate protocol function's implementation.

Calculate table's row height dynamically based on cell.textLabel.text length. Height is calculated with following formula: (([cell.textLabel.text length] / 34) * 17) + 50

Parameters:
tableViewlibraryTableViewLeft or libraryTableViewRight for which the height is calculated
heightForRowAtIndexPaththe row for which the height is calculated
Returns:
row's height in CGFloat type

Definition at line 176 of file IMSLPDelegateDataSource.m.

References CatNiPViewController::libraryTableViewLeft, CatNiPViewController::libraryTableViewRight, and master.

- (void) tableView: (UITableView *)  tableView
moveRowAtIndexPath: (NSIndexPath *)  fromIndexPath
toIndexPath: (NSIndexPath *)  toIndexPath 

UITableViewDataSource function's implementation.

dummy implementation. Check framework's API if you want to add functionality in here.

Definition at line 122 of file IMSLPDelegateDataSource.m.

- (NSInteger) tableView: (UITableView *)  tableView
numberOfRowsInSection: (NSInteger)  section 

Mandatory UITableViewDataSource protocol function's implementation.

Check framework's API for details.

Parameters:
tableViewlibraryTableViewLeft or libraryTableViewRight
numberOfRowsInSection
Returns:
number of composers in a section if libraryTableViewLeft is chosen
number of compositions in a section if libraryTableViewRight is chosen

Definition at line 63 of file IMSLPDelegateDataSource.m.

References CatNiPViewController::libraryTableViewLeft, CatNiPViewController::libraryTableViewRight, and master.

- (UIView *) tableView: (UITableView *)  tableView
viewForFooterInSection: (NSInteger)  section 

UITableViewDelegate protocol function's implementation.

Add some padding in the footer of libraryTableViewLeft and libraryTableViewRight so that last elements will show for user even if the keyboard is visible.

Parameters:
tableViewlibraryTableViewLeft or libraryTableViewRight
viewForFooterInSectionCurrently only one section (0) in tableViews
Returns:
footer's view.

Definition at line 257 of file IMSLPDelegateDataSource.m.

- (UIView *) tableView: (UITableView *)  tableView
viewForHeaderInSection: (NSInteger)  section 

UITableViewDelegate protocol function's implementation.

Parameters:
tableViewlibraryTableViewLeft or libraryTableViewRight
viewForHeaderInSection0 or 1
Returns:
Header view for section in tableView

Definition at line 284 of file IMSLPDelegateDataSource.m.

References composers, CatNiPViewController::libraryTableViewLeft, CatNiPViewController::libraryTableViewRight, and master.


Member Data Documentation

- (CatNiPViewController*) master [protected]

Definition at line 21 of file IMSLPDelegateDataSource.h.


Property Documentation

- (NSMutableArray *) composers [read, write, copy]

Definition at line 19 of file IMSLPDelegateDataSource.h.

- (NSMutableArray *) compositions [read, write, copy]

Definition at line 20 of file IMSLPDelegateDataSource.h.

- (IBOutlet CatNiPViewController*) master [read, write, retain]

Definition at line 24 of file IMSLPDelegateDataSource.h.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Enumerations Enumerator Properties Defines