/* HBLanguagesSelection.h $ This file is part of the HandBrake source code. Homepage: . It may be used under the terms of the GNU General Public License. */ #import #import NS_ASSUME_NONNULL_BEGIN /** * A collection of KVO enabled model and controllers class * used to populate the languages selection table view */ /** * HBLang */ @interface HBLang : NSObject @property (nonatomic, readwrite) BOOL isSelected; @property (nonatomic, readonly) NSString *language; @property (nonatomic, readonly) NSString *iso639_2; @property (nonatomic, readwrite, weak, nullable) NSUndoManager *undo; - (instancetype)init NS_UNAVAILABLE; - (instancetype)initWithLanguage:(NSString *)value iso639_2code:(NSString *)code NS_DESIGNATED_INITIALIZER; @end; /** * HBLanguagesSelection */ @interface HBLanguagesSelection : NSObject @property (nonatomic, readonly) NSMutableArray *languagesArray; @property (nonatomic, readonly) NSArray *selectedLanguages; @property (nonatomic, readwrite, weak, nullable) NSUndoManager *undo; - (instancetype)initWithLanguages:(NSArray *)languages NS_DESIGNATED_INITIALIZER; @end /** * HBLanguageArrayController */ @interface HBLanguageArrayController : NSArrayController /** * Set whether to show only the selected languages or all languages */ @property (nonatomic, readwrite) BOOL showSelectedOnly; /** * Set whether the user can drag the table view's elements. */ @property (nonatomic, readwrite) BOOL isDragginEnabled; @property (unsafe_unretained) IBOutlet NSTableView *tableView; @end NS_ASSUME_NONNULL_END