Add collectionview layout subclasses

This commit is contained in:
Gregory John Casamento 2021-05-30 04:53:03 -04:00
parent 4b13050e70
commit aee03ee7c4
12 changed files with 395 additions and 5 deletions

View file

@ -0,0 +1,47 @@
/* Definition of class NSCollectionViewCompositionalLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#ifndef _NSCollectionViewCompositionalLayout_h_GNUSTEP_GUI_INCLUDE
#define _NSCollectionViewCompositionalLayout_h_GNUSTEP_GUI_INCLUDE
#import <AppKit/NSCollectionViewLayout.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
@interface NSCollectionViewCompositionalLayout : NSCollectionViewLayout
@end
#if defined(__cplusplus)
}
#endif
#endif /* GS_API_MACOSX */
#endif /* _NSCollectionViewCompositionalLayout_h_GNUSTEP_GUI_INCLUDE */

View file

@ -0,0 +1,47 @@
/* Definition of class NSCollectionViewFlowLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#ifndef _NSCollectionViewFlowLayout_h_GNUSTEP_GUI_INCLUDE
#define _NSCollectionViewFlowLayout_h_GNUSTEP_GUI_INCLUDE
#import <AppKit/NSCollectionViewLayout.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
@interface NSCollectionViewFlowLayout : NSCollectionViewLayout
@end
#if defined(__cplusplus)
}
#endif
#endif /* GS_API_MACOSX */
#endif /* _NSCollectionViewFlowLayout_h_GNUSTEP_GUI_INCLUDE */

View file

@ -0,0 +1,47 @@
/* Definition of class NSCollectionViewGridLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#ifndef _NSCollectionViewGridLayout_h_GNUSTEP_GUI_INCLUDE
#define _NSCollectionViewGridLayout_h_GNUSTEP_GUI_INCLUDE
#import <AppKit/NSCollectionViewLayout.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
@interface NSCollectionViewGridLayout : NSCollectionViewLayout
@end
#if defined(__cplusplus)
}
#endif
#endif /* GS_API_MACOSX */
#endif /* _NSCollectionViewGridLayout_h_GNUSTEP_GUI_INCLUDE */

View file

@ -0,0 +1,47 @@
/* Interface of class NSCollectionViewLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#ifndef _NSCollectionViewLayout_h_GNUSTEP_GUI_INCLUDE
#define _NSCollectionViewLayout_h_GNUSTEP_GUI_INCLUDE
#import <Foundation/NSObject.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_11, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
@interface NSCollectionViewLayout : NSObject
@end
#if defined(__cplusplus)
}
#endif
#endif /* GS_API_MACOSX */
#endif /* _NSCollectionViewLayout_h_GNUSTEP_GUI_INCLUDE */

View file

@ -0,0 +1,47 @@
/* Definition of class NSCollectionViewTransitionLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#ifndef _NSCollectionViewTransitionLayout_h_GNUSTEP_GUI_INCLUDE
#define _NSCollectionViewTransitionLayout_h_GNUSTEP_GUI_INCLUDE
#import <AppKit/NSCollectionViewLayout.h>
#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST)
#if defined(__cplusplus)
extern "C" {
#endif
@interface NSCollectionViewTransitionLayout : NSCollectionViewLayout
@end
#if defined(__cplusplus)
}
#endif
#endif /* GS_API_MACOSX */
#endif /* _NSCollectionViewTransitionLayout_h_GNUSTEP_GUI_INCLUDE */

View file

@ -1,11 +1,6 @@
MISSING HEADERS ( * = difficult, - = quick, + = placeholder, x = won't do )
---
> NSATSTypesetter.h +
> NSCollectionViewCompositionalLayout.h *
> NSCollectionViewFlowLayout.h *
> NSCollectionViewGridLayout.h *
> NSCollectionViewLayout.h *
> NSCollectionViewTransitionLayout.h *
> NSDictionaryController.h -
> NSDiffableDataSource.h *
> NSDraggingItem.h -

View file

@ -76,6 +76,11 @@ NSClipView.m \
NSClickGestureRecognizer.m \
NSCollectionView.m \
NSCollectionViewItem.m \
NSCollectionViewLayout.m \
NSCollectionViewCompositionalLayout.m \
NSCollectionViewFlowLayout.m \
NSCollectionViewGridLayout.m \
NSCollectionViewTransitionLayout.m \
NSColor.m \
NSColorList.m \
NSColorPanel.m \
@ -402,6 +407,11 @@ NSClickGestureRecognizer.h \
NSClipView.h \
NSCollectionView.h \
NSCollectionViewItem.h \
NSCollectionViewLayout.h \
NSCollectionViewCompositionalLayout.h \
NSCollectionViewFlowLayout.h \
NSCollectionViewGridLayout.h \
NSCollectionViewTransitionLayout.h \
NSColor.h \
NSColorList.h \
NSColorPanel.h \

View file

@ -0,0 +1,30 @@
/* Implementation of class NSCollectionViewCompositionalLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#import "AppKit/NSCollectionViewCompositionalLayout.h"
@implementation NSCollectionViewCompositionalLayout
@end

View file

@ -0,0 +1,30 @@
/* Implementation of class NSCollectionViewFlowLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#import "AppKit/NSCollectionViewFlowLayout.h"
@implementation NSCollectionViewFlowLayout
@end

View file

@ -0,0 +1,30 @@
/* Implementation of class NSCollectionViewGridLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#import "AppKit/NSCollectionViewGridLayout.h"
@implementation NSCollectionViewGridLayout
@end

View file

@ -0,0 +1,30 @@
/* Implementation of class NSCollectionViewLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#import "AppKit/NSCollectionViewLayout.h"
@implementation NSCollectionViewLayout
@end

View file

@ -0,0 +1,30 @@
/* Implementation of class NSCollectionViewTransitionLayout
Copyright (C) 2021 Free Software Foundation, Inc.
By: Gregory John Casamento
Date: 30-05-2021
This file is part of the GNUstep Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
*/
#import "AppKit/NSCollectionViewTransitionLayout.h"
@implementation NSCollectionViewTransitionLayout
@end