</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="21"/>
- <integer value="4895"/>
- <integer value="915"/>
- <integer value="283"/>
- <integer value="29"/>
<integer value="1617"/>
<integer value="2770"/>
- <integer value="4722"/>
+ <integer value="29"/>
+ <integer value="21"/>
<integer value="2730"/>
<integer value="4596"/>
+ <integer value="283"/>
+ <integer value="4850"/>
+ <integer value="915"/>
+ <integer value="4722"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string key="NSReuseIdentifierKey">_NS:610</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="113847949">
- <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="841513812"/>
<string>4846.IBPluginDependency</string>
<string>4850.IBEditorWindowLastContentRect</string>
<string>4850.IBPluginDependency</string>
+ <string>4895.CustomClassName</string>
<string>4895.IBPluginDependency</string>
<string>4895.IBViewBoundsToFrameTransform</string>
+ <string>4896.CustomClassName</string>
<string>4896.IBPluginDependency</string>
<string>4896.IBViewBoundsToFrameTransform</string>
+ <string>4897.CustomClassName</string>
<string>4897.IBPluginDependency</string>
<string>4897.IBViewBoundsToFrameTransform</string>
+ <string>4898.CustomClassName</string>
<string>4898.IBPluginDependency</string>
<string>4898.IBViewBoundsToFrameTransform</string>
<string>4899.IBPluginDependency</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{363, 734}, {400, 22}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>VLCCustomWindowCloseButton</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBAAAAwXAAAA</bytes>
</object>
+ <string>VLCCustomWindowMinimizeButton</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABB4AAAwXAAAA</bytes>
</object>
+ <string>VLCCustomWindowZoomButton</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABCQAAAwXAAAA</bytes>
</object>
+ <string>VLCCustomWindowFullscreenButton</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDv4AAwYAAAA</bytes>
<string key="superclassName">NSView</string>
<reference key="sourceIdentifier" ref="386911354"/>
</object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCCustomWindowButtonPrototype</string>
+ <string key="superclassName">NSButton</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="672431580">
+ <string key="majorKey">IBDocumentRelativeSource</string>
+ <string key="minorKey">../../../../../modules/gui/macosx/MainWindowTitle.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCCustomWindowCloseButton</string>
+ <string key="superclassName">VLCCustomWindowButtonPrototype</string>
+ <reference key="sourceIdentifier" ref="672431580"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCCustomWindowFullscreenButton</string>
+ <string key="superclassName">VLCCustomWindowButtonPrototype</string>
+ <reference key="sourceIdentifier" ref="672431580"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCCustomWindowMinimizeButton</string>
+ <string key="superclassName">VLCCustomWindowButtonPrototype</string>
+ <reference key="sourceIdentifier" ref="672431580"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCCustomWindowZoomButton</string>
+ <string key="superclassName">VLCCustomWindowButtonPrototype</string>
+ <reference key="sourceIdentifier" ref="672431580"/>
+ </object>
<object class="IBPartialClassDescription">
<string key="className">VLCMainWindowSplitView</string>
<string key="superclassName">NSSplitView</string>
<reference key="sourceIdentifier" ref="386911354"/>
</object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCMainWindowTitleView</string>
+ <string key="superclassName">VLCThreePartImageView</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">buttonAction:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">buttonAction:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">buttonAction:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>o_fullscreen_btn</string>
+ <string>o_green_btn</string>
+ <string>o_red_btn</string>
+ <string>o_title_lbl</string>
+ <string>o_yellow_btn</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>o_fullscreen_btn</string>
+ <string>o_green_btn</string>
+ <string>o_red_btn</string>
+ <string>o_title_lbl</string>
+ <string>o_yellow_btn</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">o_fullscreen_btn</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">o_green_btn</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">o_red_btn</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">o_title_lbl</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">o_yellow_btn</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
+ <reference key="sourceIdentifier" ref="672431580"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCResizeControl</string>
+ <string key="superclassName">NSImageView</string>
+ <reference key="sourceIdentifier" ref="672431580"/>
+ </object>
<object class="IBPartialClassDescription">
<string key="className">VLCThreePartDropView</string>
<string key="superclassName">VLCThreePartImageView</string>
<string key="superclassName">NSTextField</string>
<reference key="sourceIdentifier" ref="386911354"/>
</object>
+ <object class="IBPartialClassDescription">
+ <string key="className">VLCWindowButtonCell</string>
+ <string key="superclassName">NSButtonCell</string>
+ <reference key="sourceIdentifier" ref="672431580"/>
+ </object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
[(VLCMainWindowTitleView *)[[self controlView] superview] setWindowButtonOver: NO];
}
+/* accessibility stuff */
+- (NSArray*)accessibilityAttributeNames {
+ NSArray *theAttributeNames = [super accessibilityAttributeNames];
+ id theControlView = [self controlView];
+ return ([theControlView respondsToSelector: @selector(extendedAccessibilityAttributeNames:)] ? [theControlView extendedAccessibilityAttributeNames: theAttributeNames] : theAttributeNames); // ask the cell's control view (i.e., the button) for additional attribute values
+}
+
+- (id)accessibilityAttributeValue: (NSString*)theAttributeName {
+ id theControlView = [self controlView];
+ if ([theControlView respondsToSelector: @selector(extendedAccessibilityAttributeValue:)]) {
+ id theValue = [theControlView extendedAccessibilityAttributeValue: theAttributeName];
+ if (theValue) {
+ return theValue; // if this is an extended attribute value we added, return that -- otherwise, fall back to super's implementation
+ }
+ }
+ return [super accessibilityAttributeValue: theAttributeName];
+}
+
+- (BOOL)accessibilityIsAttributeSettable: (NSString*)theAttributeName {
+ id theControlView = [self controlView];
+ if ([theControlView respondsToSelector: @selector(extendedAccessibilityIsAttributeSettable:)]) {
+ NSNumber *theValue = [theControlView extendedAccessibilityIsAttributeSettable: theAttributeName];
+ if (theValue) {
+ return [theValue boolValue]; // same basic strategy we use in -accessibilityAttributeValue:
+ }
+ }
+ return [super accessibilityIsAttributeSettable: theAttributeName];
+}
+
@end
}
@end
+
+/*****************************************************************************
+ * custom window buttons to support the accessibility stuff
+ *****************************************************************************/
+
+@implementation VLCCustomWindowButtonPrototype
++ (Class)cellClass {
+ return [VLCWindowButtonCell class];
+}
+
+- (NSArray*)extendedAccessibilityAttributeNames: (NSArray*)theAttributeNames {
+ return ([theAttributeNames containsObject: NSAccessibilitySubroleAttribute] ? theAttributeNames : [theAttributeNames arrayByAddingObject: NSAccessibilitySubroleAttribute]); // run-of-the-mill button cells don't usually have a Subrole attribute, so we add that attribute
+}
+
+- (id)extendedAccessibilityAttributeValue: (NSString*)theAttributeName {
+ return nil;
+}
+
+- (NSNumber*)extendedAccessibilityIsAttributeSettable: (NSString*)theAttributeName {
+ return ([theAttributeName isEqualToString: NSAccessibilitySubroleAttribute] ? [NSNumber numberWithBool: NO] : nil); // make the Subrole attribute we added non-settable
+}
+
+- (void)accessibilityPerformAction: (NSString*)theActionName {
+ if ([theActionName isEqualToString: NSAccessibilityPressAction]) {
+ if ([self isEnabled]) {
+ [self performClick: nil];
+ }
+ } else {
+ [super accessibilityPerformAction: theActionName];
+ }
+}
+
+@end
+
+@implementation VLCCustomWindowCloseButton
+- (id)extendedAccessibilityAttributeValue: (NSString*)theAttributeName {
+ return ([theAttributeName isEqualToString: NSAccessibilitySubroleAttribute] ? NSAccessibilityCloseButtonAttribute : nil);
+}
+
+@end
+
+
+@implementation VLCCustomWindowMinimizeButton
+- (id)extendedAccessibilityAttributeValue: (NSString*)theAttributeName {
+ return ([theAttributeName isEqualToString: NSAccessibilitySubroleAttribute] ? NSAccessibilityMinimizeButtonAttribute : nil);
+}
+
+@end
+
+
+@implementation VLCCustomWindowZoomButton
+- (id)extendedAccessibilityAttributeValue: (NSString*)theAttributeName {
+ return ([theAttributeName isEqualToString: NSAccessibilitySubroleAttribute] ? NSAccessibilityZoomButtonAttribute : nil);
+}
+
+@end
+
+@implementation VLCCustomWindowFullscreenButton
+- (id)extendedAccessibilityAttributeValue: (NSString*)theAttributeName {
+ return ([theAttributeName isEqualToString: NSAccessibilitySubroleAttribute] ? NSAccessibilityFullScreenButtonAttribute : nil);
+}
+
+@end