//
//  GSNotifyingDictionary.h
//  GlyphsCore
//
//  Created by Georg Seifert on 29.09.14.
//  Copyright (c) 2014 schriftgestaltung.de. All rights reserved.
//

#import <GlyphsCore/GSContainerProtocol.h>

@class GSElement;

#ifndef GLYPHS_VIEWER
@interface GSNotifyingDictionary : NSObject
#else
@interface NSMutableDictionary (NotifyingDictionary)
#endif

@property (weak, nonatomic) GSContainer *parent;

- (instancetype)initWithDictionary:(NSDictionary *)dict;
- (void)setObject:(id)value forKey:(id)key;
- (void)setObject:(id)value forKeyedSubscript:(id)key;
- (void)removeObjectForKey:(id)key;
- (id)objectForKey:(id)key;
- (id)objectForKeyedSubscript:(id)key;
- (NSArray *)allKeys;
- (NSArray *)allValues;
- (NSUInteger)count;
- (NSDictionary *)dict;

@end
