Allow JSON export of configurations.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Fri, 1 Mar 2013 12:59:58 +0000 (13:59 +0100)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Fri, 1 Mar 2013 12:59:58 +0000 (13:59 +0100)
Config.h
Config.m
ConfigsController.h
ConfigsController.m
English.lproj/MainMenu.xib

index cc96f2a53cd21ca535cccebfb82391809ef62ca9..72f00844de29899ae28f51f20fb2e170af68d807 100644 (file)
--- a/Config.h
+++ b/Config.h
@@ -17,5 +17,6 @@
 - (id)initWithName:(NSString *)name;
 - (Target *)objectForKeyedSubscript:(JSAction *)action;
 - (void)setObject:(Target *)target forKeyedSubscript:(JSAction *)action;
+- (NSDictionary *)serialize;
 
 @end
index 5a83ed30461deed4a4bfd44d4b6a993140571fa5..a02c4ce55171ee20ca66a974162c8e733cfd1a08 100644 (file)
--- a/Config.m
+++ b/Config.m
     }
 }
 
+- (NSDictionary *)serialize {
+    NSMutableDictionary* cfgEntries = [[NSMutableDictionary alloc] initWithCapacity:_entries.count];
+    for (id key in _entries)
+        cfgEntries[key] = [_entries[key] serialize];
+    return @{ @"name": _name, @"entries": cfgEntries };
+}
+
 @end
index 9d6d9a1d5d1e5c3a1ead35fe32f878adcfae4014..fac19725b3abfa35c854bc4fe49751d8f71f90dd 100644 (file)
@@ -9,10 +9,11 @@
 @class Config;
 @class TargetController;
 
-@interface ConfigsController : NSObject <NSTableViewDataSource, NSTableViewDelegate> {
+@interface ConfigsController : NSObject <NSTableViewDataSource, NSTableViewDelegate, NSOpenSavePanelDelegate> {
     IBOutlet NSButton *removeButton;
     IBOutlet NSTableView *tableView;
     IBOutlet TargetController *targetController;
+    IBOutlet NSButton *exportButton;
 }
 
 @property (readonly) Config *currentConfig;
@@ -20,6 +21,7 @@
 
 - (IBAction)addPressed:(id)sender;
 - (IBAction)removePressed:(id)sender;
+- (IBAction)exportPressed:(id)sender;
 - (void)activateConfig:(Config *)config;
 - (void)activateConfigForProcess:(NSString *)processName;
 
index 8870fab6d0aa3715c7fe1a9fde681601b38e7759..17cf8fd6a3a9547a11733b514fb48ec8344ba6ae 100644 (file)
 
 - (NSDictionary *)dumpAll {
     NSMutableArray *ary = [[NSMutableArray alloc] initWithCapacity:_configs.count];
-    for (Config *config in _configs) {
-        NSMutableDictionary* cfgEntries = [[NSMutableDictionary alloc] initWithCapacity:config.entries.count];
-        for (id key in config.entries)
-            cfgEntries[key] = [config.entries[key] serialize];
-        [ary addObject:@{ @"name": config.name,
-                          @"entries": cfgEntries,
-                        }];
-    }
+    for (Config *config in _configs)
+        [ary addObject:[config serialize]];
     NSUInteger current = _currentConfig ? [_configs indexOfObject:_currentConfig] : 0;
-    return @{ @"configurationList": ary,
-              @"selectedConfiguration": @(current) };
+    return @{ @"configurations": ary, @"selected": @(current) };
 }
 
 - (void)loadAllFrom:(NSDictionary*) envelope{
-    NSArray *storedConfigs = envelope[@"configurationList"];
+    NSArray *storedConfigs = envelope[@"configurations"];
     NSMutableArray* newConfigs = [[NSMutableArray alloc] initWithCapacity:storedConfigs.count];
 
     // have to do two passes in case config1 refers to config2 via a TargetConfig
     }
     
     if (newConfigs.count) {
-        unsigned current = [envelope[@"selectedConfiguration"] unsignedIntValue];
+        unsigned current = [envelope[@"selected"] unsignedIntValue];
         if (current >= newConfigs.count)
             current = 0;
         _configs = newConfigs;
     }
 }
 
