diff options
author | bamse16 <marius@marius.me.uk> | 2010-01-31 18:56:25 +0000 |
---|---|---|
committer | bamse16 <marius@marius.me.uk> | 2010-01-31 18:56:25 +0000 |
commit | 223dd9139ae61d9319ea5f719a1a08feb63bfeb4 (patch) | |
tree | 378bf3a8440de007df8b8c76d0847abe845fa848 | |
parent | 890247960876e8dd987dd44ec98da4300b6a0fd3 (diff) | |
download | sequelpro-223dd9139ae61d9319ea5f719a1a08feb63bfeb4.tar.gz sequelpro-223dd9139ae61d9319ea5f719a1a08feb63bfeb4.tar.bz2 sequelpro-223dd9139ae61d9319ea5f719a1a08feb63bfeb4.zip |
Added preliminary support for triggers. You can access the tab via the
menu item View > Table Triggers (apple-6).
Heavily copied from Relations tab, lots of functionality missing. Just
lists the triggers for the table now.
M Source/SPTableData.m
M Source/SPConstants.h
M Source/SPConstants.m
A Source/SPTableTriggers.h
A Source/SPTableTriggers.m
M Source/TableDocument.h
M Source/TableDocument.m
M Source/SPTableData.h
M Interfaces/English.lproj/MainMenu.xib
M Interfaces/English.lproj/DBView.xib
M sequel-pro.xcodeproj/project.pbxproj
-rw-r--r-- | Interfaces/English.lproj/DBView.xib | 1237 | ||||
-rw-r--r-- | Interfaces/English.lproj/MainMenu.xib | 66 | ||||
-rw-r--r-- | Source/SPConstants.h | 1 | ||||
-rw-r--r-- | Source/SPConstants.m | 1 | ||||
-rw-r--r-- | Source/SPTableData.h | 2 | ||||
-rw-r--r-- | Source/SPTableData.m | 33 | ||||
-rw-r--r-- | Source/SPTableTriggers.h | 69 | ||||
-rw-r--r-- | Source/SPTableTriggers.m | 515 | ||||
-rw-r--r-- | Source/TableDocument.h | 1 | ||||
-rw-r--r-- | Source/TableDocument.m | 24 | ||||
-rw-r--r-- | sequel-pro.xcodeproj/project.pbxproj | 6 |
11 files changed, 1839 insertions, 116 deletions
diff --git a/Interfaces/English.lproj/DBView.xib b/Interfaces/English.lproj/DBView.xib index 07f099b2..534a09a3 100644 --- a/Interfaces/English.lproj/DBView.xib +++ b/Interfaces/English.lproj/DBView.xib @@ -18,18 +18,19 @@ <bool key="EncodedWithXMLCoder">YES</bool> <string>740</string> <string>740</string> - <string>1.2.5</string> + <string>1.2.1</string> </object> </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="6266"/> + <integer value="6232"/> + <integer value="6701"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> <string>com.brandonwalkin.BWToolkit</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.WebKitIBPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> </object> <object class="NSMutableDictionary" key="IBDocument.Metadata"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -59,7 +60,7 @@ <string key="NSWindowTitle">Sequel Pro</string> <string key="NSWindowClass">NSWindow</string> <string key="NSViewClass">View</string> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{780, 480}</string> <object class="NSView" key="NSWindowView" id="579726586"> <reference key="NSNextResponder"/> @@ -237,7 +238,7 @@ <string key="NSColorName">controlBackgroundColor</string> <object class="NSColor" key="NSColor" id="1001122760"> <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes> + <bytes key="NSWhite">MC42NjY2NjY2ODY1AA</bytes> </object> </object> <reference key="NSTextColor" ref="454249633"/> @@ -294,7 +295,7 @@ <reference key="NSSuperview" ref="607475905"/> <reference key="NSTarget" ref="607475905"/> <string key="NSAction">_doScroller:</string> - <double key="NSPercent">0.42105263157894735</double> + <double key="NSPercent">0.42105263471603394</double> </object> <object class="NSScroller" id="142487484"> <reference key="NSNextResponder" ref="607475905"/> @@ -424,7 +425,7 @@ <reference key="NSSuperview" ref="233472824"/> <reference key="NSTarget" ref="233472824"/> <string key="NSAction">_doScroller:</string> - <double key="NSCurValue">0.096045197740113011</double> + <double key="NSCurValue">0.096045196056365967</double> <double key="NSPercent">0.99658697843551636</double> </object> <object class="NSScroller" id="656188692"> @@ -588,7 +589,7 @@ <reference key="NSSuperview" ref="298226231"/> <reference key="NSTarget" ref="298226231"/> <string key="NSAction">_doScroller:</string> - <double key="NSCurValue">0.48965517241379308</double> + <double key="NSCurValue">0.48965516686439514</double> <double key="NSPercent">0.94736838340759277</double> </object> <object class="NSScroller" id="353686052"> @@ -873,7 +874,7 @@ <object class="NSTabViewItem" id="831053945"> <string key="NSIdentifier">source</string> <object class="NSView" key="NSView" id="461236772"> - <reference key="NSNextResponder" ref="714795046"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">256</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -1693,7 +1694,6 @@ <bool key="BWGBHasTopBorder">NO</bool> <bool key="BWGBHasBottomBorder">NO</bool> <bool key="BWGBHasGradient">NO</bool> - <bool key="BWGBHasFillColor">NO</bool> <float key="BWGBTopInsetAlpha">0.0</float> <float key="BWGBBottomInsetAlpha">0.0</float> </object> @@ -2135,7 +2135,6 @@ </object> </object> <string key="NSFrame">{{10, 7}, {706, 544}}</string> - <reference key="NSSuperview" ref="714795046"/> </object> <string key="NSLabel">Structure</string> <reference key="NSColor" ref="62854682"/> @@ -2161,13 +2160,13 @@ <object class="NSTableView" id="22576329"> <reference key="NSNextResponder" ref="545438501"/> <int key="NSvFlags">4352</int> - <string key="NSFrameSize">{688, 455}</string> + <string key="NSFrameSize">{694, 455}</string> <reference key="NSSuperview" ref="545438501"/> <bool key="NSEnabled">YES</bool> <object class="NSTableHeaderView" key="NSHeaderView" id="457166030"> <reference key="NSNextResponder" ref="498696185"/> <int key="NSvFlags">256</int> - <string key="NSFrameSize">{688, 17}</string> + <string key="NSFrameSize">{694, 17}</string> <reference key="NSSuperview" ref="498696185"/> <reference key="NSTableView" ref="22576329"/> </object> @@ -2221,7 +2220,7 @@ <int key="NSTableViewDraggingDestinationStyle">0</int> </object> </object> - <string key="NSFrame">{{1, 17}, {688, 455}}</string> + <string key="NSFrame">{{1, 17}, {694, 455}}</string> <reference key="NSSuperview" ref="33038697"/> <reference key="NSNextKeyView" ref="22576329"/> <reference key="NSDocView" ref="22576329"/> @@ -2255,7 +2254,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <reference ref="457166030"/> </object> - <string key="NSFrame">{{1, 0}, {688, 17}}</string> + <string key="NSFrame">{{1, 0}, {694, 17}}</string> <reference key="NSSuperview" ref="33038697"/> <reference key="NSNextKeyView" ref="457166030"/> <reference key="NSDocView" ref="457166030"/> @@ -2264,7 +2263,7 @@ </object> <reference ref="561547869"/> </object> - <string key="NSFrame">{{6, 32}, {690, 473}}</string> + <string key="NSFrame">{{6, 32}, {696, 473}}</string> <reference key="NSSuperview" ref="1013108064"/> <reference key="NSNextKeyView" ref="545438501"/> <int key="NSsFlags">562</int> @@ -2279,7 +2278,7 @@ <reference key="NSNextResponder" ref="1013108064"/> <int key="NSvFlags">1289</int> <object class="NSPSMatrix" key="NSDrawMatrix"/> - <string key="NSFrame">{{674, 515}, {16, 16}}</string> + <string key="NSFrame">{{680, 515}, {16, 16}}</string> <reference key="NSSuperview" ref="1013108064"/> <int key="NSpiFlags">28938</int> <double key="NSMaxValue">100</double> @@ -2287,7 +2286,7 @@ <object class="NSButton" id="983589239"> <reference key="NSNextResponder" ref="1013108064"/> <int key="NSvFlags">265</int> - <string key="NSFrame">{{614, 513}, {54, 19}}</string> + <string key="NSFrame">{{620, 513}, {54, 19}}</string> <reference key="NSSuperview" ref="1013108064"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="322691380"> @@ -2407,7 +2406,7 @@ <string>NeXT TIFF v4.0 pasteboard type</string> </object> </object> - <string key="NSFrame">{{163, 10}, {533, 23}}</string> + <string key="NSFrame">{{163, 10}, {539, 23}}</string> <reference key="NSSuperview" ref="1013108064"/> <bool key="NSEnabled">YES</bool> <object class="NSImageCell" key="NSCell" id="238883532"> @@ -2452,7 +2451,7 @@ <object class="NSTextField" id="262235013"> <reference key="NSNextResponder" ref="1013108064"/> <int key="NSvFlags">290</int> - <string key="NSFrame">{{166, 6}, {415, 22}}</string> + <string key="NSFrame">{{166, 6}, {421, 22}}</string> <reference key="NSSuperview" ref="1013108064"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="665575636"> @@ -2494,7 +2493,7 @@ <object class="NSPopUpButton" id="830088955"> <reference key="NSNextResponder" ref="894187833"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{51, 3}, {157, 20}}</string> + <string key="NSFrame">{{51, 3}, {160, 20}}</string> <reference key="NSSuperview" ref="894187833"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="376863254"> @@ -2542,7 +2541,7 @@ <object class="NSPopUpButton" id="744029762"> <reference key="NSNextResponder" ref="894187833"/> <int key="NSvFlags">265</int> - <string key="NSFrame">{{213, 0}, {95, 25}}</string> + <string key="NSFrame">{{216, 0}, {95, 25}}</string> <reference key="NSSuperview" ref="894187833"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="105542136"> @@ -2587,7 +2586,7 @@ </object> </object> </object> - <string key="NSFrameSize">{310, 27}</string> + <string key="NSFrameSize">{313, 27}</string> <reference key="NSSuperview" ref="231622333"/> <string key="NSClassName">NSView</string> </object> @@ -2599,7 +2598,7 @@ <object class="NSSearchField" id="377771536"> <reference key="NSNextResponder" ref="641645529"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{5, 4}, {275, 19}}</string> + <string key="NSFrame">{{5, 4}, {278, 19}}</string> <reference key="NSSuperview" ref="641645529"/> <bool key="NSEnabled">YES</bool> <object class="NSSearchFieldCell" key="NSCell" id="667596795"> @@ -2662,7 +2661,7 @@ <object class="NSTextField" id="85531569"> <reference key="NSNextResponder" ref="641645529"/> <int key="NSvFlags">-2147483379</int> - <string key="NSFrame">{{128, 6}, {28, 14}}</string> + <string key="NSFrame">{{129, 6}, {28, 14}}</string> <reference key="NSSuperview" ref="641645529"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="194715102"> @@ -2678,7 +2677,7 @@ <object class="NSSearchField" id="722854793"> <reference key="NSNextResponder" ref="641645529"/> <int key="NSvFlags">-2147483378</int> - <string key="NSFrame">{{5, 4}, {111, 19}}</string> + <string key="NSFrame">{{5, 4}, {112, 19}}</string> <reference key="NSSuperview" ref="641645529"/> <bool key="NSEnabled">YES</bool> <object class="NSSearchFieldCell" key="NSCell" id="556901008"> @@ -2739,7 +2738,7 @@ <object class="NSSearchField" id="538700903"> <reference key="NSNextResponder" ref="641645529"/> <int key="NSvFlags">-2147483381</int> - <string key="NSFrame">{{169, 4}, {110, 19}}</string> + <string key="NSFrame">{{170, 4}, {111, 19}}</string> <reference key="NSSuperview" ref="641645529"/> <bool key="NSEnabled">YES</bool> <object class="NSSearchFieldCell" key="NSCell" id="564763515"> @@ -2800,12 +2799,12 @@ </object> </object> </object> - <string key="NSFrame">{{319, 0}, {281, 27}}</string> + <string key="NSFrame">{{322, 0}, {284, 27}}</string> <reference key="NSSuperview" ref="231622333"/> <string key="NSClassName">NSView</string> </object> </object> - <string key="NSFrame">{{6, 509}, {600, 27}}</string> + <string key="NSFrame">{{6, 509}, {606, 27}}</string> <reference key="NSSuperview" ref="1013108064"/> <bool key="NSIsVertical">YES</bool> <string key="NSAutosaveName">TableFilterSplitter</string> @@ -2813,7 +2812,7 @@ <object class="NSButton" id="924091760"> <reference key="NSNextResponder" ref="1013108064"/> <int key="NSvFlags">289</int> - <string key="NSFrame">{{648, 9}, {32, 25}}</string> + <string key="NSFrame">{{654, 9}, {32, 25}}</string> <reference key="NSSuperview" ref="1013108064"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="281993992"> @@ -2837,7 +2836,7 @@ <object class="NSButton" id="434675603"> <reference key="NSNextResponder" ref="1013108064"/> <int key="NSvFlags">289</int> - <string key="NSFrame">{{586, 9}, {32, 25}}</string> + <string key="NSFrame">{{592, 9}, {32, 25}}</string> <reference key="NSSuperview" ref="1013108064"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="105847394"> @@ -2861,7 +2860,7 @@ <object class="NSButton" id="429029434"> <reference key="NSNextResponder" ref="1013108064"/> <int key="NSvFlags">289</int> - <string key="NSFrame">{{617, 9}, {32, 25}}</string> + <string key="NSFrame">{{623, 9}, {32, 25}}</string> <reference key="NSSuperview" ref="1013108064"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="843215079"> @@ -2883,7 +2882,7 @@ </object> </object> </object> - <string key="NSFrame">{{10, 7}, {700, 544}}</string> + <string key="NSFrame">{{10, 7}, {706, 544}}</string> </object> <string key="NSLabel">Content</string> <reference key="NSColor" ref="62854682"/> @@ -3006,7 +3005,7 @@ <int key="NSsFlags">257</int> <reference key="NSTarget" ref="71560786"/> <string key="NSAction">_doScroller:</string> - <double key="NSCurValue">0.99979893000050313</double> + <double key="NSCurValue">0.99979895353317261</double> <double key="NSPercent">0.94565218687057495</double> </object> </object> @@ -3114,7 +3113,7 @@ <reference key="NSSuperview" ref="678281118"/> <reference key="NSTarget" ref="678281118"/> <string key="NSAction">_doScroller:</string> - <double key="NSCurValue">0.6578947368421052</double> + <double key="NSCurValue">0.65789473056793213</double> <double key="NSPercent">0.9375</double> </object> <object class="NSScroller" id="851610321"> @@ -3836,7 +3835,7 @@ <object class="NSTextView" id="69074373"> <reference key="NSNextResponder" ref="78677381"/> <int key="NSvFlags">2322</int> - <string key="NSFrameSize">{536, 14}</string> + <string key="NSFrameSize">{542, 14}</string> <reference key="NSSuperview" ref="78677381"/> <object class="NSTextContainer" key="NSTextContainer" id="708157837"> <object class="NSLayoutManager" key="NSLayoutManager"> @@ -3854,7 +3853,7 @@ <nil key="NSDelegate"/> </object> <reference key="NSTextView" ref="69074373"/> - <double key="NSWidth">536</double> + <double key="NSWidth">542</double> <int key="NSTCFlags">1</int> </object> <object class="NSTextViewSharedData" key="NSSharedData"> @@ -3900,7 +3899,7 @@ <nil key="NSDelegate"/> </object> </object> - <string key="NSFrame">{{1, 1}, {536, 69}}</string> + <string key="NSFrame">{{1, 1}, {542, 69}}</string> <reference key="NSSuperview" ref="709531668"/> <reference key="NSNextKeyView" ref="69074373"/> <reference key="NSDocView" ref="69074373"/> @@ -3911,7 +3910,7 @@ <object class="NSScroller" id="892376800"> <reference key="NSNextResponder" ref="709531668"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{537, 1}, {11, 69}}</string> + <string key="NSFrame">{{543, 1}, {11, 69}}</string> <reference key="NSSuperview" ref="709531668"/> <int key="NSsFlags">256</int> <reference key="NSTarget" ref="709531668"/> @@ -3930,7 +3929,7 @@ <double key="NSPercent">0.94565218687057495</double> </object> </object> - <string key="NSFrame">{{96, 0}, {549, 71}}</string> + <string key="NSFrame">{{96, 0}, {555, 71}}</string> <reference key="NSSuperview" ref="259390764"/> <reference key="NSNextKeyView" ref="78677381"/> <int key="NSsFlags">18</int> @@ -3955,7 +3954,7 @@ </object> </object> </object> - <string key="NSFrameSize">{645, 71}</string> + <string key="NSFrameSize">{651, 71}</string> <reference key="NSSuperview" ref="501779393"/> <string key="NSClassName">NSView</string> </object> @@ -3977,7 +3976,7 @@ <object class="NSTextView" id="421486962"> <reference key="NSNextResponder" ref="637054939"/> <int key="NSvFlags">2322</int> - <string key="NSFrameSize">{536, 14}</string> + <string key="NSFrameSize">{542, 14}</string> <reference key="NSSuperview" ref="637054939"/> <object class="NSTextContainer" key="NSTextContainer" id="194867362"> <object class="NSLayoutManager" key="NSLayoutManager"> @@ -3995,7 +3994,7 @@ <nil key="NSDelegate"/> </object> <reference key="NSTextView" ref="421486962"/> - <double key="NSWidth">536</double> + <double key="NSWidth">542</double> <int key="NSTCFlags">1</int> </object> <object class="NSTextViewSharedData" key="NSSharedData"> @@ -4038,7 +4037,7 @@ <nil key="NSDelegate"/> </object> </object> - <string key="NSFrame">{{1, 1}, {536, 196}}</string> + <string key="NSFrame">{{1, 1}, {542, 196}}</string> <reference key="NSSuperview" ref="449863508"/> <reference key="NSNextKeyView" ref="421486962"/> <reference key="NSDocView" ref="421486962"/> @@ -4049,7 +4048,7 @@ <object class="NSScroller" id="633929130"> <reference key="NSNextResponder" ref="449863508"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{537, 1}, {11, 196}}</string> + <string key="NSFrame">{{543, 1}, {11, 196}}</string> <reference key="NSSuperview" ref="449863508"/> <int key="NSsFlags">256</int> <reference key="NSTarget" ref="449863508"/> @@ -4068,7 +4067,7 @@ <double key="NSPercent">0.94565218687057495</double> </object> </object> - <string key="NSFrame">{{96, 0}, {549, 198}}</string> + <string key="NSFrame">{{96, 0}, {555, 198}}</string> <reference key="NSSuperview" ref="983998494"/> <reference key="NSNextKeyView" ref="637054939"/> <int key="NSsFlags">18</int> @@ -4093,12 +4092,12 @@ </object> </object> </object> - <string key="NSFrame">{{0, 80}, {645, 198}}</string> + <string key="NSFrame">{{0, 80}, {651, 198}}</string> <reference key="NSSuperview" ref="501779393"/> <string key="NSClassName">NSView</string> </object> </object> - <string key="NSFrame">{{24, 30}, {645, 278}}</string> + <string key="NSFrame">{{24, 30}, {651, 278}}</string> <reference key="NSSuperview" ref="730602982"/> <string key="NSAutosaveName">TableInfoSplitter</string> </object> @@ -4121,7 +4120,7 @@ <object class="NSTextField" id="326368890"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{305, 473}, {342, 14}}</string> + <string key="NSFrame">{{305, 473}, {348, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="705814774"> @@ -4137,7 +4136,7 @@ <object class="NSTextField" id="644870593"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{308, 498}, {339, 14}}</string> + <string key="NSFrame">{{308, 498}, {345, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="51220700"> @@ -4281,7 +4280,7 @@ <object class="NSBox" id="83205768"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">10</int> - <string key="NSFrame">{{25, 425}, {644, 5}}</string> + <string key="NSFrame">{{25, 425}, {650, 5}}</string> <reference key="NSSuperview" ref="730602982"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -4303,7 +4302,7 @@ <object class="NSBox" id="349710554"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">10</int> - <string key="NSFrame">{{24, 314}, {644, 5}}</string> + <string key="NSFrame">{{24, 314}, {650, 5}}</string> <reference key="NSSuperview" ref="730602982"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -4325,7 +4324,7 @@ <object class="NSTextField" id="412060569"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">270</int> - <string key="NSFrame">{{22, 398}, {256, 14}}</string> + <string key="NSFrame">{{22, 398}, {258, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="632489290"> @@ -4341,7 +4340,7 @@ <object class="NSTextField" id="795265894"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">270</int> - <string key="NSFrame">{{46, 376}, {232, 14}}</string> + <string key="NSFrame">{{46, 376}, {234, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="246518824"> @@ -4357,7 +4356,7 @@ <object class="NSTextField" id="747426446"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">270</int> - <string key="NSFrame">{{23, 354}, {255, 14}}</string> + <string key="NSFrame">{{23, 354}, {257, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="738092126"> @@ -4373,7 +4372,7 @@ <object class="NSTextField" id="140378338"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">270</int> - <string key="NSFrame">{{25, 332}, {253, 14}}</string> + <string key="NSFrame">{{25, 332}, {255, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="71975986"> @@ -4389,7 +4388,7 @@ <object class="NSTextField" id="803209800"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">270</int> - <string key="NSFrame">{{314, 398}, {358, 14}}</string> + <string key="NSFrame">{{314, 398}, {363, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="1035416348"> @@ -4405,7 +4404,7 @@ <object class="NSTextField" id="6005445"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">270</int> - <string key="NSFrame">{{290, 376}, {381, 14}}</string> + <string key="NSFrame">{{290, 376}, {386, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="502320319"> @@ -4421,7 +4420,7 @@ <object class="NSTextField" id="531020960"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{309, 354}, {362, 14}}</string> + <string key="NSFrame">{{309, 354}, {368, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="686395978"> @@ -4437,7 +4436,7 @@ <object class="NSTextField" id="35887466"> <reference key="NSNextResponder" ref="730602982"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{289, 332}, {383, 14}}</string> + <string key="NSFrame">{{289, 332}, {389, 14}}</string> <reference key="NSSuperview" ref="730602982"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="314352793"> @@ -4451,7 +4450,7 @@ </object> </object> </object> - <string key="NSFrame">{{10, 7}, {700, 544}}</string> + <string key="NSFrame">{{10, 7}, {706, 544}}</string> </object> <string key="NSLabel">Status</string> <reference key="NSColor" ref="62854682"/> @@ -4477,13 +4476,13 @@ <object class="NSTableView" id="952375340"> <reference key="NSNextResponder" ref="705580858"/> <int key="NSvFlags">4352</int> - <string key="NSFrameSize">{688, 454}</string> + <string key="NSFrameSize">{694, 454}</string> <reference key="NSSuperview" ref="705580858"/> <bool key="NSEnabled">YES</bool> <object class="NSTableHeaderView" key="NSHeaderView" id="370758200"> <reference key="NSNextResponder" ref="996985254"/> <int key="NSvFlags">256</int> - <string key="NSFrameSize">{688, 17}</string> + <string key="NSFrameSize">{694, 17}</string> <reference key="NSSuperview" ref="996985254"/> <reference key="NSTableView" ref="952375340"/> </object> @@ -4497,7 +4496,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSTableColumn" id="658265380"> <string key="NSIdentifier">name</string> - <double key="NSWidth">135</double> + <double key="NSWidth">136</double> <double key="NSMinWidth">8</double> <double key="NSMaxWidth">1000</double> <object class="NSTableHeaderCell" key="NSHeaderCell"> @@ -4527,7 +4526,7 @@ </object> <object class="NSTableColumn" id="648716804"> <string key="NSIdentifier">columns</string> - <double key="NSWidth">119</double> + <double key="NSWidth">120</double> <double key="NSMinWidth">10</double> <double key="NSMaxWidth">3.4028230607370965e+38</double> <object class="NSTableHeaderCell" key="NSHeaderCell"> @@ -4554,7 +4553,7 @@ </object> <object class="NSTableColumn" id="672854605"> <string key="NSIdentifier">fk_table</string> - <double key="NSWidth">104</double> + <double key="NSWidth">105</double> <double key="NSMinWidth">10</double> <double key="NSMaxWidth">3.4028230607370965e+38</double> <object class="NSTableHeaderCell" key="NSHeaderCell"> @@ -4581,7 +4580,7 @@ </object> <object class="NSTableColumn" id="5320"> <string key="NSIdentifier">fk_columns</string> - <double key="NSWidth">139</double> + <double key="NSWidth">140</double> <double key="NSMinWidth">10</double> <double key="NSMaxWidth">3.4028230607370965e+38</double> <object class="NSTableHeaderCell" key="NSHeaderCell"> @@ -4608,7 +4607,7 @@ </object> <object class="NSTableColumn" id="866215663"> <string key="NSIdentifier">on_update</string> - <double key="NSWidth">85</double> + <double key="NSWidth">86</double> <double key="NSMinWidth">10</double> <double key="NSMaxWidth">3.4028230607370965e+38</double> <object class="NSTableHeaderCell" key="NSHeaderCell"> @@ -4635,7 +4634,7 @@ </object> <object class="NSTableColumn" id="998929204"> <string key="NSIdentifier">on_delete</string> - <double key="NSWidth">88</double> + <double key="NSWidth">89</double> <double key="NSMinWidth">10</double> <double key="NSMaxWidth">3.4028230607370965e+38</double> <object class="NSTableHeaderCell" key="NSHeaderCell"> @@ -4676,7 +4675,7 @@ <int key="NSTableViewDraggingDestinationStyle">0</int> </object> </object> - <string key="NSFrame">{{1, 17}, {688, 454}}</string> + <string key="NSFrame">{{1, 17}, {694, 454}}</string> <reference key="NSSuperview" ref="717203719"/> <reference key="NSNextKeyView" ref="952375340"/> <reference key="NSDocView" ref="952375340"/> @@ -4709,7 +4708,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <reference ref="370758200"/> </object> - <string key="NSFrame">{{1, 0}, {688, 17}}</string> + <string key="NSFrame">{{1, 0}, {694, 17}}</string> <reference key="NSSuperview" ref="717203719"/> <reference key="NSNextKeyView" ref="370758200"/> <reference key="NSDocView" ref="370758200"/> @@ -4718,7 +4717,7 @@ </object> <reference ref="793765259"/> </object> - <string key="NSFrame">{{6, 32}, {690, 472}}</string> + <string key="NSFrame">{{6, 32}, {696, 472}}</string> <reference key="NSSuperview" ref="49633996"/> <reference key="NSNextKeyView" ref="705580858"/> <int key="NSsFlags">562</int> @@ -4807,7 +4806,7 @@ <string>NeXT TIFF v4.0 pasteboard type</string> </object> </object> - <string key="NSFrame">{{100, 10}, {596, 23}}</string> + <string key="NSFrame">{{100, 10}, {602, 23}}</string> <reference key="NSSuperview" ref="49633996"/> <bool key="NSEnabled">YES</bool> <object class="NSImageCell" key="NSCell" id="889065570"> @@ -4824,7 +4823,7 @@ <object class="NSTextField" id="970233701"> <reference key="NSNextResponder" ref="49633996"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{14, 515}, {681, 14}}</string> + <string key="NSFrame">{{14, 515}, {687, 14}}</string> <reference key="NSSuperview" ref="49633996"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="538829847"> @@ -4838,21 +4837,463 @@ </object> </object> </object> - <string key="NSFrame">{{10, 7}, {700, 544}}</string> + <string key="NSFrame">{{10, 7}, {706, 544}}</string> </object> <string key="NSLabel">Relations</string> <reference key="NSColor" ref="62854682"/> <reference key="NSTabView" ref="714795046"/> </object> + <object class="NSTabViewItem" id="75945221"> + <string key="NSIdentifier">triggers</string> + <object class="NSView" key="NSView" id="776303855"> + <reference key="NSNextResponder" ref="714795046"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSScrollView" id="207402382"> + <reference key="NSNextResponder" ref="776303855"/> + <int key="NSvFlags">4370</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSClipView" id="251711616"> + <reference key="NSNextResponder" ref="207402382"/> + <int key="NSvFlags">2304</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTableView" id="496402806"> + <reference key="NSNextResponder" ref="251711616"/> + <int key="NSvFlags">4352</int> + <string key="NSFrameSize">{694, 454}</string> + <reference key="NSSuperview" ref="251711616"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTableHeaderView" key="NSHeaderView" id="221977010"> + <reference key="NSNextResponder" ref="1062933180"/> + <int key="NSvFlags">256</int> + <string key="NSFrameSize">{694, 17}</string> + <reference key="NSSuperview" ref="1062933180"/> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="_NSCornerView" key="NSCornerView" id="488721364"> + <reference key="NSNextResponder" ref="207402382"/> + <int key="NSvFlags">-2147483392</int> + <string key="NSFrame">{{-26, 0}, {16, 17}}</string> + <reference key="NSSuperview" ref="207402382"/> + </object> + <object class="NSMutableArray" key="NSTableColumns"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTableColumn" id="900454738"> + <string key="NSIdentifier">table</string> + <double key="NSWidth">116</double> + <double key="NSMinWidth">8</double> + <double key="NSMaxWidth">1000</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Table</string> + <reference key="NSSupport" ref="26"/> + <object class="NSColor" key="NSBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes> + </object> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="527044458"> + <int key="NSCellFlags">338820672</int> + <int key="NSCellFlags2">132096</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="449903125"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="NSTableColumn" id="849108098"> + <string key="NSIdentifier">trigger</string> + <double key="NSWidth">100</double> + <double key="NSMinWidth">10</double> + <double key="NSMaxWidth">3.4028230607370965e+38</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Trigger</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="299403355"/> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="1061175759"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">133120</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="NSTableColumn" id="684549484"> + <string key="NSIdentifier">event</string> + <double key="NSWidth">85</double> + <double key="NSMinWidth">10</double> + <double key="NSMaxWidth">3.4028230607370965e+38</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Event</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="299403355"/> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="504099069"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">133120</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="NSTableColumn" id="676095135"> + <string key="NSIdentifier">timing</string> + <double key="NSWidth">121</double> + <double key="NSMinWidth">10</double> + <double key="NSMaxWidth">3.4028230607370965e+38</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Timing</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="299403355"/> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="453000072"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">133120</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="NSTableColumn" id="805441036"> + <string key="NSIdentifier">statement</string> + <double key="NSWidth">68</double> + <double key="NSMinWidth">10</double> + <double key="NSMaxWidth">3.4028230607370965e+38</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Stagement</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="299403355"/> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="522965270"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">133120</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="NSTableColumn" id="266935210"> + <string key="NSIdentifier">definer</string> + <double key="NSWidth">71</double> + <double key="NSMinWidth">10</double> + <double key="NSMaxWidth">3.4028230607370965e+38</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Definer</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="299403355"/> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="518919596"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">133120</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="NSTableColumn" id="619233826"> + <string key="NSIdentifier">created</string> + <double key="NSWidth">49</double> + <double key="NSMinWidth">10</double> + <double key="NSMaxWidth">3.4028234663852886e+38</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Created</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="299403355"/> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="191840572"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">133120</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + <object class="NSTableColumn" id="496712"> + <string key="NSIdentifier">sql_mode</string> + <double key="NSWidth">60</double> + <double key="NSMinWidth">10</double> + <double key="NSMaxWidth">3.4028234663852886e+38</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">SQL Mode</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="299403355"/> + <reference key="NSTextColor" ref="222976159"/> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="733046805"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">133120</int> + <string key="NSContents">Text Cell</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="496402806"/> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="496402806"/> + </object> + </object> + <double key="NSIntercellSpacingWidth">3</double> + <double key="NSIntercellSpacingHeight">2</double> + <reference key="NSBackgroundColor" ref="1024678221"/> + <reference key="NSGridColor" ref="864903678"/> + <double key="NSRowHeight">16</double> + <int key="NSTvFlags">-624918528</int> + <reference key="NSDelegate"/> + <reference key="NSDataSource"/> + <int key="NSColumnAutoresizingStyle">1</int> + <int key="NSDraggingSourceMaskForLocal">15</int> + <int key="NSDraggingSourceMaskForNonLocal">0</int> + <bool key="NSAllowsTypeSelect">YES</bool> + <int key="NSTableViewDraggingDestinationStyle">0</int> + </object> + </object> + <string key="NSFrame">{{1, 17}, {694, 454}}</string> + <reference key="NSSuperview" ref="207402382"/> + <reference key="NSNextKeyView" ref="496402806"/> + <reference key="NSDocView" ref="496402806"/> + <reference key="NSBGColor" ref="1024678221"/> + <int key="NScvFlags">2</int> + </object> + <object class="NSScroller" id="241398036"> + <reference key="NSNextResponder" ref="207402382"/> + <int key="NSvFlags">-2147483392</int> + <string key="NSFrame">{{674, 17}, {15, 453}}</string> + <reference key="NSSuperview" ref="207402382"/> + <reference key="NSTarget" ref="207402382"/> + <string key="NSAction">_doScroller:</string> + <double key="NSPercent">0.9669603705406189</double> + </object> + <object class="NSScroller" id="134580221"> + <reference key="NSNextResponder" ref="207402382"/> + <int key="NSvFlags">-2147483392</int> + <string key="NSFrame">{{1, 470}, {688, 15}}</string> + <reference key="NSSuperview" ref="207402382"/> + <int key="NSsFlags">1</int> + <reference key="NSTarget" ref="207402382"/> + <string key="NSAction">_doScroller:</string> + <double key="NSPercent">0.91195797920227051</double> + </object> + <object class="NSClipView" id="1062933180"> + <reference key="NSNextResponder" ref="207402382"/> + <int key="NSvFlags">2304</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="221977010"/> + </object> + <string key="NSFrame">{{1, 0}, {694, 17}}</string> + <reference key="NSSuperview" ref="207402382"/> + <reference key="NSNextKeyView" ref="221977010"/> + <reference key="NSDocView" ref="221977010"/> + <reference key="NSBGColor" ref="1024678221"/> + <int key="NScvFlags">4</int> + </object> + <reference ref="488721364"/> + </object> + <string key="NSFrame">{{6, 32}, {696, 472}}</string> + <reference key="NSSuperview" ref="776303855"/> + <reference key="NSNextKeyView" ref="251711616"/> + <int key="NSsFlags">562</int> + <reference key="NSVScroller" ref="241398036"/> + <reference key="NSHScroller" ref="134580221"/> + <reference key="NSContentView" ref="251711616"/> + <reference key="NSHeaderClipView" ref="1062933180"/> + <reference key="NSCornerView" ref="488721364"/> + <bytes key="NSScrollAmts">QSAAAEEgAABBkAAAQZAAAA</bytes> + </object> + <object class="NSButton" id="405054283"> + <reference key="NSNextResponder" ref="776303855"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{6, 9}, {32, 25}}</string> + <reference key="NSSuperview" ref="776303855"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="462661188"> + <int key="NSCellFlags">-1543373312</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="244931163"/> + <reference key="NSControlView" ref="405054283"/> + <int key="NSButtonFlags">-2042347265</int> + <int key="NSButtonFlags2">402653219</int> + <reference key="NSNormalImage" ref="411821371"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent">a</string> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <object class="NSButton" id="477504415"> + <reference key="NSNextResponder" ref="776303855"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{68, 9}, {32, 25}}</string> + <reference key="NSSuperview" ref="776303855"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="545932397"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="244931163"/> + <reference key="NSControlView" ref="477504415"/> + <int key="NSButtonFlags">-2041822977</int> + <int key="NSButtonFlags2">268435491</int> + <reference key="NSNormalImage" ref="6560983"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent">r</string> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <object class="NSButton" id="281574269"> + <reference key="NSNextResponder" ref="776303855"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{37, 9}, {32, 25}}</string> + <reference key="NSSuperview" ref="776303855"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="661106296"> + <int key="NSCellFlags">-1543373312</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="244931163"/> + <reference key="NSControlView" ref="281574269"/> + <int key="NSButtonFlags">-2042347265</int> + <int key="NSButtonFlags2">35</int> + <reference key="NSNormalImage" ref="860961653"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"></string> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <object class="NSImageView" id="585162074"> + <reference key="NSNextResponder" ref="776303855"/> + <int key="NSvFlags">290</int> + <object class="NSMutableSet" key="NSDragTypes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="set.sortedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>Apple PDF pasteboard type</string> + <string>Apple PICT pasteboard type</string> + <string>Apple PNG pasteboard type</string> + <string>NSFilenamesPboardType</string> + <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> + <string>NeXT TIFF v4.0 pasteboard type</string> + </object> + </object> + <string key="NSFrame">{{100, 10}, {602, 23}}</string> + <reference key="NSSuperview" ref="776303855"/> + <bool key="NSEnabled">YES</bool> + <object class="NSImageCell" key="NSCell" id="710458678"> + <int key="NSCellFlags">130560</int> + <int key="NSCellFlags2">33554432</int> + <reference key="NSContents" ref="843830563"/> + <int key="NSAlign">0</int> + <int key="NSScale">1</int> + <int key="NSStyle">0</int> + <bool key="NSAnimates">NO</bool> + </object> + <bool key="NSEditable">YES</bool> + </object> + <object class="NSTextField" id="722155001"> + <reference key="NSNextResponder" ref="776303855"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{14, 515}, {687, 14}}</string> + <reference key="NSSuperview" ref="776303855"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="315060361"> + <int key="NSCellFlags">67239488</int> + <int key="NSCellFlags2">272762880</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="722155001"/> + <reference key="NSBackgroundColor" ref="62854682"/> + <reference key="NSTextColor" ref="454249633"/> + </object> + </object> + </object> + <string key="NSFrame">{{10, 7}, {706, 544}}</string> + <reference key="NSSuperview" ref="714795046"/> + </object> + <string key="NSLabel">Triggers</string> + <reference key="NSColor" ref="62854682"/> + <reference key="NSTabView" ref="714795046"/> + </object> </object> - <reference key="NSSelectedTabViewItem" ref="831053945"/> + <reference key="NSSelectedTabViewItem" ref="75945221"/> <reference key="NSFont" ref="26"/> <int key="NSTvFlags">134217731</int> <bool key="NSAllowTruncatedLabels">YES</bool> <bool key="NSDrawsBackground">YES</bool> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="461236772"/> + <reference ref="776303855"/> </object> </object> </object> @@ -4873,7 +5314,7 @@ </object> <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> <string key="NSMinSize">{780, 502}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSFrameAutosaveName"/> </object> <object class="NSWindowTemplate" id="554105051"> @@ -5948,7 +6389,7 @@ <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{213, 107}</string> <object class="NSView" key="NSWindowView" id="329225443"> <nil key="NSNextResponder"/> @@ -6228,7 +6669,7 @@ </object> <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string> <string key="NSMinSize">{213, 129}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="734744289"> <int key="NSWindowStyleMask">1</int> @@ -6240,7 +6681,7 @@ <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{213, 107}</string> <object class="NSView" key="NSWindowView" id="234287744"> <nil key="NSNextResponder"/> @@ -6396,7 +6837,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string> <string key="NSMinSize">{213, 129}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="787219800"> <int key="NSWindowStyleMask">1</int> @@ -6406,7 +6847,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string key="NSWindowTitle">New Relation</string> <string key="NSWindowClass">NSPanel</string> <nil key="NSViewClass"/> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <object class="NSView" key="NSWindowView" id="842408319"> <nil key="NSNextResponder"/> <int key="NSvFlags">256</int> @@ -7007,7 +7448,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string key="NSFrameSize">{302, 307}</string> </object> <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="1066802919"> <int key="NSWindowStyleMask">3</int> @@ -7019,7 +7460,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{213, 50}</string> <object class="NSView" key="NSWindowView" id="525490268"> <nil key="NSNextResponder"/> @@ -7139,7 +7580,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> <string key="NSMinSize">{213, 72}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="553728448"> <int key="NSWindowStyleMask">9</int> @@ -7151,7 +7592,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{213, 107}</string> <object class="NSView" key="NSWindowView" id="1052076676"> <nil key="NSNextResponder"/> @@ -7286,7 +7727,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string> <string key="NSMinSize">{213, 129}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="828950706"> <int key="NSWindowStyleMask">15</int> @@ -7298,7 +7739,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{350, 200}</string> <object class="NSView" key="NSWindowView" id="749598685"> <nil key="NSNextResponder"/> @@ -7500,7 +7941,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string> <string key="NSMinSize">{350, 222}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="466147946"> <int key="NSWindowStyleMask">9</int> @@ -7512,7 +7953,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{213, 107}</string> <object class="NSView" key="NSWindowView" id="860968037"> <nil key="NSNextResponder"/> @@ -7661,7 +8102,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string> <string key="NSMinSize">{213, 129}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="78186995"> <int key="NSWindowStyleMask">31</int> @@ -7671,7 +8112,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string key="NSWindowTitle">MySQL Help</string> <string key="NSWindowClass">NSPanel</string> <nil key="NSViewClass"/> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{351, 120}</string> <object class="NSView" key="NSWindowView" id="539508428"> <nil key="NSNextResponder"/> @@ -8065,7 +8506,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <string key="NSScreenRect">{{0, 0}, {1280, 1002}}</string> <string key="NSMinSize">{351, 136}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSFrameAutosaveName">MYSQL_HELP_WINDOW</string> </object> <object class="NSWindowTemplate" id="176945499"> @@ -8078,7 +8519,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <object class="NSMutableString" key="NSViewClass"> <characters key="NS.bytes">View</characters> </object> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <string key="NSWindowContentMinSize">{350, 250}</string> <object class="NSView" key="NSWindowView" id="1024486775"> <nil key="NSNextResponder"/> @@ -8469,7 +8910,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> <string key="NSMinSize">{350, 272}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSWindowTemplate" id="434046103"> <int key="NSWindowStyleMask">9</int> @@ -8602,7 +9043,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string key="NSWindowTitle">Secure Text Input Sheet</string> <string key="NSWindowClass">NSPanel</string> <nil key="NSViewClass"/> - <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> <object class="NSView" key="NSWindowView" id="978976687"> <nil key="NSNextResponder"/> <int key="NSvFlags">256</int> @@ -8706,7 +9147,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string key="NSFrameSize">{338, 138}</string> </object> <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string> - <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSCustomView" id="139279766"> <nil key="NSNextResponder"/> @@ -10572,7 +11013,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string key="NSColorName">disabledControlTextColor</string> <object class="NSColor" key="NSColor"> <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes> + <bytes key="NSWhite">MC4zMzMzMzMzNDMzAA</bytes> </object> </object> </object> @@ -10751,6 +11192,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <object class="NSCustomObject" id="885866030"> <string key="NSClassName">SPTableRelations</string> </object> + <object class="NSCustomObject" id="33487092"> + <string key="NSClassName">SPTableTriggers</string> + </object> <object class="NSCustomObject" id="622219357"> <string key="NSClassName">SPTableInfo</string> </object> @@ -10925,6 +11369,20 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> </object> </object> + <object class="NSMenu" id="107658659"> + <string key="NSTitle"/> + <object class="NSMutableArray" key="NSMenuItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMenuItem" id="1062047500"> + <reference key="NSMenu" ref="107658659"/> + <string key="NSTitle">Delete Trigger</string> + <string key="NSKeyEquiv"/> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="450876295"/> + <reference key="NSMixedImage" ref="414351669"/> + </object> + </object> + </object> </object> <object class="IBObjectContainer" key="IBDocument.Objects"> <object class="NSMutableArray" key="connectionRecords"> @@ -12807,14 +13265,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">tableRelationsInstance</string> - <reference key="source" ref="427689665"/> - <reference key="destination" ref="885866030"/> - </object> - <int key="connectionID">5588</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> <string key="label">tableDocumentInstance</string> <reference key="source" ref="885866030"/> <reference key="destination" ref="427689665"/> @@ -14678,6 +15128,118 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> <int key="connectionID">6678</int> </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">menu</string> + <reference key="source" ref="496402806"/> + <reference key="destination" ref="294501108"/> + </object> + <int key="connectionID">6723</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">removeTrigger:</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="1062047500"/> + </object> + <int key="connectionID">6738</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">dataSource</string> + <reference key="source" ref="496402806"/> + <reference key="destination" ref="33487092"/> + </object> + <int key="connectionID">6739</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="496402806"/> + <reference key="destination" ref="33487092"/> + </object> + <int key="connectionID">6740</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">addTriggerButton</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="405054283"/> + </object> + <int key="connectionID">6741</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">tableDocumentInstance</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="427689665"/> + </object> + <int key="connectionID">6742</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">tableDataInstance</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="1006422530"/> + </object> + <int key="connectionID">6744</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">triggersTableView</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="496402806"/> + </object> + <int key="connectionID">6745</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">addTrigger:</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="405054283"/> + </object> + <int key="connectionID">6746</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">refreshTriggers:</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="477504415"/> + </object> + <int key="connectionID">6747</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">removeTrigger:</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="281574269"/> + </object> + <int key="connectionID">6748</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">tableWindow</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="207157706"/> + </object> + <int key="connectionID">6750</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">tableList</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="251040077"/> + </object> + <int key="connectionID">6751</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">tablesListInstance</string> + <reference key="source" ref="33487092"/> + <reference key="destination" ref="438574515"/> + </object> + <int key="connectionID">6752</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -16839,6 +17401,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <reference ref="105987292"/> <reference ref="94659530"/> <reference ref="986490149"/> + <reference ref="75945221"/> </object> <reference key="parent" ref="604818293"/> </object> @@ -20678,6 +21241,275 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <reference key="object" ref="849848233"/> <reference key="parent" ref="423746394"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">6691</int> + <reference key="object" ref="33487092"/> + <reference key="parent" ref="0"/> + <string key="objectName">SPTableTriggers</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6692</int> + <reference key="object" ref="75945221"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="776303855"/> + </object> + <reference key="parent" ref="714795046"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6693</int> + <reference key="object" ref="776303855"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="722155001"/> + <reference ref="207402382"/> + <reference ref="405054283"/> + <reference ref="281574269"/> + <reference ref="477504415"/> + <reference ref="585162074"/> + </object> + <reference key="parent" ref="75945221"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6694</int> + <reference key="object" ref="722155001"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="315060361"/> + </object> + <reference key="parent" ref="776303855"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6695</int> + <reference key="object" ref="585162074"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="710458678"/> + </object> + <reference key="parent" ref="776303855"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6696</int> + <reference key="object" ref="281574269"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="661106296"/> + </object> + <reference key="parent" ref="776303855"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6697</int> + <reference key="object" ref="477504415"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="545932397"/> + </object> + <reference key="parent" ref="776303855"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6698</int> + <reference key="object" ref="207402382"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="496402806"/> + <reference ref="241398036"/> + <reference ref="134580221"/> + <reference ref="221977010"/> + </object> + <reference key="parent" ref="776303855"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6699</int> + <reference key="object" ref="405054283"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="462661188"/> + </object> + <reference key="parent" ref="776303855"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6700</int> + <reference key="object" ref="462661188"/> + <reference key="parent" ref="405054283"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6701</int> + <reference key="object" ref="496402806"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="266935210"/> + <reference ref="805441036"/> + <reference ref="676095135"/> + <reference ref="684549484"/> + <reference ref="849108098"/> + <reference ref="900454738"/> + <reference ref="619233826"/> + <reference ref="496712"/> + </object> + <reference key="parent" ref="207402382"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6702</int> + <reference key="object" ref="241398036"/> + <reference key="parent" ref="207402382"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6703</int> + <reference key="object" ref="134580221"/> + <reference key="parent" ref="207402382"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6704</int> + <reference key="object" ref="221977010"/> + <reference key="parent" ref="207402382"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6705</int> + <reference key="object" ref="266935210"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="518919596"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6706</int> + <reference key="object" ref="805441036"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="522965270"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6707</int> + <reference key="object" ref="676095135"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="453000072"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6708</int> + <reference key="object" ref="684549484"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="504099069"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6709</int> + <reference key="object" ref="849108098"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1061175759"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6710</int> + <reference key="object" ref="900454738"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="527044458"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6711</int> + <reference key="object" ref="527044458"/> + <reference key="parent" ref="900454738"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6712</int> + <reference key="object" ref="1061175759"/> + <reference key="parent" ref="849108098"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6713</int> + <reference key="object" ref="504099069"/> + <reference key="parent" ref="684549484"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6714</int> + <reference key="object" ref="453000072"/> + <reference key="parent" ref="676095135"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6715</int> + <reference key="object" ref="522965270"/> + <reference key="parent" ref="805441036"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6716</int> + <reference key="object" ref="518919596"/> + <reference key="parent" ref="266935210"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6717</int> + <reference key="object" ref="545932397"/> + <reference key="parent" ref="477504415"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6718</int> + <reference key="object" ref="661106296"/> + <reference key="parent" ref="281574269"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6719</int> + <reference key="object" ref="710458678"/> + <reference key="parent" ref="585162074"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6720</int> + <reference key="object" ref="315060361"/> + <reference key="parent" ref="722155001"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6727</int> + <reference key="object" ref="619233826"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="191840572"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6728</int> + <reference key="object" ref="191840572"/> + <reference key="parent" ref="619233826"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6729</int> + <reference key="object" ref="496712"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="733046805"/> + </object> + <reference key="parent" ref="496402806"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6730</int> + <reference key="object" ref="733046805"/> + <reference key="parent" ref="496712"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6735</int> + <reference key="object" ref="107658659"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1062047500"/> + </object> + <reference key="parent" ref="0"/> + <string key="objectName">Table Triggers Menu</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6736</int> + <reference key="object" ref="1062047500"/> + <reference key="parent" ref="107658659"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -21944,13 +22776,55 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string>669.IBPluginDependency</string> <string>669.ImportedFromIB2</string> <string>6690.IBPluginDependency</string> + <string>6691.IBPluginDependency</string> + <string>6694.IBPluginDependency</string> + <string>6695.IBPluginDependency</string> + <string>6696.IBAttributePlaceholdersKey</string> + <string>6696.IBPluginDependency</string> + <string>6697.IBAttributePlaceholdersKey</string> + <string>6697.IBPluginDependency</string> + <string>6698.IBPluginDependency</string> + <string>6698.ImportedFromIB2</string> + <string>6699.IBAttributePlaceholdersKey</string> + <string>6699.IBPluginDependency</string> <string>67.ImportedFromIB2</string> <string>670.IBPluginDependency</string> <string>670.ImportedFromIB2</string> + <string>6700.IBPluginDependency</string> + <string>6701.CustomClassName</string> + <string>6701.IBPluginDependency</string> + <string>6701.ImportedFromIB2</string> + <string>6702.IBPluginDependency</string> + <string>6702.IBShouldRemoveOnLegacySave</string> + <string>6703.IBPluginDependency</string> + <string>6703.IBShouldRemoveOnLegacySave</string> + <string>6704.IBPluginDependency</string> + <string>6704.IBShouldRemoveOnLegacySave</string> + <string>6705.IBPluginDependency</string> + <string>6706.IBPluginDependency</string> + <string>6707.IBPluginDependency</string> + <string>6708.IBPluginDependency</string> + <string>6709.IBPluginDependency</string> + <string>6710.IBPluginDependency</string> + <string>6710.ImportedFromIB2</string> + <string>6711.IBPluginDependency</string> + <string>6711.IBShouldRemoveOnLegacySave</string> + <string>6712.IBPluginDependency</string> + <string>6713.IBPluginDependency</string> + <string>6714.IBPluginDependency</string> + <string>6715.IBPluginDependency</string> + <string>6716.IBPluginDependency</string> + <string>6717.IBPluginDependency</string> + <string>6718.IBPluginDependency</string> + <string>6719.IBPluginDependency</string> <string>672.IBPluginDependency</string> <string>672.ImportedFromIB2</string> + <string>6720.IBPluginDependency</string> <string>673.IBPluginDependency</string> <string>673.ImportedFromIB2</string> + <string>6735.IBEditorWindowLastContentRect</string> + <string>6735.IBPluginDependency</string> + <string>6736.IBPluginDependency</string> <string>674.IBPluginDependency</string> <string>674.ImportedFromIB2</string> <string>675.IBPluginDependency</string> @@ -22823,10 +23697,10 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{230, 154}, {944, 550}}</string> + <string>{{799, 846}, {944, 550}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="NO"/> - <string>{{230, 154}, {944, 550}}</string> + <string>{{799, 846}, {944, 550}}</string> <integer value="1"/> <integer value="1"/> <string>{{62, 352}, {845, 504}}</string> @@ -23515,7 +24389,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{539, 190}, {158, 23}}</string> + <string>{{539, 190}, {155, 23}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -23783,7 +24657,43 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <object class="NSMutableDictionary"> + <string key="NS.key.0">ToolTip</string> + <object class="IBToolTipAttribute" key="NS.object.0"> + <string key="name">ToolTip</string> + <reference key="object" ref="281574269"/> + <string key="toolTip">Delete selected relation(s) (⌫)</string> + </object> + </object> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <object class="NSMutableDictionary"> + <string key="NS.key.0">ToolTip</string> + <object class="IBToolTipAttribute" key="NS.object.0"> + <string key="name">ToolTip</string> + <reference key="object" ref="477504415"/> + <string key="toolTip">Refresh table relations (⌘R)</string> + </object> + </object> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> + <object class="NSMutableDictionary"> + <string key="NS.key.0">ToolTip</string> + <object class="IBToolTipAttribute" key="NS.object.0"> + <string key="name">ToolTip</string> + <reference key="object" ref="405054283"/> + <string key="toolTip">Add table relation (⌥⌘A)</string> + </object> + </object> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>CMCopyTable</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -23793,6 +24703,33 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> + <string>{{539, 190}, {158, 23}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> @@ -23944,7 +24881,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> </object> <nil key="sourceID"/> - <int key="maxID">6690</int> + <int key="maxID">6752</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -24662,6 +25599,82 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> </object> </object> <object class="IBPartialClassDescription"> + <string key="className">SPTableTriggers</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>addTrigger:</string> + <string>closeRelationSheet:</string> + <string>confirmAddRelation:</string> + <string>refreshTriggers:</string> + <string>removeTrigger:</string> + <string>selectReferenceTable:</string> + <string>selectTableColumn:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>addTriggerButton</string> + <string>addTriggerPanel</string> + <string>addTriggerTableBox</string> + <string>columnPopUpButton</string> + <string>confirmAddTriggerButton</string> + <string>labelTextField</string> + <string>onDeletePopUpButton</string> + <string>onUpdatePopUpButton</string> + <string>refColumnPopUpButton</string> + <string>refTablePopUpButton</string> + <string>refreshTriggersButton</string> + <string>removeTriggerButton</string> + <string>tableDataInstance</string> + <string>tableDocumentInstance</string> + <string>tableList</string> + <string>tableWindow</string> + <string>tablesListInstance</string> + <string>triggersTableView</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSButton</string> + <string>NSPanel</string> + <string>NSBox</string> + <string>NSPopUpButton</string> + <string>NSButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSPopUpButton</string> + <string>NSPopUpButton</string> + <string>NSPopUpButton</string> + <string>NSButton</string> + <string>NSButton</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>NSTableView</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Source/SPTableTriggers.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> <string key="className">SPTableView</string> <string key="superclassName">NSTableView</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> @@ -24886,6 +25899,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string>viewRelations:</string> <string>viewStatus:</string> <string>viewStructure:</string> + <string>viewTriggers:</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -24928,6 +25942,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string> <string>id</string> <string>id</string> <string>id</string> + <string>id</string> </object> </object> <object class="NSMutableDictionary" key="outlets"> diff --git a/Interfaces/English.lproj/MainMenu.xib b/Interfaces/English.lproj/MainMenu.xib index 6a48e5d5..2d08a972 100644 --- a/Interfaces/English.lproj/MainMenu.xib +++ b/Interfaces/English.lproj/MainMenu.xib @@ -12,7 +12,7 @@ </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="57"/> + <integer value="498"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -1122,6 +1122,15 @@ <reference key="NSOnImage" ref="625762401"/> <reference key="NSMixedImage" ref="315854375"/> </object> + <object class="NSMenuItem" id="756783652"> + <reference key="NSMenu" ref="466354362"/> + <string key="NSTitle">Table Triggers</string> + <string key="NSKeyEquiv">6</string> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="625762401"/> + <reference key="NSMixedImage" ref="315854375"/> + </object> <object class="NSMenuItem" id="232357803"> <reference key="NSMenu" ref="466354362"/> <bool key="NSIsDisabled">YES</bool> @@ -2845,6 +2854,14 @@ </object> <int key="connectionID">1037</int> </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">viewTriggers:</string> + <reference key="source" ref="63651044"/> + <reference key="destination" ref="756783652"/> + </object> + <int key="connectionID">1040</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -3283,6 +3300,7 @@ <reference ref="232357803"/> <reference ref="937303212"/> <reference ref="165449785"/> + <reference ref="756783652"/> </object> <reference key="parent" ref="401969940"/> </object> @@ -4210,6 +4228,11 @@ <reference key="object" ref="806896137"/> <reference key="parent" ref="172963563"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">1038</int> + <reference key="object" ref="756783652"/> + <reference key="parent" ref="466354362"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -4230,6 +4253,8 @@ <string>103.ImportedFromIB2</string> <string>1031.IBPluginDependency</string> <string>1033.IBPluginDependency</string> + <string>1038.IBPluginDependency</string> + <string>1038.ImportedFromIB2</string> <string>106.IBEditorWindowLastContentRect</string> <string>106.IBPluginDependency</string> <string>106.ImportedFromIB2</string> @@ -4590,6 +4615,8 @@ <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> <string>{{733, 644}, {190, 123}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> @@ -4726,7 +4753,7 @@ <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> - <string>{{300, 266}, {237, 253}}</string> + <string>{{858, 83}, {237, 273}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1"/> <string>{{698, 703}, {184, 133}}</string> @@ -5000,7 +5027,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">1037</int> + <int key="maxID">1040</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -5017,14 +5044,12 @@ <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>mySQLConnection</string> - <string>tableData</string> <string>tableInstance</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> <string>id</string> <string>id</string> - <string>id</string> </object> </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> @@ -5606,6 +5631,7 @@ <string>viewRelations:</string> <string>viewStatus:</string> <string>viewStructure:</string> + <string>viewTriggers:</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -5648,6 +5674,7 @@ <string>id</string> <string>id</string> <string>id</string> + <string>id</string> </object> </object> <object class="NSMutableDictionary" key="outlets"> @@ -5801,6 +5828,14 @@ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBPartialClassDescription"> + <string key="className">BWAnchoredButtonBar</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">BWToolkitFramework.framework/Headers/BWAnchoredButtonBar.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> <string key="className">NSApplication</string> <string key="superclassName">NSResponder</string> <object class="IBClassDescriptionSource" key="sourceIdentifier" id="984586479"> @@ -5844,6 +5879,13 @@ </object> </object> <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">BWToolkitFramework.framework/Headers/NSApplication+BWAdditions.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> <string key="className">NSBox</string> <string key="superclassName">NSView</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> @@ -6481,6 +6523,13 @@ <reference key="sourceIdentifier" ref="406849156"/> </object> <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">BWToolkitFramework.framework/Headers/NSView+BWAdditions.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> <string key="className">NSWindow</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBFrameworkSource</string> @@ -6503,6 +6552,13 @@ </object> </object> <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">BWToolkitFramework.framework/Headers/NSWindow+BWAdditions.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> <string key="className">NSWindowController</string> <string key="superclassName">NSResponder</string> <object class="NSMutableDictionary" key="actions"> diff --git a/Source/SPConstants.h b/Source/SPConstants.h index 0c237e17..86753569 100644 --- a/Source/SPConstants.h +++ b/Source/SPConstants.h @@ -189,6 +189,7 @@ extern NSString *SPMainToolbarTableContent; extern NSString *SPMainToolbarCustomQuery; extern NSString *SPMainToolbarTableInfo; extern NSString *SPMainToolbarTableRelations; +extern NSString *SPMainToolbarTableTriggers; extern NSString *SPMainToolbarUserManager; // Preferences toolbar diff --git a/Source/SPConstants.m b/Source/SPConstants.m index 90fd0e2b..42859673 100644 --- a/Source/SPConstants.m +++ b/Source/SPConstants.m @@ -157,6 +157,7 @@ NSString *SPMainToolbarTableContent = @"SwitchToTableContentToolbar NSString *SPMainToolbarCustomQuery = @"SwitchToRunQueryToolbarItemIdentifier"; NSString *SPMainToolbarTableInfo = @"SwitchToTableInfoToolbarItemIdentifier"; NSString *SPMainToolbarTableRelations = @"SwitchToTableRelationsToolbarItemIdentifier"; +NSString *SPMainToolbarTableTriggers = @"SwitchToTableTriggersToolbarItemIdentifier"; NSString *SPMainToolbarUserManager = @"SwitchToUserManagerToolbarItemIdentifier"; // Preferences toolbar diff --git a/Source/SPTableData.h b/Source/SPTableData.h index c4e7495a..eb1ae6d4 100644 --- a/Source/SPTableData.h +++ b/Source/SPTableData.h @@ -33,6 +33,7 @@ NSMutableArray *columns; NSMutableArray *columnNames; NSMutableArray *constraints; + NSMutableArray *triggers; NSMutableDictionary *status; NSString *tableEncoding; @@ -49,6 +50,7 @@ - (NSArray *) columnNames; - (NSDictionary *) columnAtIndex:(NSInteger)index; - (NSArray *) getConstraints; +- (NSArray *) triggers; - (BOOL) columnIsBlobOrText:(NSString *)colName; - (NSString *) statusValueForKey:(NSString *)aKey; - (void)setStatusValue:(NSString *)value forKey:(NSString *)key; diff --git a/Source/SPTableData.m b/Source/SPTableData.m index a0a4d860..1c00758a 100644 --- a/Source/SPTableData.m +++ b/Source/SPTableData.m @@ -44,6 +44,7 @@ columnNames = [[NSMutableArray alloc] init]; constraints = [[NSMutableArray alloc] init]; status = [[NSMutableDictionary alloc] init]; + triggers = [[NSMutableArray alloc] init]; tableEncoding = nil; tableCreateSyntax = nil; @@ -117,6 +118,11 @@ return constraints; } +- (NSArray *) triggers +{ + return (NSArray *)triggers; +} + /* * Retrieve a column with a specified name, using or refreshing the cache as appropriate. */ @@ -558,6 +564,31 @@ [createTableParser release]; [fieldParser release]; + + // Triggers + theResult = [mySQLConnection queryString:[NSString stringWithFormat:@"/*!50003 SHOW TRIGGERS WHERE `Table` = %@ */;", + [tableName tickQuotedString]]]; + [theResult setReturnDataAsStrings:YES]; + + // Check for any errors, but only display them if a connection still exists + if (![[mySQLConnection getLastErrorMessage] isEqualToString:@""]) { + if ([mySQLConnection isConnected]) { + SPBeginAlertSheet(NSLocalizedString(@"Error retrieving table information", @"error retrieving table information message"), NSLocalizedString(@"OK", @"OK button"), + nil, nil, [NSApp mainWindow], self, nil, nil, nil, + [NSString stringWithFormat:NSLocalizedString(@"An error occurred while retrieving the information for table '%@'. Please try again.\n\nMySQL said: %@", @"error retrieving table information informative message"), + tableName, [mySQLConnection getLastErrorMessage]]); + } + + return nil; + } + + [triggers removeAllObjects]; + if( [theResult numOfRows] ) { + for(int i=0; i<[theResult numOfRows]; i++){ + [triggers addObject:[theResult fetchRowAsDictionary]]; + } + } + tableData = [NSMutableDictionary dictionary]; // this will be 'Table' or 'View' @@ -565,6 +596,7 @@ [tableData setObject:[NSString stringWithString:encodingString] forKey:@"encoding"]; [tableData setObject:[NSArray arrayWithArray:tableColumns] forKey:@"columns"]; [tableData setObject:[NSArray arrayWithArray:constraints] forKey:@"constraints"]; + [tableData setObject:[NSArray arrayWithArray:triggers] forKey:@"triggers"]; [encodingString release]; [tableColumns release]; @@ -1030,6 +1062,7 @@ [columns release]; [columnNames release]; [constraints release]; + [triggers release]; [status release]; if (tableEncoding) [tableEncoding release]; diff --git a/Source/SPTableTriggers.h b/Source/SPTableTriggers.h new file mode 100644 index 00000000..f0c1c7e1 --- /dev/null +++ b/Source/SPTableTriggers.h @@ -0,0 +1,69 @@ +// +// SPTableTriggers.h +// sequel-pro +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + + +#import <Cocoa/Cocoa.h> +#import <MCPKit/MCPKit.h> + + +@interface SPTableTriggers : NSObject { + IBOutlet id tableDocumentInstance; + IBOutlet id tablesListInstance; + IBOutlet id tableDataInstance; + + IBOutlet id tableList; + IBOutlet id tableWindow; + + IBOutlet NSButton *addTriggerButton; + IBOutlet NSButton *removeTriggerButton; + IBOutlet NSButton *refreshTriggersButton; + IBOutlet NSTextField *labelTextField; + IBOutlet NSTableView *triggersTableView; + IBOutlet NSPanel *addTriggerPanel; + + IBOutlet NSBox *addTriggerTableBox; + IBOutlet NSPopUpButton *columnPopUpButton; + IBOutlet NSPopUpButton *refTablePopUpButton; + IBOutlet NSPopUpButton *refColumnPopUpButton; + IBOutlet NSPopUpButton *onUpdatePopUpButton; + IBOutlet NSPopUpButton *onDeletePopUpButton; + IBOutlet NSButton *confirmAddTriggerButton; + + MCPConnection *connection; + + NSMutableArray *triggerData; +} + +@property (readwrite, assign) MCPConnection *connection; + +// IB action methods +- (IBAction)addTrigger:(id)sender; +- (IBAction)removeTrigger:(id)sender; +- (IBAction)closeRelationSheet:(id)sender; +- (IBAction)confirmAddRelation:(id)sender; +- (IBAction)selectTableColumn:(id)sender; +- (IBAction)selectReferenceTable:(id)sender; +- (IBAction)refreshTriggers:(id)sender; + +// Task interaction +- (void)startDocumentTaskForTab:(NSNotification *)aNotification; +- (void)endDocumentTaskForTab:(NSNotification *)aNotification; + +@end diff --git a/Source/SPTableTriggers.m b/Source/SPTableTriggers.m new file mode 100644 index 00000000..6825f504 --- /dev/null +++ b/Source/SPTableTriggers.m @@ -0,0 +1,515 @@ +// +// SPTableTriggers.m +// sequel-pro +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + +#import "SPTableTriggers.h" +#import "TableDocument.h" +#import "TablesList.h" +#import "SPTableData.h" +#import "SPStringAdditions.h" +#import "SPConstants.h" +#import "SPAlertSheets.h" + +@interface SPTableTriggers (PrivateAPI) + +- (void)_refreshRelationDataForcingCacheRefresh:(BOOL)clearAllCaches; +- (void)_updateAvailableTableColumns; + +@end + +@implementation SPTableTriggers + +@synthesize connection; + +/** + * init + */ +- (id)init +{ + if ((self = [super init])) { + triggerData = [[NSMutableArray alloc] init]; + } + + return self; +} + +/** + * Register to listen for table selection changes upon nib awakening. + */ +- (void)awakeFromNib +{ + // Set the table relation view's vertical gridlines if required + [triggersTableView setGridStyleMask:([[NSUserDefaults standardUserDefaults] boolForKey:SPDisplayTableViewVerticalGridlines]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone]; + + // Set the strutcture and index view's font + BOOL useMonospacedFont = [[NSUserDefaults standardUserDefaults] boolForKey:SPUseMonospacedFonts]; + + for (NSTableColumn *column in [triggersTableView tableColumns]) + { + [[column dataCell] setFont:(useMonospacedFont) ? [NSFont fontWithName:SPDefaultMonospacedFontName size:[NSFont smallSystemFontSize]] : [NSFont systemFontOfSize:[NSFont smallSystemFontSize]]]; + } + + // Register as an observer for the when the UseMonospacedFonts preference changes + [[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:SPUseMonospacedFonts options:NSKeyValueObservingOptionNew context:NULL]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(tableSelectionChanged:) + name:SPTableChangedNotification + object:tableDocumentInstance]; + + // Add observers for document task activity + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(startDocumentTaskForTab:) + name:SPDocumentTaskStartNotification + object:tableDocumentInstance]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(endDocumentTaskForTab:) + name:SPDocumentTaskEndNotification + object:tableDocumentInstance]; +} + +#pragma mark - +#pragma mark IB action methods + +/** + * Closes the relation sheet. + */ +- (IBAction)closeRelationSheet:(id)sender +{ + [NSApp endSheet:addTriggerPanel returnCode:0]; + [addTriggerPanel orderOut:self]; +} + +/** + * Add a new relation using the selected values. + */ +- (IBAction)confirmAddRelation:(id)sender +{ + [self closeRelationSheet:self]; + + NSString *thisTable = [tablesListInstance tableName]; + NSString *thisColumn = [columnPopUpButton titleOfSelectedItem]; + NSString *thatTable = [refTablePopUpButton titleOfSelectedItem]; + NSString *thatColumn = [refColumnPopUpButton titleOfSelectedItem]; + + NSString *query = [NSString stringWithFormat:@"ALTER TABLE %@ ADD FOREIGN KEY (%@) REFERENCES %@ (%@)", + [thisTable backtickQuotedString], + [thisColumn backtickQuotedString], + [thatTable backtickQuotedString], + [thatColumn backtickQuotedString]]; + + // If required add ON DELETE + if ([onDeletePopUpButton indexOfSelectedItem] > 0) { + query = [query stringByAppendingString:[NSString stringWithFormat:@" ON DELETE %@", [[onDeletePopUpButton titleOfSelectedItem] uppercaseString]]]; + } + + // If required add ON UPDATE + if ([onUpdatePopUpButton indexOfSelectedItem] > 0) { + query = [query stringByAppendingString:[NSString stringWithFormat:@" ON UPDATE %@", [[onUpdatePopUpButton titleOfSelectedItem] uppercaseString]]]; + } + + // Execute query + [connection queryString:query]; + + NSInteger retCode = (![[connection getLastErrorMessage] isEqualToString:@""]); + + // 0 indicates success + if (retCode) { + SPBeginAlertSheet(NSLocalizedString(@"Error creating relation", @"error creating relation message"), + NSLocalizedString(@"OK", @"OK button"), + nil, nil, [NSApp mainWindow], nil, nil, nil, nil, + [NSString stringWithFormat:NSLocalizedString(@"The specified relation was unable to be created.\n\nMySQL said: %@", @"error creating relation informative message"), [connection getLastErrorMessage]]); + } + else { + [self _refreshRelationDataForcingCacheRefresh:YES]; + } +} + +/** + * Updates the available columns when the user selects a table. + */ +- (IBAction)selectTableColumn:(id)sender +{ + [self _updateAvailableTableColumns]; +} + +/** + * Updates the available columns when the user selects a table. + */ +- (IBAction)selectReferenceTable:(id)sender +{ + [self _updateAvailableTableColumns]; +} + +/** + * Called whenever the user selected to add a new trigger. + */ +- (IBAction)addTrigger:(id)sender +{ + // Set up the controls + [addTriggerTableBox setTitle:[NSString stringWithFormat:@"Table: %@", [tablesListInstance tableName]]]; + + [columnPopUpButton removeAllItems]; + [columnPopUpButton addItemsWithTitles:[tableDataInstance columnNames]]; + + [refTablePopUpButton removeAllItems]; + + // Get all InnoDB tables in the current database + MCPResult *result = [connection queryString:[NSString stringWithFormat:@"SELECT table_name FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND engine = 'InnoDB' AND table_schema = %@", [[tableDocumentInstance database] tickQuotedString]]]; + + [result dataSeek:0]; + + for (NSInteger i = 0; i < [result numOfRows]; i++) + { + [refTablePopUpButton addItemWithTitle:[[result fetchRowAsArray] objectAtIndex:0]]; + } + + [self selectReferenceTable:nil]; + + [NSApp beginSheet:addTriggerPanel + modalForWindow:tableWindow + modalDelegate:self + didEndSelector:nil + contextInfo:nil]; +} + +/** + * Removes the selected trigger. + */ +- (IBAction)removeTrigger:(id)sender +{ + if ([triggersTableView numberOfSelectedRows] > 0) { + + NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Delete relation", @"delete relation message") + defaultButton:NSLocalizedString(@"Delete", @"delete button") + alternateButton:NSLocalizedString(@"Cancel", @"cancel button") + otherButton:nil + informativeTextWithFormat:NSLocalizedString(@"Are you sure you want to delete the selected relations? This action cannot be undone.", @"delete selected relation informative message")]; + + [alert setAlertStyle:NSCriticalAlertStyle]; + + NSArray *buttons = [alert buttons]; + + // Change the alert's cancel button to have the key equivalent of return + [[buttons objectAtIndex:0] setKeyEquivalent:@"d"]; + [[buttons objectAtIndex:0] setKeyEquivalentModifierMask:NSCommandKeyMask]; + [[buttons objectAtIndex:1] setKeyEquivalent:@"\r"]; + + [alert beginSheetModalForWindow:tableWindow modalDelegate:self didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) contextInfo:@"removeRelation"]; + } +} + +/** + * Trigger a refresh of the displayed relations via the interface. + */ +- (IBAction)refreshTriggers:(id)sender +{ + [self _refreshRelationDataForcingCacheRefresh:YES]; +} + +/** + * Called whenever the user selects a different table. + */ +- (void)tableSelectionChanged:(NSNotification *)notification +{ + BOOL enableInteraction = ![[tableDocumentInstance selectedToolbarItemIdentifier] isEqualToString:SPMainToolbarTableRelations] || ![tableDocumentInstance isWorking]; + + // To begin enable all interface elements + [addTriggerButton setEnabled:enableInteraction]; + [refreshTriggersButton setEnabled:enableInteraction]; + [triggersTableView setEnabled:YES]; + + // Get the current table's storage engine + NSString *engine = [tableDataInstance statusValueForKey:@"Engine"]; + + if (([tablesListInstance tableType] == SP_TABLETYPE_TABLE) && ([[engine lowercaseString] isEqualToString:@"innodb"])) { + + // Update the text label + [labelTextField setStringValue:[NSString stringWithFormat:@"Relations for table: %@", [tablesListInstance tableName]]]; + + [addTriggerButton setEnabled:enableInteraction]; + [refreshTriggersButton setEnabled:enableInteraction]; + [triggersTableView setEnabled:YES]; + } + else { + [addTriggerButton setEnabled:NO]; + [refreshTriggersButton setEnabled:NO]; + [triggersTableView setEnabled:NO]; + + [labelTextField setStringValue:([tablesListInstance tableType] == SP_TABLETYPE_TABLE) ? @"This table currently does not support relations. Only tables that use the InnoDB storage engine support them." : @""]; + } + + [self _refreshRelationDataForcingCacheRefresh:NO]; +} + +#pragma mark - +#pragma mark Tableview datasource methods + +- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView +{ + return [triggerData count]; +} + +- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)rowIndex +{ + return [[triggerData objectAtIndex:rowIndex] objectForKey:[tableColumn identifier]]; +} + +#pragma mark - +#pragma mark Tableview delegate methods + +/** + * Called whenever the relations table view selection changes. + */ +- (void)tableViewSelectionDidChange:(NSNotification *)notification +{ + [removeTriggerButton setEnabled:([triggersTableView numberOfSelectedRows] > 0)]; +} + +/* + * Double-click action on table cells - for the time being, return + * NO to disable editing. + */ +- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex +{ + if ([tableDocumentInstance isWorking]) return NO; + + return NO; +} + +/** + * Disable row selection while the document is working. + */ +- (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(NSInteger)rowIndex +{ + return ![tableDocumentInstance isWorking]; +} + +#pragma mark - +#pragma mark Task interaction + +/** + * Disable all content interactive elements during an ongoing task. + */ +- (void)startDocumentTaskForTab:(NSNotification *)aNotification +{ + + // Only proceed if this view is selected. + if (![[tableDocumentInstance selectedToolbarItemIdentifier] isEqualToString:SPMainToolbarTableRelations]) + return; + + [addTriggerButton setEnabled:NO]; + [refreshTriggersButton setEnabled:NO]; + [removeTriggerButton setEnabled:NO]; +} + +/** + * Enable all content interactive elements after an ongoing task. + */ +- (void)endDocumentTaskForTab:(NSNotification *)aNotification +{ + + // Only proceed if this view is selected. + if (![[tableDocumentInstance selectedToolbarItemIdentifier] isEqualToString:SPMainToolbarTableRelations]) + return; + + if ([triggersTableView isEnabled]) { + [addTriggerButton setEnabled:YES]; + [refreshTriggersButton setEnabled:YES]; + } + [removeTriggerButton setEnabled:([triggersTableView numberOfSelectedRows] > 0)]; +} + +#pragma mark - +#pragma mark Other + +/** + * NSAlert didEnd method. + */ +- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(NSString *)contextInfo +{ + if ([contextInfo isEqualToString:@"removeRelation"]) { + + if (returnCode == NSAlertDefaultReturn) { + + NSString *thisTable = [tablesListInstance tableName]; + NSIndexSet *selectedSet = [triggersTableView selectedRowIndexes]; + + NSUInteger row = [selectedSet lastIndex]; + + while (row != NSNotFound) + { + NSString *relationName = [[triggerData objectAtIndex:row] objectForKey:@"name"]; + NSString *query = [NSString stringWithFormat:@"ALTER TABLE %@ DROP FOREIGN KEY %@", [thisTable backtickQuotedString], [relationName backtickQuotedString]]; + + [connection queryString:query]; + + if (![[connection getLastErrorMessage] isEqualToString:@""] ) { + + SPBeginAlertSheet(NSLocalizedString(@"Unable to remove relation", @"error removing relation message"), + NSLocalizedString(@"OK", @"OK button"), + nil, nil, [NSApp mainWindow], nil, nil, nil, nil, + [NSString stringWithFormat:NSLocalizedString(@"The selected relation couldn't be removed.\n\nMySQL said: %@", @"error removing relation informative message"), [connection getLastErrorMessage]]); + + // Abort loop + break; + } + + row = [selectedSet indexLessThanIndex:row]; + } + + [self _refreshRelationDataForcingCacheRefresh:YES]; + } + } +} + +/** + * This method is called as part of Key Value Observing which is used to watch for prefernce changes which effect the interface. + */ +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context +{ + // Display table veiew vertical gridlines preference changed + if ([keyPath isEqualToString:SPDisplayTableViewVerticalGridlines]) { + [triggersTableView setGridStyleMask:([[change objectForKey:NSKeyValueChangeNewKey] boolValue]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone]; + } + // Use monospaced fonts preference changed + else if ([keyPath isEqualToString:SPUseMonospacedFonts]) { + + BOOL useMonospacedFont = [[change objectForKey:NSKeyValueChangeNewKey] boolValue]; + + for (NSTableColumn *column in [triggersTableView tableColumns]) + { + [[column dataCell] setFont:(useMonospacedFont) ? [NSFont fontWithName:SPDefaultMonospacedFontName size:[NSFont smallSystemFontSize]] : [NSFont systemFontOfSize:[NSFont smallSystemFontSize]]]; + } + + [triggersTableView reloadData]; + } +} + +/** + * Menu validation + */ +- (BOOL)validateMenuItem:(NSMenuItem *)menuItem +{ + // Remove row + if ([menuItem action] == @selector(removeRelation:)) { + [menuItem setTitle:([triggersTableView numberOfSelectedRows] > 1) ? @"Delete Relations" : @"Delete Relation"]; + + return ([triggersTableView numberOfSelectedRows] > 0); + } + + return YES; +} + +#pragma mark - + +/* + * Dealloc. + */ +- (void)dealloc +{ + [triggerData release], triggerData = nil; + [[NSNotificationCenter defaultCenter] removeObserver:self]; + + [super dealloc]; +} + +@end + +@implementation SPTableTriggers (PrivateAPI) + +/** + * Refresh the displayed relations, optionally forcing a refresh of the underlying cache. + */ +- (void)_refreshRelationDataForcingCacheRefresh:(BOOL)clearAllCaches +{ + [triggerData removeAllObjects]; + + if ([tablesListInstance tableType] == SP_TABLETYPE_TABLE) { + + if (clearAllCaches) [tableDataInstance updateInformationForCurrentTable]; + + NSArray *triggers = [tableDataInstance triggers]; + + for (NSDictionary *trigger in triggers) + { + [triggerData addObject:[NSDictionary dictionaryWithObjectsAndKeys: + [trigger objectForKey:@"Table"], @"table", + [trigger objectForKey:@"Trigger"], @"trigger", + [trigger objectForKey:@"Event"], @"event", + [trigger objectForKey:@"Timing"], @"timing", + [trigger objectForKey:@"Statement"], @"statement", + [trigger objectForKey:@"Definer"], @"definer", + [trigger objectForKey:@"Created"], @"created", + [trigger objectForKey:@"sql_mode"], @"sql_mode", + nil]]; + + } + // NSLog(@"Triggers: %@", triggers); + } + + [triggersTableView reloadData]; +} + +/** + * Updates the available table columns that the reference is pointing to. Available columns are those that are + * within the selected table and are of the same data type as the column the reference is from. + */ +- (void)_updateAvailableTableColumns +{ + NSString *column = [columnPopUpButton titleOfSelectedItem]; + NSString *table = [refTablePopUpButton titleOfSelectedItem]; + + [tableDataInstance resetAllData]; + [tableDataInstance updateInformationForCurrentTable]; + + NSDictionary *columnInfo = [[tableDataInstance columnWithName:column] copy]; + + [refColumnPopUpButton setEnabled:NO]; + [confirmAddTriggerButton setEnabled:NO]; + + [refColumnPopUpButton removeAllItems]; + + [tableDataInstance resetAllData]; + NSDictionary *tableInfo = [tableDataInstance informationForTable:table]; + + NSArray *columns = [tableInfo objectForKey:@"columns"]; + + NSMutableArray *validColumns = [NSMutableArray array]; + + // Only add columns of the same data type + for (NSDictionary *column in columns) + { + if ([[columnInfo objectForKey:@"type"] isEqualToString:[column objectForKey:@"type"]]) { + [validColumns addObject:[column objectForKey:@"name"]]; + } + } + + // Add the valid columns + if ([validColumns count] > 0) { + [refColumnPopUpButton addItemsWithTitles:validColumns]; + + [refColumnPopUpButton setEnabled:YES]; + [confirmAddTriggerButton setEnabled:YES]; + } + + [columnInfo release]; +} + +@end diff --git a/Source/TableDocument.h b/Source/TableDocument.h index bfc6ef39..d8122d4a 100644 --- a/Source/TableDocument.h +++ b/Source/TableDocument.h @@ -266,6 +266,7 @@ - (IBAction)viewQuery:(id)sender; - (IBAction)viewStatus:(id)sender; - (IBAction)viewRelations:(id)sender; +- (IBAction)viewTriggers:(id)sender; - (IBAction)addConnectionToFavorites:(id)sender; // Titlebar methods diff --git a/Source/TableDocument.m b/Source/TableDocument.m index 368d9f94..c8834af3 100644 --- a/Source/TableDocument.m +++ b/Source/TableDocument.m @@ -3077,6 +3077,30 @@ [prefs setInteger:SPRelationsViewMode forKey:SPLastViewMode]; } +- (IBAction)viewTriggers:(id)sender +{ + // Cancel the selection if currently editing structure/a field and unable to save + if ([tableTabView indexOfTabViewItem:[tableTabView selectedTabViewItem]] == 0 + && ![tableSourceInstance saveRowOnDeselect]) { + [mainToolbar setSelectedItemIdentifier:SPMainToolbarTableStructure]; + return; + } + + // Cancel the selection if currently editing a content row and unable to save + if ([tableTabView indexOfTabViewItem:[tableTabView selectedTabViewItem]] == 1 + && ![tableContentInstance saveRowOnDeselect]) { + [mainToolbar setSelectedItemIdentifier:SPMainToolbarTableContent]; + return; + } + + + [tableTabView selectTabViewItemAtIndex:5]; + [mainToolbar setSelectedItemIdentifier:SPMainToolbarTableTriggers]; + [spHistoryControllerInstance updateHistoryEntries]; + + //[prefs setInteger:SPRelationsViewMode forKey:SPLastViewMode]; +} + /** * Adds the current database connection details to the user's favorites if it doesn't already exist. diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj index cb1eb608..13cbfbfd 100644 --- a/sequel-pro.xcodeproj/project.pbxproj +++ b/sequel-pro.xcodeproj/project.pbxproj @@ -110,6 +110,7 @@ 296DC8BC0F909194002A3258 /* MGTemplateStandardFilters.m in Sources */ = {isa = PBXBuildFile; fileRef = 296DC8B40F909194002A3258 /* MGTemplateStandardFilters.m */; }; 296DC8BF0F9091DF002A3258 /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 296DC8BE0F9091DF002A3258 /* libicucore.dylib */; }; 29A1B7E50FD1293A000B88E8 /* SPPrintAccessory.m in Sources */ = {isa = PBXBuildFile; fileRef = 29A1B7E40FD1293A000B88E8 /* SPPrintAccessory.m */; }; + 29FA88231114619E00D1AF3D /* SPTableTriggers.m in Sources */ = {isa = PBXBuildFile; fileRef = 29FA88221114619E00D1AF3D /* SPTableTriggers.m */; }; 380F4EF50FC0B68F00B0BFD7 /* SPStringAdditionsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 380F4EF40FC0B68F00B0BFD7 /* SPStringAdditionsTest.m */; }; 380F4F250FC0C3D300B0BFD7 /* MCPKitTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 380F4F240FC0C3D300B0BFD7 /* MCPKitTest.m */; }; 384582BE0FB95C9100DDACB6 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 384582BC0FB95C9100DDACB6 /* Localizable.strings */; }; @@ -484,6 +485,8 @@ 29A1B7E30FD1293A000B88E8 /* SPPrintAccessory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = SPPrintAccessory.h; sourceTree = "<group>"; }; 29A1B7E40FD1293A000B88E8 /* SPPrintAccessory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPPrintAccessory.m; sourceTree = "<group>"; wrapsLines = 1; }; 29A1B7EA0FD12E55000B88E8 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/PrintAccessory.xib; sourceTree = "<group>"; }; + 29FA88211114619E00D1AF3D /* SPTableTriggers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTableTriggers.h; sourceTree = "<group>"; }; + 29FA88221114619E00D1AF3D /* SPTableTriggers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTableTriggers.m; sourceTree = "<group>"; }; 2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; 2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 380F4ED90FC0B50500B0BFD7 /* Unit Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Unit Tests.octest"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -812,6 +815,8 @@ 177E7A220FCB6A2E00E9E122 /* SPExtendedTableInfo.m */, 387BBBA60FBCB6CB00B31746 /* SPTableRelations.h */, 387BBBA70FBCB6CB00B31746 /* SPTableRelations.m */, + 29FA88211114619E00D1AF3D /* SPTableTriggers.h */, + 29FA88221114619E00D1AF3D /* SPTableTriggers.m */, 17E6414E0EF01EF6001BC333 /* TableContent.h */, 17E6414F0EF01EF6001BC333 /* TableContent.m */, 17E641500EF01EF6001BC333 /* TableDocument.h */, @@ -1796,6 +1801,7 @@ 58C34F5310B86CAE00D37E14 /* NSNotificationAdditions.m in Sources */, 5870868410FA3E9C00D58E1C /* SPDataStorage.m in Sources */, 584095191107CB6600260CFD /* SPAlertSheets.m in Sources */, + 29FA88231114619E00D1AF3D /* SPTableTriggers.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; |