mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 06:51:44 +00:00
Implement selectAll:, deselectAll:, selectItemsAtIndex:..., deselectItemsAtIndexPaths:
This commit is contained in:
parent
e9e1615cdb
commit
a5b878c690
1 changed files with 41 additions and 5 deletions
|
@ -1763,14 +1763,10 @@ static NSString *placeholderItem = nil;
|
|||
|
||||
- (NSInteger) numberOfItemsInSection: (NSInteger)section
|
||||
{
|
||||
NSInteger n = 0;
|
||||
|
||||
// Since this is a required method by the delegate we can assume it's presence
|
||||
// if it is not there, tests on macOS indicate that an unrecognized selector
|
||||
// exception is thrown.
|
||||
n = [_dataSource collectionView: self numberOfItemsInSection: section];
|
||||
|
||||
return n;
|
||||
return [_dataSource collectionView: self numberOfItemsInSection: section];
|
||||
}
|
||||
|
||||
/* Inserting, Moving and Deleting Items */
|
||||
|
@ -1823,19 +1819,59 @@ static NSString *placeholderItem = nil;
|
|||
|
||||
- (IBAction) selectAll: (id)sender
|
||||
{
|
||||
NSEnumerator *en = [_itemsToIndexPaths keyEnumerator];
|
||||
id obj = nil;
|
||||
|
||||
while((obj = [en nextObject]) != nil)
|
||||
{
|
||||
if ([obj respondsToSelector: @selector(setSelected:)])
|
||||
{
|
||||
[obj setSelected: YES];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) deselectAll: (id)sender
|
||||
{
|
||||
NSEnumerator *en = [_itemsToIndexPaths keyEnumerator];
|
||||
id obj = nil;
|
||||
|
||||
while((obj = [en nextObject]) != nil)
|
||||
{
|
||||
if ([obj respondsToSelector: @selector(setSelected:)])
|
||||
{
|
||||
[obj setSelected: NO];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) selectItemsAtIndexPaths: (NSSet *)indexPaths
|
||||
scrollPosition: (NSCollectionViewScrollPosition)scrollPosition
|
||||
{
|
||||
FOR_IN(NSIndexPath*,p,indexPaths)
|
||||
{
|
||||
id item = [_indexPathsToItems objectForKey: p];
|
||||
|
||||
if ([item respondsToSelector: @selector(setSelected:)])
|
||||
{
|
||||
[item setSelected: YES];
|
||||
}
|
||||
}
|
||||
END_FOR_IN(indexPaths);
|
||||
}
|
||||
|
||||
- (void) deselectItemsAtIndexPaths: (NSSet *)indexPaths
|
||||
{
|
||||
FOR_IN(NSIndexPath*,p,indexPaths)
|
||||
{
|
||||
id item = [_indexPathsToItems objectForKey: p];
|
||||
|
||||
if ([item respondsToSelector: @selector(setSelected:)])
|
||||
{
|
||||
[item setSelected: NO];
|
||||
}
|
||||
}
|
||||
END_FOR_IN(indexPaths);
|
||||
}
|
||||
|
||||
/* Getting Layout Information */
|
||||
|
|
Loading…
Reference in a new issue