+- (void)exportPressed:(id)sender {
+    NSSavePanel *panel = [NSSavePanel savePanel];
+    panel.allowedFileTypes = @[ @"enjoyable" ];
+    if ([panel runModal] == NSFileHandlingPanelOKButton) {
+        NSError *error;
+        NSDictionary *serialization = [_currentConfig serialize];
+        NSData *json = [NSJSONSerialization dataWithJSONObject:serialization
+                                                       options:NSJSONWritingPrettyPrinted
+                                                         error:&error];
+        if (!error)
+            [json writeToURL:panel.URL options:NSDataWritingAtomic error:&error];
+        
+        if (error)
+            [[NSAlert alertWithError:error] runModal];
+    }
+}
+
 @end
index 1b4989d5e28b06c4930b58d8e3b27d618b8d7dc3..056a907b7256a6ecc3bc700a2d720118edb2487b 100644 (file)
                                                                <object class="NSMenuItem" id="632598200">
                                                                        <reference key="NSMenu" ref="720053764"/>
                                                                        <string key="NSTitle">Enable mapping</string>
-                                                                       <string key="NSKeyEquiv"/>
+                                                                       <string key="NSKeyEquiv">.</string>
+                                                                       <int key="NSKeyEquivModMask">1048576</int>
                                                                        <int key="NSMnemonicLoc">2147483647</int>
                                                                        <reference key="NSOnImage" ref="35465992"/>
                                                                        <reference key="NSMixedImage" ref="502551668"/>
                                <nil key="NSUserInterfaceItemIdentifier"/>
                                <string key="NSWindowContentMinSize">{640, 300}</string>
                                <object class="NSView" key="NSWindowView" id="177223957">
-                                       <nil key="NSNextResponder"/>
+                                       <reference key="NSNextResponder"/>
                                        <int key="NSvFlags">256</int>
                                        <array class="NSMutableArray" key="NSSubviews">
                                                <object class="NSSplitView" id="206489479">
                                                                                                                        <int key="NSvFlags">256</int>
                                                                                                                        <string key="NSFrameSize">{200, 298}</string>
                                                                                                                        <reference key="NSSuperview" ref="698362889"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="892486973"/>
+                                                                                                                       <reference key="NSWindow"/>
+                                                                                                                       <reference key="NSNextKeyView" ref="1036252745"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                                        <bool key="NSControlAllowsExpansionToolTips">YES</bool>
                                                                                                        </array>
                                                                                                        <string key="NSFrame">{{1, 1}, {200, 298}}</string>
                                                                                                        <reference key="NSSuperview" ref="364857164"/>
+                                                                                                       <reference key="NSWindow"/>
                                                                                                        <reference key="NSNextKeyView" ref="365506042"/>
                                                                                                        <reference key="NSDocView" ref="365506042"/>
                                                                                                        <reference key="NSBGColor" ref="834857663"/>
                                                                                                        <int key="NSvFlags">-2147483392</int>
                                                                                                        <string key="NSFrame">{{1, 1}, {8, 298}}</string>
                                                                                                        <reference key="NSSuperview" ref="364857164"/>
+                                                                                                       <reference key="NSWindow"/>
                                                                                                        <reference key="NSNextKeyView" ref="606740242"/>
                                                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                        <reference key="NSTarget" ref="364857164"/>
                                                                                                        <int key="NSvFlags">-2147483392</int>
                                                                                                        <string key="NSFrame">{{-100, -100}, {473, 15}}</string>
                                                                                                        <reference key="NSSuperview" ref="364857164"/>
+                                                                                                       <reference key="NSWindow"/>
                                                                                                        <reference key="NSNextKeyView" ref="698362889"/>
                                                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                                        <int key="NSsFlags">1</int>
                                                                                        </array>
                                                                                        <string key="NSFrameSize">{202, 300}</string>
                                                                                        <reference key="NSSuperview" ref="977242492"/>
