Changeset 1316

Show
Ignore:
Timestamp:
07/07/09 14:40:22 (13 months ago)
Author:
tsnorri
Message:

Database model object export enhancements
- The user can now choose relationship naming style when exporting to reduce the amount of arrows in the graph.
- There is now an experimental mom exporter.
- The m4 build rule for BaseTen? Assistant now handles spaces in path.
- Added snprintf.c to SQL parser target, because the symbols seemed to be required.

Location:
trunk
Files:
2 added
12 modified

Legend:

Unmodified
Added
Removed
  • trunk/BaseTen.xcodeproj/project.pbxproj

    r1304 r1316  
    387387                53CE950F0E658CE400063193 /* BXPGExpressionValueType.m in Sources */ = {isa = PBXBuildFile; fileRef = 53CE950D0E658CE400063193 /* BXPGExpressionValueType.m */; }; 
    388388                53CE953B0E658E2600063193 /* BXPredicateVisitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 53526E090E5D70EB00B67550 /* BXPredicateVisitor.m */; }; 
     389                53D0482110021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 53D0481F10021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.h */; settings = {ATTRIBUTES = (Private, ); }; }; 
     390                53D0482210021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53D0482010021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.mm */; }; 
     391                53D048AB10022072001A92FB /* snprintf.c in Sources */ = {isa = PBXBuildFile; fileRef = 53D048AA10022072001A92FB /* snprintf.c */; }; 
    389392                53D672BA0E55CD5F00D8A5F8 /* PGTSProbes.d in Sources */ = {isa = PBXBuildFile; fileRef = 53666CC80E1CD8D20028DBEA /* PGTSProbes.d */; }; 
    390393                53D672BC0E55CD6200D8A5F8 /* PGTSQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = 53666CCA0E1CD8D20028DBEA /* PGTSQuery.m */; }; 
     
    953956                53CE950C0E658CE400063193 /* BXPGExpressionValueType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BXPGExpressionValueType.h; path = Sources/BXPGExpressionValueType.h; sourceTree = "<group>"; }; 
    954957                53CE950D0E658CE400063193 /* BXPGExpressionValueType.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; name = BXPGExpressionValueType.m; path = Sources/BXPGExpressionValueType.m; sourceTree = "<group>"; }; 
     958                53D0481F10021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BXDatabaseObjectModelMOMSerialization.h; path = Sources/BXDatabaseObjectModelMOMSerialization.h; sourceTree = "<group>"; }; 
     959                53D0482010021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = BXDatabaseObjectModelMOMSerialization.mm; path = Sources/BXDatabaseObjectModelMOMSerialization.mm; sourceTree = "<group>"; }; 
     960                53D048AA10022072001A92FB /* snprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = snprintf.c; path = "/Users/tsnorri/Build/Debug/BaseTen-PostgreSQL/postgresql-8.3.7/src/port/snprintf.c"; sourceTree = "<absolute>"; }; 
    955961                53D0D19B0B6F90B300D2D101 /* BXPGCertificateVerificationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = BXPGCertificateVerificationDelegate.h; path = Sources/BXPGCertificateVerificationDelegate.h; sourceTree = "<group>"; }; 
    956962                53D0D19C0B6F90B300D2D101 /* BXPGCertificateVerificationDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BXPGCertificateVerificationDelegate.m; path = Sources/BXPGCertificateVerificationDelegate.m; sourceTree = "<group>"; }; 
     
    11691175                                53671B490FABAC5F002FD0B4 /* BXDatabaseObjectModelXMLSerialization.h */, 
    11701176                                53671B4A0FABAC5F002FD0B4 /* BXDatabaseObjectModelXMLSerialization.m */, 
     1177                                53D0481F10021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.h */, 
     1178                                53D0482010021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.mm */, 
    11711179                                53B8730F0A0A53D9007315BC /* Descriptions */, 
    11721180                        ); 
     
    14761484                                538A82B90E1D15BB0025B3C8 /* print.c */, 
    14771485                                538A83050E1D1DD30025B3C8 /* prompt.c */, 
     1486                                53D048AA10022072001A92FB /* snprintf.c */, 
    14781487                                538A82F80E1D1C1B0025B3C8 /* stringutils.c */, 
    14791488                                538A82B60E1D151D0025B3C8 /* variables.c */, 
     
    18191828                                536206550FB87E8C00ACAE57 /* PGTSDates.h in Headers */, 
    18201829                                53015A850FBEF22400E52C1E /* BXArraySize.h in Headers */, 
     1830                                53D0482110021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.h in Headers */, 
    18211831                        ); 
    18221832                        runOnlyForDeploymentPostprocessing = 0; 
     
    22562266                                5362062B0FB87A0300ACAE57 /* PGTSValueTypes.m in Sources */, 
    22572267                                536206530FB87DDA00ACAE57 /* PGTSValuePlaceholder.m in Sources */, 
     2268                                53D0482210021E07001A92FB /* BXDatabaseObjectModelMOMSerialization.mm in Sources */, 
    22582269                        ); 
    22592270                        runOnlyForDeploymentPostprocessing = 0; 
     
    22752286                                538A83870E1D2ACE0025B3C8 /* prompt.c in Sources */, 
    22762287                                538A83880E1D2ACF0025B3C8 /* stringutils.c in Sources */, 
     2288                                53D048AB10022072001A92FB /* snprintf.c in Sources */, 
    22772289                        ); 
    22782290                        runOnlyForDeploymentPostprocessing = 0; 
     
    25522564                                GCC_ENABLE_OBJC_GC = supported; 
    25532565                                GCC_OPTIMIZATION_LEVEL = 0; 
     2566                                GCC_VERSION = 4.0; 
    25542567                                HEADER_SEARCH_PATHS = ( 
    25552568                                        "$(BUILT_PRODUCTS_DIR)/BaseTen-PostgreSQL/postgresql", 
     
    25902603                                GCC_ENABLE_FIX_AND_CONTINUE = NO; 
    25912604                                GCC_ENABLE_OBJC_GC = supported; 
     2605                                GCC_VERSION = 4.0; 
    25922606                                HEADER_SEARCH_PATHS = ( 
    25932607                                        "$(BUILT_PRODUCTS_DIR)/BaseTen-PostgreSQL/postgresql", 
     
    27092723                                GCC_ENABLE_OBJC_GC = supported; 
    27102724                                GCC_OPTIMIZATION_LEVEL = 0; 
     2725                                GCC_VERSION = 4.0; 
    27112726                                HEADER_SEARCH_PATHS = ( 
    27122727                                        "$(BUILT_PRODUCTS_DIR)/BaseTen-PostgreSQL/postgresql", 
  • trunk/BaseTenAssistant/BaseTenAssistant.xcodeproj/project.pbxproj

    r1308 r1316  
    7474                                "${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}", 
    7575                        ); 
    76                         script = "m4 ${INPUT_FILE_PATH} > ${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}"; 
     76                        script = "m4 \"${INPUT_FILE_PATH}\" > \"${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}\""; 
    7777                }; 
    7878/* End PBXBuildRule section */ 
  • trunk/BaseTenAssistant/English.lproj/MainMenu.xib

    r1279 r1316  
    1010                        <bool key="EncodedWithXMLCoder">YES</bool> 
    1111                        <integer value="825"/> 
     12                        <integer value="629"/> 
    1213                        <integer value="449"/> 
    13                         <integer value="629"/> 
    14                         <integer value="1094"/> 
     14                        <integer value="1097"/> 
    1515                </object> 
    1616                <object class="NSArray" key="IBDocument.PluginDependencies"> 
     
    211211                                                                <string key="NSToolbarItemToolTip">Customize Toolbar</string> 
    212212                                                                <nil key="NSToolbarItemView"/> 
    213                                                                 <object class="NSImage" key="NSToolbarItemImage" id="549553732"> 
     213                                                                <object class="NSImage" key="NSToolbarItemImage" id="578314448"> 
    214214                                                                        <int key="NSImageFlags">683671552</int> 
    215215                                                                        <string key="NSSize">{32, 32}</string> 
     
    297297                                                                                </object> 
    298298                                                                        </object> 
    299                                                                         <object class="NSColor" key="NSColor" id="1045257848"> 
     299                                                                        <object class="NSColor" key="NSColor" id="216120738"> 
    300300                                                                                <int key="NSColorSpace">3</int> 
    301301                                                                                <bytes key="NSWhite">MCAwAA</bytes> 
     
    504504                                                                                                                        <double key="NSMaxWidth">1.000000e+03</double> 
    505505                                                                                                                        <object class="NSTableHeaderCell" key="NSHeaderCell"> 
    506                                                                                                                                 <int key="NSCellFlags">75628032</int> 
    507                                                                                                                                 <int key="NSCellFlags2">0</int> 
     506                                                                                                                                <int key="NSCellFlags">75628096</int> 
     507                                                                                                                                <int key="NSCellFlags2">2048</int> 
    508508                                                                                                                                <string key="NSContents">Schema</string> 
    509509                                                                                                                                <reference key="NSSupport" ref="26"/> 
     
    596596                                                                                <object class="NSScroller" id="185590363"> 
    597597                                                                                        <reference key="NSNextResponder" ref="552675218"/> 
    598                                                                                         <int key="NSvFlags">256</int> 
     598                                                                                        <int key="NSvFlags">-2147483392</int> 
    599599                                                                                        <string key="NSFrame">{{-100, -100}, {188, 15}}</string> 
    600600                                                                                        <reference key="NSSuperview" ref="552675218"/> 
     
    667667                                                                                                                        <double key="NSMaxWidth">1.000000e+03</double> 
    668668                                                                                                                        <object class="NSTableHeaderCell" key="NSHeaderCell"> 
    669                                                                                                                                 <int key="NSCellFlags">75628032</int> 
    670                                                                                                                                 <int key="NSCellFlags2">0</int> 
     669                                                                                                                                <int key="NSCellFlags">75628096</int> 
     670                                                                                                                                <int key="NSCellFlags2">2048</int> 
    671671                                                                                                                                <string key="NSContents">Tables and Views</string> 
    672672                                                                                                                                <reference key="NSSupport" ref="26"/> 
     
    695695                                                                                                                        <double key="NSMaxWidth">1.000000e+03</double> 
    696696                                                                                                                        <object class="NSTableHeaderCell" key="NSHeaderCell"> 
    697                                                                                                                                 <int key="NSCellFlags">75628032</int> 
    698                                                                                                                                 <int key="NSCellFlags2">0</int> 
     697                                                                                                                                <int key="NSCellFlags">75628096</int> 
     698                                                                                                                                <int key="NSCellFlags2">2048</int> 
    699699                                                                                                                                <string key="NSContents">Enabled</string> 
    700700                                                                                                                                <reference key="NSSupport" ref="26"/> 
     
    710710                                                                                                                                <int key="NSButtonFlags">1215582719</int> 
    711711                                                                                                                                <int key="NSButtonFlags2">2</int> 
    712                                                                                                                                 <object class="NSCustomResource" key="NSNormalImage"> 
     712                                                                                                                                <object class="NSCustomResource" key="NSNormalImage" id="902320579"> 
    713713                                                                                                                                        <string key="NSClassName">NSImage</string> 
    714714                                                                                                                                        <string key="NSResourceName">NSSwitch</string> 
    715715                                                                                                                                </object> 
    716                                                                                                                                 <object class="NSButtonImageSource" key="NSAlternateImage"> 
     716                                                                                                                                <object class="NSButtonImageSource" key="NSAlternateImage" id="707487436"> 
    717717                                                                                                                                        <string key="NSImageName">NSSwitch</string> 
    718718                                                                                                                                </object> 
     
    766766                                                                                <object class="NSScroller" id="762737495"> 
    767767                                                                                        <reference key="NSNextResponder" ref="819491386"/> 
    768                                                                                         <int key="NSvFlags">256</int> 
     768                                                                                        <int key="NSvFlags">-2147483392</int> 
    769769                                                                                        <string key="NSFrame">{{-100, -100}, {283, 15}}</string> 
    770770                                                                                        <reference key="NSSuperview" ref="819491386"/> 
     
    10081008                                                                                        <string>allowsFloats</string> 
    10091009                                                                                        <string>formatterBehavior</string> 
     1010                                                                                        <string>locale</string> 
    10101011                                                                                        <string>maximum</string> 
    10111012                                                                                        <string>minimum</string> 
     
    10151016                                                                                        <integer value="1" id="9"/> 
    10161017                                                                                        <integer value="1040"/> 
    1017                                                                                         <real value="6.553500e+04" id="781511585"/> 
     1018                                                                                        <object class="NSLocale"> 
     1019                                                                                                <string key="NS.identifier"/> 
     1020                                                                                        </object> 
     1021                                                                                        <real value="6.553500e+04" id="686712097"/> 
    10181022                                                                                        <reference ref="9"/> 
    10191023                                                                                </object> 
     
    10421046                                                                        </object> 
    10431047                                                                        <reference key="NS.min" ref="9"/> 
    1044                                                                         <reference key="NS.max" ref="781511585"/> 
     1048                                                                        <reference key="NS.max" ref="686712097"/> 
    10451049                                                                        <object class="NSDecimalNumberHandler" key="NS.rounding"> 
    10461050                                                                                <int key="NS.roundingmode">3</int> 
     
    10491053                                                                                <bool key="NS.raise.dividebyzero">YES</bool> 
    10501054                                                                        </object> 
    1051                                                                         <string key="NS.decimal">,</string> 
    1052                                                                         <string type="base64-UTF8" key="NS.thousand">wqA</string> 
     1055                                                                        <string key="NS.decimal">.</string> 
     1056                                                                        <string key="NS.thousand">,</string> 
    10531057                                                                        <bool key="NS.hasthousands">NO</bool> 
    1054                                                                         <bool key="NS.localized">YES</bool> 
     1058                                                                        <bool key="NS.localized">NO</bool> 
    10551059                                                                        <bool key="NS.allowsfloats">YES</bool> 
    10561060                                                                </object> 
     
    13961400                                                                <object class="NSScroller" id="1061755770"> 
    13971401                                                                        <reference key="NSNextResponder" ref="392771615"/> 
    1398                                                                         <int key="NSvFlags">256</int> 
     1402                                                                        <int key="NSvFlags">-2147483392</int> 
    13991403                                                                        <string key="NSFrame">{{-100, -100}, {343, 15}}</string> 
    14001404                                                                        <reference key="NSSuperview" ref="392771615"/> 
     
    16021606                                                                <string key="NSToolbarItemToolTip">Customize Toolbar</string> 
    16031607                                                                <nil key="NSToolbarItemView"/> 
    1604                                                                 <reference key="NSToolbarItemImage" ref="549553732"/> 
     1608                                                                <reference key="NSToolbarItemImage" ref="578314448"/> 
    16051609                                                                <nil key="NSToolbarItemTarget"/> 
    16061610                                                                <string key="NSToolbarItemAction">runToolbarCustomizationPalette:</string> 
     
    16761680                                                                                </object> 
    16771681                                                                        </object> 
    1678                                                                         <reference key="NSColor" ref="1045257848"/> 
     1682                                                                        <reference key="NSColor" ref="216120738"/> 
    16791683                                                                </object> 
    16801684                                                                <nil key="NSToolbarItemTarget"/> 
     
    18841888                                                                <object class="NSScroller" id="965050326"> 
    18851889                                                                        <reference key="NSNextResponder" ref="81154272"/> 
    1886                                                                         <int key="NSvFlags">256</int> 
     1890                                                                        <int key="NSvFlags">-2147483392</int> 
    18871891                                                                        <string key="NSFrame">{{-100, -100}, {87, 18}}</string> 
    18881892                                                                        <reference key="NSSuperview" ref="81154272"/> 
     
    25512555                                <object class="NSMutableArray" key="NSSubviews"> 
    25522556                                        <bool key="EncodedWithXMLCoder">YES</bool> 
     2557                                        <object class="NSMatrix" id="165541584"> 
     2558                                                <reference key="NSNextResponder" ref="305647686"/> 
     2559                                                <int key="NSvFlags">256</int> 
     2560                                                <string key="NSFrame">{{20, 20}, {283, 40}}</string> 
     2561                                                <reference key="NSSuperview" ref="305647686"/> 
     2562                                                <bool key="NSEnabled">YES</bool> 
     2563                                                <int key="NSNumRows">2</int> 
     2564                                                <int key="NSNumCols">1</int> 
     2565                                                <object class="NSMutableArray" key="NSCells"> 
     2566                                                        <bool key="EncodedWithXMLCoder">YES</bool> 
     2567                                                        <object class="NSButtonCell" id="640228329"> 
     2568                                                                <int key="NSCellFlags">-2080244224</int> 
     2569                                                                <int key="NSCellFlags2">0</int> 
     2570                                                                <string key="NSContents">Relationships usign foreign key names</string> 
     2571                                                                <reference key="NSSupport" ref="920870547"/> 
     2572                                                                <reference key="NSControlView" ref="165541584"/> 
     2573                                                                <int key="NSButtonFlags">1211912703</int> 
     2574                                                                <int key="NSButtonFlags2">2</int> 
     2575                                                                <reference key="NSNormalImage" ref="902320579"/> 
     2576                                                                <reference key="NSAlternateImage" ref="707487436"/> 
     2577                                                                <string key="NSAlternateContents"/> 
     2578                                                                <string key="NSKeyEquivalent"/> 
     2579                                                                <int key="NSPeriodicDelay">200</int> 
     2580                                                                <int key="NSPeriodicInterval">25</int> 
     2581                                                        </object> 
     2582                                                        <object class="NSButtonCell" id="383068874"> 
     2583                                                                <int key="NSCellFlags">67239424</int> 
     2584                                                                <int key="NSCellFlags2">0</int> 
     2585                                                                <string key="NSContents">Relationships using target relation names</string> 
     2586                                                                <reference key="NSSupport" ref="920870547"/> 
     2587                                                                <reference key="NSControlView" ref="165541584"/> 
     2588                                                                <int key="NSButtonFlags">1211912703</int> 
     2589                                                                <int key="NSButtonFlags2">2</int> 
     2590                                                                <object class="NSImage" key="NSNormalImage" id="412863630"> 
     2591                                                                        <int key="NSImageFlags">12779520</int> 
     2592                                                                        <object class="NSMutableArray" key="NSReps"> 
     2593                                                                                <bool key="EncodedWithXMLCoder">YES</bool> 
     2594                                                                                <object class="NSArray"> 
     2595                                                                                        <bool key="EncodedWithXMLCoder">YES</bool> 
     2596                                                                                        <reference ref="8"/> 
     2597                                                                                        <object class="NSCoreUIImageRep"> 
     2598                                                                                                <object class="NSMutableDictionary" key="NSCoreUIImageOptions"> 
     2599                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool> 
     2600                                                                                                        <object class="NSMutableArray" key="dict.sortedKeys"> 
     2601                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool> 
     2602                                                                                                                <string>size</string> 
     2603                                                                                                                <string>state</string> 
     2604                                                                                                                <string>value</string> 
     2605                                                                                                                <string>widget</string> 
     2606                                                                                                        </object> 
     2607                                                                                                        <object class="NSMutableArray" key="dict.values"> 
     2608                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool> 
     2609                                                                                                                <string>regular</string> 
     2610                                                                                                                <string>normal</string> 
     2611                                                                                                                <reference ref="8"/> 
     2612                                                                                                                <string>checkbox</string> 
     2613                                                                                                        </object> 
     2614                                                                                                </object> 
     2615                                                                                                <string key="NSSize">{18, 18}</string> 
     2616                                                                                                <int key="NSBitsPerSample">0</int> 
     2617                                                                                                <bool key="NSHasAlpha">YES</bool> 
     2618                                                                                                <string key="NSColorSpaceName">NSCalibratedRGBColorSpace</string> 
     2619                                                                                        </object> 
     2620                                                                                </object> 
     2621                                                                        </object> 
     2622                                                                        <reference key="NSColor" ref="216120738"/> 
     2623                                                                </object> 
     2624                                                                <reference key="NSAlternateImage" ref="707487436"/> 
     2625                                                                <string key="NSAlternateContents"/> 
     2626                                                                <int key="NSPeriodicDelay">200</int> 
     2627                                                                <int key="NSPeriodicInterval">25</int> 
     2628                                                        </object> 
     2629                                                </object> 
     2630                                                <string key="NSCellSize">{283, 20}</string> 
     2631                                                <string key="NSIntercellSpacing">{0, 0}</string> 
     2632                                                <int key="NSMatrixFlags">-2080374784</int> 
     2633                                                <nil key="NSCellClass"/> 
     2634                                                <object class="NSButtonCell" key="NSProtoCell" id="1033590321"> 
     2635                                                        <int key="NSCellFlags">-2080244224</int> 
     2636                                                        <int key="NSCellFlags2">0</int> 
     2637                                                        <string key="NSContents">Check</string> 
     2638                                                        <reference key="NSSupport" ref="920870547"/> 
     2639                                                        <int key="NSButtonFlags">1211912703</int> 
     2640                                                        <int key="NSButtonFlags2">2</int> 
     2641                                                        <reference key="NSNormalImage" ref="412863630"/> 
     2642                                                        <reference key="NSAlternateImage" ref="707487436"/> 
     2643                                                        <string key="NSAlternateContents"/> 
     2644                                                        <int key="NSPeriodicDelay">200</int> 
     2645                                                        <int key="NSPeriodicInterval">25</int> 
     2646                                                </object> 
     2647                                                <int key="NSSelectedRow">-1</int> 
     2648                                                <int key="NSSelectedCol">-1</int> 
     2649                                                <reference key="NSBackgroundColor" ref="846343457"/> 
     2650                                                <reference key="NSCellBackgroundColor" ref="846343457"/> 
     2651                                        </object> 
    25532652                                        <object class="NSPopUpButton" id="690133665"> 
    25542653                                                <reference key="NSNextResponder" ref="305647686"/> 
    25552654                                                <int key="NSvFlags">268</int> 
    2556                                                 <string key="NSFrame">{{72, 16}, {206, 26}}</string> 
     2655                                                <string key="NSFrame">{{72, 68}, {234, 26}}</string> 
    25572656                                                <reference key="NSSuperview" ref="305647686"/> 
    25582657                                                <bool key="NSEnabled">YES</bool> 
     
    26112710                                                                                <reference key="NSTarget" ref="971332630"/> 
    26122711                                                                        </object> 
     2712                                                                        <object class="NSMenuItem" id="507231372"> 
     2713                                                                                <reference key="NSMenu" ref="1377"/> 
     2714                                                                                <string key="NSTitle">MOM (Experimental)</string> 
     2715                                                                                <string key="NSKeyEquiv"/> 
     2716                                                                                <int key="NSMnemonicLoc">2147483647</int> 
     2717                                                                                <reference key="NSOnImage" ref="622407158"/> 
     2718                                                                                <reference key="NSMixedImage" ref="978181122"/> 
     2719                                                                                <string key="NSAction">_popUpItemAction:</string> 
     2720                                                                                <int key="NSTag">4</int> 
     2721                                                                                <reference key="NSTarget" ref="971332630"/> 
     2722                                                                        </object> 
    26132723                                                                </object> 
    26142724                                                        </object> 
     
    26222732                                                <reference key="NSNextResponder" ref="305647686"/> 
    26232733                                                <int key="NSvFlags">268</int> 
    2624                                                 <string key="NSFrame">{{17, 22}, {53, 17}}</string> 
     2734                                                <string key="NSFrame">{{17, 74}, {53, 17}}</string> 
    26252735                                                <reference key="NSSuperview" ref="305647686"/> 
    26262736                                                <bool key="NSEnabled">YES</bool> 
     
    26362746                                        </object> 
    26372747                                </object> 
    2638                                 <string key="NSFrameSize">{295, 60}</string> 
     2748                                <string key="NSFrameSize">{323, 112}</string> 
    26392749                                <reference key="NSSuperview"/> 
    26402750                                <string key="NSClassName">NSView</string> 
     
    35043614                                        <int key="connectionID">1113</int> 
    35053615                                </object> 
     3616                                <object class="IBConnectionRecord"> 
     3617                                        <object class="IBBindingConnection" key="connection"> 
     3618                                                <string key="label">value: exportsUsingFkeyNames</string> 
     3619                                                <reference key="source" ref="640228329"/> 
     3620                                                <reference key="destination" ref="1038163843"/> 
     3621                                                <object class="NSNibBindingConnector" key="connector"> 
     3622                                                        <reference key="NSSource" ref="640228329"/> 
     3623                                                        <reference key="NSDestination" ref="1038163843"/> 
     3624                                                        <string key="NSLabel">value: exportsUsingFkeyNames</string> 
     3625                                                        <string key="NSBinding">value</string> 
     3626                                                        <string key="NSKeyPath">exportsUsingFkeyNames</string> 
     3627                                                        <int key="NSNibBindingConnectorVersion">2</int> 
     3628                                                </object> 
     3629                                        </object> 
     3630                                        <int key="connectionID">1120</int> 
     3631                                </object> 
     3632                                <object class="IBConnectionRecord"> 
     3633                                        <object class="IBBindingConnection" key="connection"> 
     3634                                                <string key="label">value: exportsUsingTargetRelationNames</string> 
     3635                                                <reference key="source" ref="383068874"/> 
     3636                                                <reference key="destination" ref="1038163843"/> 
     3637                                                <object class="NSNibBindingConnector" key="connector"> 
     3638                                                        <reference key="NSSource" ref="383068874"/> 
     3639                                                        <reference key="NSDestination" ref="1038163843"/> 
     3640                                                        <string key="NSLabel">value: exportsUsingTargetRelationNames</string> 
     3641                                                        <string key="NSBinding">value</string> 
     3642                                                        <string key="NSKeyPath">exportsUsingTargetRelationNames</string> 
     3643                                                        <int key="NSNibBindingConnectorVersion">2</int> 
     3644                                                </object> 
     3645                                        </object> 
     3646                                        <int key="connectionID">1121</int> 
     3647                                </object> 
    35063648                        </object> 
    35073649                        <object class="IBMutableOrderedSet" key="objectRecords"> 
     
    35103652                                        <object class="IBObjectRecord"> 
    35113653                                                <int key="objectID">0</int> 
    3512                                                 <object class="NSArray" key="object" id="1049"> 
     3654                                                <object class="NSArray" key="object" id="1012779145"> 
    35133655                                                        <bool key="EncodedWithXMLCoder">YES</bool> 
    35143656                                                </object> 
     
    35193661                                                <int key="objectID">-2</int> 
    35203662                                                <reference key="object" ref="1021"/> 
    3521                                                 <reference key="parent" ref="1049"/> 
     3663                                                <reference key="parent" ref="1012779145"/> 
    35223664                                                <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> 
    35233665                                        </object> 
     
    35253667                                                <int key="objectID">-1</int> 
    35263668                                                <reference key="object" ref="1014"/> 
    3527                                                 <reference key="parent" ref="1049"/> 
     3669                                                <reference key="parent" ref="1012779145"/> 
    35283670                                                <string key="objectName">First Responder</string> 
    35293671                                        </object> 
     
    35313673                                                <int key="objectID">-3</int> 
    35323674                                                <reference key="object" ref="1050"/> 
    3533                                                 <reference key="parent" ref="1049"/> 
     3675                                                <reference key="parent" ref="1012779145"/> 
    35343676                                                <string key="objectName">Application</string> 
    35353677                                        </object> 
     
    35373679                                                <int key="objectID">373</int> 
    35383680                                                <reference key="object" ref="163992474"/> 
    3539                                                 <reference key="parent" ref="1049"/> 
     3681                                                <reference key="parent" ref="1012779145"/> 
    35403682                                        </object> 
    35413683                                        <object class="IBObjectRecord"> 
     
    35473689                                                        <reference ref="355835359"/> 
    35483690                                                </object> 
    3549                                                 <reference key="parent" ref="1049"/> 
     3691                                                <reference key="parent" ref="1012779145"/> 
    35503692                                        </object> 
    35513693                                        <object class="IBObjectRecord"> 
     
    37073849                                                <int key="objectID">472</int> 
    37083850                                                <reference key="object" ref="398472180"/> 
    3709                                                 <reference key="parent" ref="1049"/> 
     3851                                                <reference key="parent" ref="1012779145"/> 
    37103852                                                <string key="objectName">Entities by schema</string> 
    37113853                                        </object> 
     
    37133855                                                <int key="objectID">510</int> 
    37143856                                                <reference key="object" ref="322438973"/> 
    3715                                                 <reference key="parent" ref="1049"/> 
     3857                                                <reference key="parent" ref="1012779145"/> 
    37163858                                        </object> 
    37173859                                        <object class="IBObjectRecord"> 
     
    37223864                                                        <reference ref="55362827"/> 
    37233865                                                </object> 
    3724                                                 <reference key="parent" ref="1049"/> 
     3866                                                <reference key="parent" ref="1012779145"/> 
    37253867                                                <string key="objectName">Connection Panel</string> 
    37263868                                        </object> 
     
    39134055                                                <int key="objectID">564</int> 
    39144056                                                <reference key="object" ref="593169211"/> 
    3915                                                 <reference key="parent" ref="1049"/> 
     4057                                                <reference key="parent" ref="1012779145"/> 
    39164058                                                <string key="objectName">Attributes by name</string> 
    39174059                                        </object> 
     
    39284070                                                        <reference ref="897401339"/> 
    39294071                                                </object> 
    3930                                                 <reference key="parent" ref="1049"/> 
     4072                                                <reference key="parent" ref="1012779145"/> 
    39314073                                                <string key="objectName">MainMenu</string> 
    39324074                                        </object> 
     
    41964338                                                        <reference ref="106977268"/> 
    41974339                                                </object> 
    4198                                                 <reference key="parent" ref="1049"/> 
     4340                                                <reference key="parent" ref="1012779145"/> 
    41994341                                                <string key="objectName">Progress panel</string> 
    42004342                                        </object> 
     
    42324374                                                <int key="objectID">716</int> 
    42334375                                                <reference key="object" ref="1038163843"/> 
    4234                                                 <reference key="parent" ref="1049"/> 
     4376                                                <reference key="parent" ref="1012779145"/> 
    42354377                                        </object> 
    42364378                                        <object class="IBObjectRecord"> 
    42374379                                                <int key="objectID">717</int> 
    42384380                                                <reference key="object" ref="418952110"/> 
    4239                                                 <reference key="parent" ref="1049"/> 
     4381                                                <reference key="parent" ref="1012779145"/> 
    42404382                                        </object> 
    42414383                                        <object class="IBObjectRecord"> 
    42424384                                                <int key="objectID">749</int> 
    42434385                                                <reference key="object" ref="80697434"/> 
    4244                                                 <reference key="parent" ref="1049"/> 
     4386                                                <reference key="parent" ref="1012779145"/> 
    42454387                                                <string key="objectName">Entities by name</string> 
    42464388                                        </object> 
     
    42524394                                                        <reference ref="957137145"/> 
    42534395                                                </object> 
    4254                                                 <reference key="parent" ref="1049"/> 
     4396                                                <reference key="parent" ref="1012779145"/> 
    42554397                                                <string key="objectName">momc fail</string> 
    42564398                                        </object> 
     
    43034445                                                        <reference ref="470478207"/> 
    43044446                                                </object> 
    4305                                                 <reference key="parent" ref="1049"/> 
     4447                                                <reference key="parent" ref="1012779145"/> 
    43064448                                                <string key="objectName">Log Window</string> 
    43074449                                        </object> 
     
    47734915                                                        <reference ref="690133665"/> 
    47744916                                                        <reference ref="127939036"/> 
    4775                                                 </object> 
    4776                                                 <reference key="parent" ref="1049"/> 
     4917                                                        <reference ref="165541584"/> 
     4918                                                </object> 
     4919                                                <reference key="parent" ref="1012779145"/> 
    47774920                                                <string key="objectName">Data Model Export</string> 
    47784921                                        </object> 
     
    48034946                                                        <reference ref="318307494"/> 
    48044947                                                        <reference ref="929742981"/> 
     4948                                                        <reference ref="507231372"/> 
    48054949                                                </object> 
    48064950                                                <reference key="parent" ref="971332630"/> 
     
    48524996                                                <reference key="parent" ref="452600950"/> 
    48534997                                                <string key="objectName">2</string> 
     4998                                        </object> 
     4999                                        <object class="IBObjectRecord"> 
     5000                                                <int key="objectID">1116</int> 
     5001                                                <reference key="object" ref="165541584"/> 
     5002                                                <object class="NSMutableArray" key="children"> 
     5003                                                        <bool key="EncodedWithXMLCoder">YES</bool> 
     5004                                                        <reference ref="1033590321"/> 
     5005                                                        <reference ref="640228329"/> 
     5006                                                        <reference ref="383068874"/> 
     5007                                                </object> 
     5008                                                <reference key="parent" ref="305647686"/> 
     5009                                        </object> 
     5010                                        <object class="IBObjectRecord"> 
     5011                                                <int key="objectID">1118</int> 
     5012                                                <reference key="object" ref="1033590321"/> 
     5013                                                <reference key="parent" ref="165541584"/> 
     5014                                        </object> 
     5015                                        <object class="IBObjectRecord"> 
     5016                                                <int key="objectID">1115</int> 
     5017                                                <reference key="object" ref="640228329"/> 
     5018                                                <reference key="parent" ref="165541584"/> 
     5019                                        </object> 
     5020                                        <object class="IBObjectRecord"> 
     5021                                                <int key="objectID">1119</int> 
     5022                                                <reference key="object" ref="383068874"/> 
     5023                                                <reference key="parent" ref="165541584"/> 
     5024                                        </object> 
     5025                                        <object class="IBObjectRecord"> 
     5026                                                <int key="objectID">1122</int> 
     5027                                                <reference key="object" ref="507231372"/> 
     5028                                                <reference key="parent" ref="1377"/> 
    48545029                                        </object> 
    48555030                                </object> 
     
    48595034                                <object class="NSMutableArray" key="dict.sortedKeys"> 
    48605035                                        <bool key="EncodedWithXMLCoder">YES</bool> 
    4861                                         <string>-1.IBPluginDependency</string> 
    4862                                         <string>-2.IBPluginDependency</string> 
    48635036                                        <string>-3.IBPluginDependency</string> 
    4864                                         <string>1000.IBPluginDependency</string> 
    48655037                                        <string>1001.IBPluginDependency</string> 
    4866                                         <string>1002.IBPluginDependency</string> 
    4867                                         <string>1003.IBPluginDependency</string> 
    48685038                                        <string>1004.IBPluginDependency</string> 
    48695039                                        <string>1005.IBPluginDependency</string> 
    48705040                                        <string>1006.IBPluginDependency</string> 
     5041                                        <string>1009.IBPluginDependency</string> 
     5042                                        <string>1011.IBPluginDependency</string> 
    48715043                                        <string>1013.CustomClassName</string> 
     5044                                        <string>1013.IBNumberFormatterLocalizesFormatMetadataKey</string> 
    48725045                                        <string>1013.IBPluginDependency</string> 
    48735046                                        <string>1016.IBPluginDependency</string> 
     
    48785051                                        <string>1028.IBEditorWindowLastContentRect</string> 
    48795052                                        <string>1028.IBPluginDependency</string> 
    4880                                         <string>1031.IBPluginDependency</string> 
    4881                                         <string>1033.IBPluginDependency</string> 
    4882                                         <string>1034.IBPluginDependency</string> 
    48835053                                        <string>1035.IBPluginDependency</string> 
    48845054                                        <string>1036.IBPluginDependency</string> 
     
    49025072                                        <string>1075.IBPluginDependency</string> 
    49035073                                        <string>1076.IBPluginDependency</string> 
     5074                                        <string>1077.IBPluginDependency</string> 
    49045075                                        <string>1078.IBPluginDependency</string> 
    49055076                                        <string>1079.IBPluginDependency</string> 
     5077                                        <string>1080.IBPluginDependency</string> 
    49065078                                        <string>1092.IBPluginDependency</string> 
    49075079                                        <string>1094.IBEditorWindowLastContentRect</string> 
     
    49245096                                        <string>1110.IBPluginDependency</string> 
    49255097                                        <string>1110.ImportedFromIB2</string> 
     5098                                        <string>1115.IBPluginDependency</string> 
     5099                                        <string>1122.IBPluginDependency</string> 
    49265100                                        <string>449.IBEditorWindowLastContentRect</string> 
    49275101                                        <string>449.IBPluginDependency</string> 
     
    49335107                                        <string>450.IBPluginDependency</string> 
    49345108                                        <string>452.IBPluginDependency</string> 
     5109                                        <string>453.IBPluginDependency</string> 
    49355110                                        <string>454.IBPluginDependency</string> 
    49365111                                        <string>454.ImportedFromIB2</string> 
     5112                                        <string>455.IBPluginDependency</string> 
    49375113                                        <string>456.IBPluginDependency</string> 
    49385114                                        <string>457.IBPluginDependency</string> 
     
    49575133                                        <string>471.IBPluginDependency</string> 
    49585134                                        <string>472.IBPluginDependency</string> 
     5135                                        <string>510.IBPluginDependency</string> 
    49595136                                        <string>511.IBEditorWindowLastContentRect</string> 
    49605137                                        <string>511.IBPluginDependency</string> 
     
    49915168                                        <string>524.IBPluginDependency</string> 
    49925169                                        <string>524.ImportedFromIB2</string> 
     5170                                        <string>525.IBPluginDependency</string> 
     5171                                        <string>526.IBPluginDependency</string> 
     5172                                        <string>527.IBPluginDependency</string> 
     5173                                        <string>528.IBPluginDependency</string> 
     5174                                        <string>529.IBPluginDependency</string> 
     5175                                        <string>530.IBPluginDependency</string> 
     5176                                        <string>531.IBPluginDependency</string> 
     5177                                        <string>532.IBPluginDependency</string> 
    49935178                                        <string>533.IBPluginDependency</string> 
    49945179                                        <string>533.ImportedFromIB2</string> 
     5180                                        <string>534.IBPluginDependency</string> 
     5181                                        <string>535.IBPluginDependency</string> 
    49955182                                        <string>536.IBPluginDependency</string> 
    49965183                                        <string>536.ImportedFromIB2</string> 
     
    51005287                                        <string>714.IBPluginDependency</string> 
    51015288                                        <string>714.ImportedFromIB2</string> 
    5102                                         <string>716.IBPluginDependency</string> 
     5289                                        <string>715.IBPluginDependency</string> 
    51035290                                        <string>717.IBPluginDependency</string> 
    51045291                                        <string>749.IBPluginDependency</string> 
     
    51165303                                        <string>832.IBPluginDependency</string> 
    51175304                                        <string>833.IBPluginDependency</string> 
     5305                                        <string>840.IBPluginDependency</string> 
    51185306                                        <string>849.IBEditorWindowLastContentRect</string> 
    51195307                                        <string>849.IBPluginDependency</string> 
     
    51315319                                        <string>854.IBPluginDependency</string> 
    51325320                                        <string>854.ImportedFromIB2</string> 
     5321                                        <string>855.IBPluginDependency</string> 
    51335322                                        <string>855.IBShouldRemoveOnLegacySave</string> 
     5323                                        <string>856.IBPluginDependency</string> 
    51345324                                        <string>856.IBShouldRemoveOnLegacySave</string> 
    51355325                                        <string>862.IBPluginDependency</string> 
     
    51665356                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    51675357                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5168                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5169                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5170                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    51715358                                        <string>BXAPortFormatter</string> 
     5359                                        <integer value="1"/> 
    51725360                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    51735361                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     
    51875375                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    51885376                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5189                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5190                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5191                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    51925377                                        <string>{{422, 824}, {198, 43}}</string> 
    51935378                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     
    52055390                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52065391                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5207                                         <string>{{243, 515}, {295, 60}}</string> 
     5392                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5393                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5394                                        <string>{{182, 698}, {323, 112}}</string> 
    52085395                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52095396                                        <string>{628, 654}</string> 
     
    52115398                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52125399                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5213                                         <string>{{330, 718}, {210, 63}}</string> 
    5214                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5215                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5216                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5217                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5218                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5219                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5220                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5221                                         <reference ref="9"/> 
    5222                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5223                                         <reference ref="9"/> 
    5224                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5225                                         <reference ref="9"/> 
    5226                                         <string>{{118, 288}, {506, 387}}</string> 
    5227                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5228                                         <string>{{118, 288}, {506, 387}}</string> 
     5400                                        <string>{{243, 709}, {234, 83}}</string> 
     5401                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5402                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5403                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5404                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5405                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5406                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5407                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5408                                        <reference ref="9"/> 
     5409                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5410                                        <reference ref="9"/> 
     5411                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5412                                        <reference ref="9"/> 
     5413                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5414                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5415                                        <string>{{464, -173}, {506, 387}}</string> 
     5416                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5417                                        <string>{{464, -173}, {506, 387}}</string> 
    52295418                                        <reference ref="8"/> 
    52305419                                        <string>{{441, 464}, {506, 387}}</string> 
     
    52345423                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52355424                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5236                                         <reference ref="9"/> 
     5425                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5426                                        <reference ref="9"/> 
     5427                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52375428                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52385429                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     
    52555446                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52565447                                        <string>BXAEntityCell</string> 
     5448                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52575449                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    52585450                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     
    52925484                                        <reference ref="9"/> 
    52935485                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5294                                         <reference ref="9"/> 
    5295                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5296                                         <reference ref="9"/> 
    5297                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5298                                         <reference ref="9"/> 
    5299                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5300                                         <string>{{-12, 514}, {431, 20}}</string> 
     5486                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5487                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5488                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5489                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5490                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5491                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5492                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5493                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5494                                        <reference ref="9"/> 
     5495                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5496                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5497                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5498                                        <reference ref="9"/> 
     5499                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5500                                        <reference ref="9"/> 
     5501                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5502                                        <string>{{0, 514}, {431, 20}}</string> 
    53015503                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    53025504                                        <reference ref="9"/> 
     
    53675569                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    53685570                                        <reference ref="9"/> 
    5369                                         <string>{{151, 261}, {319, 253}}</string> 
     5571                                        <string>{{163, 261}, {319, 253}}</string> 
    53705572                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    53715573                                        <reference ref="9"/> 
     
    53905592                                        <reference ref="9"/> 
    53915593                                        <string>{{187, 979}, {234, 81}}</string> 
    5392                                         <reference ref="9"/> 
     5594                                        <integer value="0" id="6"/> 
    53935595                                        <reference ref="9"/> 
    53945596                                        <string>{3.40282e+38, 3.40282e+38}</string> 
     
    54035605                                        <string>fi.karppinen.BaseTen.InterfaceBuilderPlugin</string> 
    54045606                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5405                                         <string>{{265, 296}, {425, 233}}</string> 
    5406                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    5407                                         <string>{{265, 296}, {425, 233}}</string> 
     5607                                        <string>{{425, 296}, {425, 233}}</string> 
     5608                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5609                                        <string>{{425, 296}, {425, 233}}</string> 
    54085610                                        <reference ref="8"/> 
    54095611                                        <reference ref="8"/> 
     
    54165618                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    54175619                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5620                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    54185621                                        <string>{{301, 332}, {389, 320}}</string> 
    54195622                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     
    54215624                                        <reference ref="9"/> 
    54225625                                        <string>{{906, 834}, {308, 201}}</string> 
    5423                                         <reference ref="9"/> 
     5626                                        <reference ref="6"/> 
    54245627                                        <reference ref="9"/> 
    54255628                                        <string>{3.40282e+38, 3.40282e+38}</string> 
     
    54315634                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    54325635                                        <reference ref="9"/> 
    5433                                         <reference ref="9"/> 
     5636                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     5637                                        <reference ref="9"/> 
     5638                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
    54345639                                        <reference ref="9"/> 
    54355640                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string> 
     
    54785683                        </object> 
    54795684                        <nil key="sourceID"/> 
    5480                         <int key="maxID">1113</int> 
     5685                        <int key="maxID">1122</int> 
    54815686                </object> 
    54825687                <object class="IBClassDescriber" key="IBDocument.Classes"> 
  • trunk/BaseTenAssistant/Sources/BXAController.h

    r1191 r1316  
    9999        BOOL mLastSelectedEntityWasView; 
    100100        BOOL mDeniedSchemaInstall; 
     101        BOOL mExportUsingFkeyNames; 
     102        BOOL mExportUsingTargetRelationNames; 
    101103} 
    102104 
     
    104106@property (readonly) NSWindow* mainWindow; 
    105107@property (readwrite, retain) NSSavePanel* savePanel; 
     108@property (readwrite, assign) BOOL exportsUsingFkeyNames; 
     109@property (readwrite, assign) BOOL exportsUsingTargetRelationNames; 
    106110 
    107111 
  • trunk/BaseTenAssistant/Sources/BXAController.m

    r1279 r1316  
    5151#import <BaseTen/BXLogger.h> 
    5252#import <BaseTen/BXDatabaseObjectModelXMLSerialization.h> 
     53#import <BaseTen/BXDatabaseObjectModelMOMSerialization.h> 
    5354 
    5455#import <sys/socket.h> 
     
    8889@implementation BXAController 
    8990@synthesize savePanel = mSavePanel; 
     91@synthesize exportsUsingFkeyNames = mExportUsingFkeyNames; 
     92@synthesize exportsUsingTargetRelationNames = mExportUsingTargetRelationNames; 
    9093 
    9194//Patch by Tim Bedford 2008-08-11 
     
    97100        mServiceBrowser = [[NSNetServiceBrowser alloc] init]; 
    98101        [mServiceBrowser setDelegate:self]; 
    99          
     102        //End patch 
     103        mExportUsingFkeyNames = YES; 
     104        mExportUsingTargetRelationNames = YES; 
     105         
     106        //Patch by Tim Bedford 2008-08-11 
    100107        return self; 
    101108} 
     
    11611168                NSError* error = nil; 
    11621169                BXDatabaseObjectModel* model = [mContext databaseObjectModel]; 
    1163                 NSXMLDocument* doc = [BXDatabaseObjectModelXMLSerialization documentFromObjectModel: model error: &error]; 
    11641170                ExpectV (model); 
    1165                 ExpectV (doc); 
    1166                  
    1167                 if (error) 
    1168                 { 
    1169                         [NSApp presentError: error modalForWindow: mMainWindow delegate: nil 
    1170                          didPresentSelector: NULL contextInfo: NULL]; 
     1171                 
     1172                const NSInteger selectedTag = [mModelFormatButton selectedTag]; 
     1173                 
     1174                enum BXDatabaseObjectModelSerializationOptions options = kBXDatabaseObjectModelSerializationOptionNone; 
     1175                if (mExportUsingFkeyNames) 
     1176                        options |= kBXDatabaseObjectModelSerializationOptionRelationshipsUsingFkeyNames; 
     1177                if (mExportUsingTargetRelationNames) 
     1178                        options |= kBXDatabaseObjectModelSerializationOptionRelationshipsUsingTargetRelationNames; 
     1179                 
     1180                NSData* modelData = nil; 
     1181                if (4 == selectedTag) 
     1182                { 
     1183                        NSManagedObjectModel* moModel =  
     1184                        [BXDatabaseObjectModelMOMSerialization managedObjectModelFromDatabaseObjectModel: model options: options error: &error]; 
     1185 
     1186                        if (error) 
     1187                        { 
     1188                                [NSApp presentError: error modalForWindow: mMainWindow delegate: nil 
     1189                                 didPresentSelector: NULL contextInfo: NULL]; 
     1190                        } 
     1191                        else 
     1192                        { 
     1193                                ExpectV (moModel); 
     1194                                modelData = [NSKeyedArchiver archivedDataWithRootObject: moModel]; 
     1195                                ExpectV (modelData); 
     1196                        }        
    11711197                } 
    11721198                else 
    11731199                { 
    1174                         NSBundle* bundle = [NSBundle bundleForClass: [self class]]; 
    1175                         NSURL* xsltURL = nil; 
    1176                         switch ([mModelFormatButton selectedTag])  
     1200                        NSXMLDocument* doc = [BXDatabaseObjectModelXMLSerialization documentFromObjectModel: model options: options error: &error]; 
     1201                         
     1202                        if (error) 
    11771203                        { 
    1178                                 case 1: 
    1179                                         xsltURL = [NSURL fileURLWithPath: [bundle pathForResource: @"ObjectModel" ofType: @"xsl"]]; 
    1180                                         break; 
    1181                                          
    1182                                 case 2: 
    1183                                         xsltURL = [NSURL fileURLWithPath: [bundle pathForResource: @"ObjectModelRecords" ofType: @"xsl"]]; 
    1184                                         break; 
    1185                                          
    1186                                 default: 
    1187                                         break; 
     1204                                [NSApp presentError: error modalForWindow: mMainWindow delegate: nil 
     1205                                 didPresentSelector: NULL contextInfo: NULL]; 
    11881206                        } 
    1189                          
    1190                         if (xsltURL) 
     1207                        else 
    11911208                        { 
    1192                                 NSData* dotData = [doc objectByApplyingXSLTAtURL: xsltURL arguments: nil error: &error]; 
    1193                                 if (error) 
     1209                                ExpectV (doc); 
     1210 
     1211                                NSBundle* bundle = [NSBundle bundleForClass: [self class]]; 
     1212                                NSURL* xsltURL = nil; 
     1213                                switch (selectedTag)  
    11941214                                { 
    1195                                         [NSApp presentError: error modalForWindow: mMainWindow delegate: nil 
    1196                                          didPresentSelector: NULL contextInfo: NULL]; 
     1215                                        case 1: 
     1216                                                xsltURL = [NSURL fileURLWithPath: [bundle pathForResource: @"ObjectModel" ofType: @"xsl"]]; 
     1217                                                break; 
     1218                                                 
     1219                                        case 2: 
     1220                                                xsltURL = [NSURL fileURLWithPath: [bundle pathForResource: @"ObjectModelRecords" ofType: @"xsl"]]; 
     1221                                                break; 
     1222                                                 
     1223                                        default: 
     1224                                                break; 
    11971225                                } 
    1198                                 else 
     1226                                 
     1227                                if (xsltURL) 
    11991228                                { 
    1200                                         [dotData writeToURL: [sheet URL] options: NSAtomicWrite error: &error]; 
     1229                                        modelData = [doc objectByApplyingXSLTAtURL: xsltURL arguments: nil error: &error]; 
    12011230                                        if (error) 
    12021231                                        { 
    12031232                                                [NSApp presentError: error modalForWindow: mMainWindow delegate: nil 
    12041233                                                 didPresentSelector: NULL contextInfo: NULL]; 
     1234                                                ExpectV (! modelData); 
    12051235                                        } 
    12061236                                } 
    1207                         } 
    1208                         else 
    1209                         { 
    1210                                 NSData* xmlData = [doc XMLData]; 
    1211                                 [xmlData writeToURL: [sheet URL] options: NSAtomicWrite error: &error]; 
    1212                                 if (error) 
     1237                                else 
    12131238                                { 
    1214                                         [NSApp presentError: error modalForWindow: mMainWindow delegate: nil 
    1215                                          didPresentSelector: NULL contextInfo: NULL]; 
     1239                                        modelData = [doc XMLData]; 
     1240                                        ExpectV (modelData); 
    12161241                                } 
    12171242                        } 
     1243                } 
     1244                 
     1245                if (modelData) 
     1246                { 
     1247                        [modelData writeToURL: [sheet URL] options: NSAtomicWrite error: &error]; 
     1248                        if (error) 
     1249                        { 
     1250                                [NSApp presentError: error modalForWindow: mMainWindow delegate: nil 
     1251                                 didPresentSelector: NULL contextInfo: NULL]; 
     1252                        } 
     1253                         
    12181254                } 
    12191255        } 
     
    16251661                        [mSavePanel setRequiredFileType: @"dot"]; 
    16261662                        break; 
     1663                case 4: 
     1664                        [mSavePanel setRequiredFileType: @"mom"]; 
     1665                        break; 
    16271666                case 3: 
    16281667                default: 
  • trunk/Sources/BXConstants.h

    r1257 r1316  
    163163        kBXPropertyKindRelationship /**< The property is a relationship. */ 
    164164}; 
     165 
     166enum BXDatabaseObjectModelSerializationOptions 
     167{ 
     168        kBXDatabaseObjectModelSerializationOptionNone                                  = 0, 
     169        kBXDatabaseObjectModelSerializationOptionRelationshipsUsingFkeyNames           = (1 << 0), 
     170        kBXDatabaseObjectModelSerializationOptionRelationshipsUsingTargetRelationNames = (1 << 1) 
     171}; 
  • trunk/Sources/BXDatabaseObjectModelXMLSerialization.h

    r1135 r1316  
    3535{ 
    3636} 
    37 + (NSData *) dataFromObjectModel: (BXDatabaseObjectModel *) objectModel error: (NSError **) outError; 
    38 + (NSXMLDocument *) documentFromObjectModel: (BXDatabaseObjectModel *) objectModel error: (NSError **) outError; 
     37+ (NSData *) dataFromObjectModel: (BXDatabaseObjectModel *) objectModel  
     38                                                 options: (enum BXDatabaseObjectModelSerializationOptions) options 
     39                                                   error: (NSError **) outError; 
     40+ (NSXMLDocument *) documentFromObjectModel: (BXDatabaseObjectModel *) objectModel  
     41                                                                        options: (enum BXDatabaseObjectModelSerializationOptions) options 
     42                                                                          error: (NSError **) outError; 
    3943@end 
  • trunk/Sources/BXDatabaseObjectModelXMLSerialization.m

    r1135 r1316  
    3333#import "BXAttributeDescription.h" 
    3434#import "BXRelationshipDescription.h" 
     35#import "BXRelationshipDescriptionPrivate.h" 
    3536 
    3637 
    3738@implementation BXDatabaseObjectModelXMLSerialization 
    38 + (NSData *) dataFromObjectModel: (BXDatabaseObjectModel *) objectModel error: (NSError **) outError 
     39+ (NSData *) dataFromObjectModel: (BXDatabaseObjectModel *) objectModel  
     40                                                 options: (enum BXDatabaseObjectModelSerializationOptions) options 
     41                                                   error: (NSError **) outError 
    3942{ 
    40         return [[self documentFromObjectModel: objectModel error: outError] XMLData]; 
     43        return [[self documentFromObjectModel: objectModel options: options error: outError] XMLData]; 
    4144} 
    4245 
    4346 
    44 + (NSXMLDocument *) documentFromObjectModel: (BXDatabaseObjectModel *) objectModel error: (NSError **) outError 
     47+ (NSXMLDocument *) documentFromObjectModel: (BXDatabaseObjectModel *) objectModel  
     48                                                                        options: (enum BXDatabaseObjectModelSerializationOptions) options 
     49                                                                          error: (NSError **) outError 
    4550{ 
     51        const BOOL exportFkeyRelationships    = options & kBXDatabaseObjectModelSerializationOptionRelationshipsUsingFkeyNames; 
     52        const BOOL exportRelNameRelationships = options & kBXDatabaseObjectModelSerializationOptionRelationshipsUsingTargetRelationNames; 
     53 
    4654        NSXMLElement* root = [NSXMLElement elementWithName: @"objectModel"]; 
    4755        NSXMLDocument* retval = [NSXMLDocument documentWithRootElement: root]; 
     
    7785                [entity addChild: attrs]; 
    7886                 
    79                 if ([currentEntity hasCapability: kBXEntityCapabilityRelationships]) 
     87                if ((exportFkeyRelationships || exportRelNameRelationships) && [currentEntity hasCapability: kBXEntityCapabilityRelationships]) 
    8088                { 
    8189                        NSXMLElement* rels = [NSXMLElement elementWithName: @"relationships"]; 
    8290                        BXEnumerate (currentRel, e, [[currentEntity relationshipsByName] objectEnumerator]) 
    8391                        { 
    84                                 if (! [currentRel isDeprecated]) 
     92                                BOOL usesRelNames = [currentRel usesRelationNames]; 
     93                                if (((usesRelNames && exportRelNameRelationships) || 
     94                                         (!usesRelNames && exportFkeyRelationships)) &&  
     95                                        ! [currentRel isDeprecated]) 
    8596                                { 
    8697                                        NSXMLElement* rel = [NSXMLElement elementWithName: @"relationship"]; 
  • trunk/Sources/BXPGInterface.m

    r1300 r1316  
    913913    @"  is_inverse, " 
    914914        @"  is_deprecated, " 
     915        @"  has_rel_names, " 
    915916        @"      srcnspname, " 
    916917    @"  srcrelname, " 
     
    10821083                                        [rel setDeprecated: [[currentRel objectForKey: @"is_deprecated"] boolValue]]; 
    10831084                                         
     1085                                        //Name kind 
     1086                                        [rel setUsesRelationNames: [[currentRel objectForKey: @"has_rel_names"] boolValue]]; 
     1087 
    10841088                                        //Optionality 
    10851089                                        //FIXME: all relationships are now treated as optional. NULL constraints should be checked, though. 
    10861090                                        [rel setOptional: YES]; 
    1087                  
     1091                                                         
    10881092                                        if ('m' == kind) 
    10891093                                        { 
  • trunk/Sources/BXRelationshipDescription.h

    r1109 r1316  
    4343        BOOL mIsInverse; 
    4444        BOOL mIsDeprecated; 
     45        BOOL mUsesRelationNames; 
    4546} 
    4647 
  • trunk/Sources/BXRelationshipDescription.m

    r1283 r1316  
    225225                mForeignKey = [aKey retain];             
    226226        } 
     227} 
     228 
     229- (BOOL) usesRelationNames 
     230{ 
     231        return mUsesRelationNames; 
     232} 
     233 
     234- (void) setUsesRelationNames: (BOOL) aBool 
     235{ 
     236        mUsesRelationNames = aBool; 
    227237} 
    228238 
  • trunk/Sources/BXRelationshipDescriptionPrivate.h

    r1109 r1316  
    4040- (BOOL) isInverse; 
    4141- (void) setIsInverse: (BOOL) aBool; 
     42- (BOOL) usesRelationNames; 
     43- (void) setUsesRelationNames: (BOOL) aBool; 
    4244- (void) setInverseName: (NSString *) aString; 
    4345- (void) setDeprecated: (BOOL) aBool;