-                                                                                       <reference key="NSNextKeyView" ref="698362889"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="892486973"/>
                                                                                        <int key="NSsFlags">133650</int>
                                                                                        <reference key="NSVScroller" ref="1036252745"/>
                                                                                        <reference key="NSHScroller" ref="892486973"/>
                                                                        </array>
                                                                        <string key="NSFrameSize">{202, 300}</string>
                                                                        <reference key="NSSuperview" ref="206489479"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="364857164"/>
                                                                        <string key="NSClassName">NSView</string>
                                                                </object>
                                                                                        <int key="NSvFlags">268</int>
                                                                                        <string key="NSFrame">{{227, 123}, {180, 24}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="125828224"/>
                                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <int key="NSvFlags">268</int>
                                                                                        <string key="NSFrame">{{227, 55}, {180, 24}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView"/>
                                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSSegmentedCell" key="NSCell" id="301345285">
                                                                                        <int key="NSvFlags">268</int>
                                                                                        <string key="NSFrame">{{227, 89}, {180, 24}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="921829691"/>
                                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <int key="NSvFlags">268</int>
                                                                                        <string key="NSFrame">{{20, 16}, {201, 236}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="57697638"/>
                                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        <int key="NSNumRows">7</int>
                                                                                        <int key="NSNumCols">1</int>
                                                                                        <int key="NSvFlags">268</int>
                                                                                        <string key="NSFrame">{{226, 156}, {182, 26}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="875916470"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSPopUpButtonCell" key="NSCell" id="74311158">
                                                                                        <int key="NSvFlags">266</int>
                                                                                        <string key="NSFrame">{{0, 269}, {429, 17}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="497528019"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSTextFieldCell" key="NSCell" id="853503577">
                                                                                        <int key="NSvFlags">12</int>
                                                                                        <string key="NSFrame">{{0, 258}, {465, 5}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="120408205"/>
                                                                                        <string key="NSOffsets">{0, 0}</string>
                                                                                        <object class="NSTextFieldCell" key="NSTitleCell">
                                                                                        <int key="NSvFlags">265</int>
                                                                                        <string key="NSFrame">{{229, 190}, {176, 24}}</string>
                                                                                        <reference key="NSSuperview" ref="606740242"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="194275224"/>
                                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                                        <string key="NSClassName">KeyInputTextView</string>
                                                                                </object>
                                                                        </array>
                                                                        <string key="NSFrame">{{211, 0}, {429, 300}}</string>
                                                                        <reference key="NSSuperview" ref="206489479"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="1016088174"/>
                                                                        <string key="NSClassName">NSView</string>
                                                                </object>
                                                        </array>
                                                        <string key="NSFrameSize">{640, 300}</string>
                                                        <reference key="NSSuperview" ref="177223957"/>
+                                                       <reference key="NSWindow"/>
                                                        <reference key="NSNextKeyView" ref="977242492"/>
                                                        <bool key="NSIsVertical">YES</bool>
                                                </object>
                                        </array>
                                        <string key="NSFrameSize">{640, 300}</string>
+                                       <reference key="NSSuperview"/>
+                                       <reference key="NSWindow"/>
                                        <reference key="NSNextKeyView" ref="206489479"/>
                                </object>
                                <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
                                <bool key="NSWindowIsRestorable">YES</bool>
                        </object>
                        <object class="NSCustomView" id="671181514">
-                               <nil key="NSNextResponder"/>
+                               <reference key="NSNextResponder"/>
                                <int key="NSvFlags">256</int>
                                <array class="NSMutableArray" key="NSSubviews">
+                                       <object class="NSButton" id="349018835">
+                                               <reference key="NSNextResponder" ref="671181514"/>
+                                               <int key="NSvFlags">297</int>
+                                               <string key="NSFrame">{{226, 1}, {82, 32}}</string>
+                                               <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
+                                               <reference key="NSNextKeyView"/>
+                                               <string key="NSReuseIdentifierKey">_NS:9</string>
+                                               <bool key="NSEnabled">YES</bool>
+                                               <object class="NSButtonCell" key="NSCell" id="664919868">
+                                                       <int key="NSCellFlags">-2080374784</int>
+                                                       <int key="NSCellFlags2">134217728</int>
+                                                       <string key="NSContents">Export</string>
+                                                       <reference key="NSSupport" ref="45863614"/>
+                                                       <string key="NSCellIdentifier">_NS:9</string>
+                                                       <reference key="NSControlView" ref="349018835"/>
+                                                       <int key="NSButtonFlags">-2034876416</int>
+                                                       <int key="NSButtonFlags2">129</int>
+                                                       <string key="NSAlternateContents"/>
+                                                       <string key="NSKeyEquivalent"/>
+                                                       <int key="NSPeriodicDelay">400</int>
+                                                       <int key="NSPeriodicInterval">75</int>
+                                               </object>
+                                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+                                       </object>
                                        <object class="NSScrollView" id="443618264">
                                                <reference key="NSNextResponder" ref="671181514"/>
                                                <int key="NSvFlags">274</int>
                                                                                <int key="NSvFlags">256</int>
                                                                                <string key="NSFrameSize">{320, 418}</string>
                                                                                <reference key="NSSuperview" ref="947403733"/>
+                                                                               <reference key="NSWindow"/>
                                                                                <reference key="NSNextKeyView" ref="968378655"/>
                                                                                <bool key="NSEnabled">YES</bool>
                                                                                <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                </array>
                                                                <string key="NSFrame">{{1, 1}, {320, 418}}</string>
                                                                <reference key="NSSuperview" ref="443618264"/>
+                                                               <reference key="NSWindow"/>
                                                                <reference key="NSNextKeyView" ref="762432499"/>
                                                                <reference key="NSDocView" ref="762432499"/>
                                                                <reference key="NSBGColor" ref="834857663"/>
                                                                <int key="NSvFlags">-2147483392</int>
                                                                <string key="NSFrame">{{306, 1}, {15, 403}}</string>
                                                                <reference key="NSSuperview" ref="443618264"/>
+                                                               <reference key="NSWindow"/>
                                                                <reference key="NSNextKeyView" ref="553414014"/>
                                                                <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                <reference key="NSTarget" ref="443618264"/>
                                                                <int key="NSvFlags">-2147483392</int>
                                                                <string key="NSFrame">{{1, 404}, {305, 15}}</string>
                                                                <reference key="NSSuperview" ref="443618264"/>
+                                                               <reference key="NSWindow"/>
                                                                <reference key="NSNextKeyView" ref="861276216"/>
                                                                <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                <int key="NSsFlags">1</int>
                                                </array>
                                                <string key="NSFrame">{{0, 34}, {322, 420}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <reference key="NSNextKeyView" ref="947403733"/>
                                                <int key="NSsFlags">133682</int>
                                                <reference key="NSVScroller" ref="968378655"/>
                                                <int key="NSvFlags">260</int>
                                                <string key="NSFrame">{{10, 4}, {39, 28}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <reference key="NSNextKeyView" ref="456935010"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="867532725">
                                                <int key="NSvFlags">260</int>
                                                <string key="NSFrame">{{57, 4}, {39, 28}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
+                                               <reference key="NSNextKeyView" ref="349018835"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="1008023024">
                                                        <int key="NSCellFlags">603979776</int>
                                        </object>
                                </array>
                                <string key="NSFrameSize">{322, 454}</string>
+                               <reference key="NSSuperview"/>
+                               <reference key="NSWindow"/>
                                <reference key="NSNextKeyView" ref="443618264"/>
                                <string key="NSClassName">NSView</string>
                        </object>
                        <object class="NSDrawer" id="314955046">
                                <nil key="NSNextResponder"/>
                                <string key="NSContentSize">{200, 100}</string>
-                               <string key="NSMinContentSize">{150, 0}</string>
+                               <string key="NSMinContentSize">{200, 0}</string>
                                <string key="NSMaxContentSize">{300, 10000}</string>
                                <int key="NSPreferredEdge">2</int>
                                <double key="NSLeadingOffset">0.0</double>
                        <object class="NSCustomObject" id="801536542">
                                <string key="NSClassName">TargetController</string>
                        </object>
-                       <object class="NSButton" id="735675040">
-                               <nil key="NSNextResponder"/>
-                               <int key="NSvFlags">268</int>
-                               <string key="NSFrameSize">{82, 32}</string>
-                               <string key="NSReuseIdentifierKey">_NS:9</string>
-                               <bool key="NSEnabled">YES</bool>
-                               <object class="NSButtonCell" key="NSCell" id="835359972">
-                                       <int key="NSCellFlags">67108864</int>
-                                       <int key="NSCellFlags2">134217728</int>
-                                       <string key="NSContents">Button</string>
-                                       <reference key="NSSupport" ref="45863614"/>
-                                       <string key="NSCellIdentifier">_NS:9</string>
-                                       <reference key="NSControlView" ref="735675040"/>
-                                       <int key="NSButtonFlags">-2038284288</int>
-                                       <int key="NSButtonFlags2">129</int>
-                                       <string key="NSAlternateContents"/>
-                                       <string key="NSKeyEquivalent"/>
-                                       <int key="NSPeriodicDelay">200</int>
-                                       <int key="NSPeriodicInterval">25</int>
-                               </object>
-                               <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
-                       </object>
                </array>
                <object class="IBObjectContainer" key="IBDocument.Objects">
                        <array class="NSMutableArray" key="connectionRecords">
                                        </object>
                                        <int key="connectionID">697</int>
                                </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">exportPressed:</string>
+                                               <reference key="source" ref="468285243"/>
+                                               <reference key="destination" ref="349018835"/>
+                                       </object>
+                                       <int key="connectionID">784</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">exportButton</string>
+                                               <reference key="source" ref="468285243"/>
+                                               <reference key="destination" ref="349018835"/>
+                                       </object>
+                                       <int key="connectionID">785</int>
+                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                                <string key="label">dataSource</string>
                                                        <reference ref="861276216"/>
                                                        <reference ref="456935010"/>
                                                        <reference ref="443618264"/>
+                                                       <reference ref="349018835"/>
                                                </array>
                                                <reference key="parent" ref="0"/>
                                                <string key="objectName">Drawer Content View</string>
                                                <reference key="parent" ref="875916470"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">765</int>
-                                               <reference key="object" ref="735675040"/>
-                                               <array class="NSMutableArray" key="children">
-                                                       <reference ref="835359972"/>
-                                               </array>
-                                               <reference key="parent" ref="0"/>
+                                               <int key="objectID">778</int>
+                                               <reference key="object" ref="57697638"/>
+                                               <reference key="parent" ref="606740242"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">766</int>
-                                               <reference key="object" ref="835359972"/>
-                                               <reference key="parent" ref="735675040"/>
+                                               <int key="objectID">782</int>
+                                               <reference key="object" ref="349018835"/>
+                                               <array class="NSMutableArray" key="children">
+                                                       <reference ref="664919868"/>
+                                               </array>
+                                               <reference key="parent" ref="671181514"/>
                                        </object>
                                        <object class="IBObjectRecord">
-                                               <int key="objectID">778</int>
-                                               <reference key="object" ref="57697638"/>
-                                               <reference key="parent" ref="606740242"/>
+                                               <int key="objectID">783</int>
+                                               <reference key="object" ref="664919868"/>
+                                               <reference key="parent" ref="349018835"/>
                                        </object>
                                </array>
                        </object>
                                <string key="754.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
                                <integer value="1" key="755.IBNSSegmentedControlInspectorSelectedSegmentMetadataKey"/>
                                <string key="755.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-                               <string key="765.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
-                               <string key="766.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
                                <string key="778.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+                               <string key="782.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+                               <string key="783.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
                                <string key="81.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
                                <string key="83.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
                                <string key="92.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
                        <nil key="activeLocalization"/>
                        <dictionary class="NSMutableDictionary" key="localizations"/>
                        <nil key="sourceID"/>
-                       <int key="maxID">781</int>
+                       <int key="maxID">785</int>
                </object>
                <object class="IBClassDescriber" key="IBDocument.Classes">
                        <array class="NSMutableArray" key="referencedPartialClassDescriptions">
                                        <string key="superclassName">NSObject</string>
                                        <dictionary class="NSMutableDictionary" key="actions">
                                                <string key="addPressed:">id</string>
+                                               <string key="exportPressed:">id</string>
                                                <string key="removePressed:">id</string>
                                        </dictionary>
                                        <dictionary class="NSMutableDictionary" key="actionInfosByName">
                                                        <string key="name">addPressed:</string>
                                                        <string key="candidateClassName">id</string>
                                                </object>
+                                               <object class="IBActionInfo" key="exportPressed:">
+                                                       <string key="name">exportPressed:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
                                                <object class="IBActionInfo" key="removePressed:">
                                                        <string key="name">removePressed:</string>
                                                        <string key="candidateClassName">id</string>
                                                </object>
                                        </dictionary>
                                        <dictionary class="NSMutableDictionary" key="outlets">
+                                               <string key="exportButton">NSButton</string>
                                                <string key="removeButton">NSButton</string>
                                                <string key="tableView">NSTableView</string>
                                                <string key="targetController">TargetController</string>
                                        </dictionary>
                                        <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <object class="IBToOneOutletInfo" key="exportButton">
+                                                       <string key="name">exportButton</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
                                                <object class="IBToOneOutletInfo" key="removeButton">
                                                        <string key="name">removeButton</string>
                                                        <string key="candidateClassName">NSButton</string>