Simple Display of relevant Data now working

This commit is contained in:
michael starke
2013-02-19 22:43:04 +01:00
parent 7ea34a2300
commit 7ea037cdc3
10 changed files with 203 additions and 55 deletions

View File

@@ -18,6 +18,7 @@
<string>NSTableHeaderView</string> <string>NSTableHeaderView</string>
<string>NSTableView</string> <string>NSTableView</string>
<string>NSTextFieldCell</string> <string>NSTextFieldCell</string>
<string>NSUserDefaultsController</string>
</array> </array>
<array key="IBDocument.PluginDependencies"> <array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -47,7 +48,7 @@
<object class="NSTableView" id="528076956"> <object class="NSTableView" id="528076956">
<reference key="NSNextResponder" ref="262664416"/> <reference key="NSNextResponder" ref="262664416"/>
<int key="NSvFlags">256</int> <int key="NSvFlags">256</int>
<string key="NSFrameSize">{703, 547}</string> <string key="NSFrameSize">{569, 506}</string>
<reference key="NSSuperview" ref="262664416"/> <reference key="NSSuperview" ref="262664416"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1037276411"/> <reference key="NSNextKeyView" ref="1037276411"/>
@@ -58,7 +59,7 @@
<object class="NSTableHeaderView" key="NSHeaderView" id="778100560"> <object class="NSTableHeaderView" key="NSHeaderView" id="778100560">
<reference key="NSNextResponder" ref="737075944"/> <reference key="NSNextResponder" ref="737075944"/>
<int key="NSvFlags">256</int> <int key="NSvFlags">256</int>
<string key="NSFrameSize">{703, 17}</string> <string key="NSFrameSize">{569, 17}</string>
<reference key="NSSuperview" ref="737075944"/> <reference key="NSSuperview" ref="737075944"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="262664416"/> <reference key="NSNextKeyView" ref="262664416"/>
@@ -73,10 +74,10 @@
<string key="NSReuseIdentifierKey">_NS:19</string> <string key="NSReuseIdentifierKey">_NS:19</string>
</object> </object>
<array class="NSMutableArray" key="NSTableColumns"> <array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="137340426"> <object class="NSTableColumn" id="673679325">
<double key="NSWidth">116</double> <double key="NSWidth">64</double>
<double key="NSMinWidth">40</double> <double key="NSMinWidth">10</double>
<double key="NSMaxWidth">1000</double> <double key="NSMaxWidth">3.4028234663852886e+38</double>
<object class="NSTableHeaderCell" key="NSHeaderCell"> <object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497536</int> <int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int> <int key="NSCellFlags2">2048</int>
@@ -86,9 +87,14 @@
<double key="NSSize">11</double> <double key="NSSize">11</double>
<int key="NSfFlags">3100</int> <int key="NSfFlags">3100</int>
</object> </object>
<object class="NSColor" key="NSBackgroundColor" id="309116714"> <object class="NSColor" key="NSBackgroundColor" id="977063486">
<int key="NSColorSpace">3</int> <int key="NSColorSpace">6</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes> <string key="NSCatalogName">System</string>
<string key="NSColorName">headerColor</string>
<object class="NSColor" key="NSColor" id="266602521">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
</object> </object>
<object class="NSColor" key="NSTextColor" id="892439253"> <object class="NSColor" key="NSTextColor" id="892439253">
<int key="NSColorSpace">6</int> <int key="NSColorSpace">6</int>
@@ -100,7 +106,7 @@
</object> </object>
</object> </object>
</object> </object>
<object class="NSTextFieldCell" key="NSDataCell" id="706619994"> <object class="NSTextFieldCell" key="NSDataCell" id="201181707">
<int key="NSCellFlags">337641536</int> <int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">2048</int> <int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string> <string key="NSContents">Text Cell</string>
@@ -131,19 +137,45 @@
<bool key="NSIsEditable">YES</bool> <bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="528076956"/> <reference key="NSTableView" ref="528076956"/>
</object> </object>
<object class="NSTableColumn" id="750261447"> <object class="NSTableColumn" id="486655598">
<double key="NSWidth">581</double> <double key="NSWidth">64</double>
<double key="NSMinWidth">40</double> <double key="NSMinWidth">10</double>
<double key="NSMaxWidth">1000</double> <double key="NSMaxWidth">3.4028234663852886e+38</double>
<object class="NSTableHeaderCell" key="NSHeaderCell"> <object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497536</int> <int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int> <int key="NSCellFlags2">2048</int>
<string key="NSContents"/> <string key="NSContents"/>
<reference key="NSSupport" ref="26"/> <reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="309116714"/> <reference key="NSBackgroundColor" ref="977063486"/>
<reference key="NSTextColor" ref="892439253"/> <reference key="NSTextColor" ref="892439253"/>
</object> </object>
<object class="NSTextFieldCell" key="NSDataCell" id="20461989"> <object class="NSTextFieldCell" key="NSDataCell" id="567964782">
<int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="454123306"/>
<reference key="NSControlView" ref="528076956"/>
<reference key="NSBackgroundColor" ref="136901388"/>
<reference key="NSTextColor" ref="847395763"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="528076956"/>
</object>
<object class="NSTableColumn" id="872321844">
<double key="NSWidth">432</double>
<double key="NSMinWidth">10</double>
<double key="NSMaxWidth">3.4028234663852886e+38</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="977063486"/>
<reference key="NSTextColor" ref="892439253"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="1023118108">
<int key="NSCellFlags">337641536</int> <int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">2048</int> <int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string> <string key="NSContents">Text Cell</string>
@@ -160,10 +192,7 @@
</array> </array>
<double key="NSIntercellSpacingWidth">3</double> <double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double> <double key="NSIntercellSpacingHeight">2</double>
<object class="NSColor" key="NSBackgroundColor"> <reference key="NSBackgroundColor" ref="266602521"/>
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="NSGridColor"> <object class="NSColor" key="NSGridColor">
<int key="NSColorSpace">6</int> <int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string> <string key="NSCatalogName">System</string>
@@ -174,18 +203,18 @@
</object> </object>
</object> </object>
<double key="NSRowHeight">17</double> <double key="NSRowHeight">17</double>
<int key="NSTvFlags">-700448768</int> <int key="NSTvFlags">-692060160</int>
<reference key="NSDelegate"/> <reference key="NSDelegate"/>
<reference key="NSDataSource"/> <reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int> <int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int> <int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int> <int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool> <bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int> <int key="NSTableViewDraggingDestinationStyle">1</int>
<int key="NSTableViewGroupRowStyle">1</int> <int key="NSTableViewGroupRowStyle">1</int>
</object> </object>
</array> </array>
<string key="NSFrame">{{0, 17}, {703, 547}}</string> <string key="NSFrame">{{0, 17}, {569, 506}}</string>
<reference key="NSSuperview" ref="613995671"/> <reference key="NSSuperview" ref="613995671"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="528076956"/> <reference key="NSNextKeyView" ref="528076956"/>
@@ -214,7 +243,6 @@
<string key="NSFrame">{{1, 119}, {223, 15}}</string> <string key="NSFrame">{{1, 119}, {223, 15}}</string>
<reference key="NSSuperview" ref="613995671"/> <reference key="NSSuperview" ref="613995671"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:60</string> <string key="NSReuseIdentifierKey">_NS:60</string>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool> <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<int key="NSsFlags">1</int> <int key="NSsFlags">1</int>
@@ -228,7 +256,7 @@
<array class="NSMutableArray" key="NSSubviews"> <array class="NSMutableArray" key="NSSubviews">
<reference ref="778100560"/> <reference ref="778100560"/>
</array> </array>
<string key="NSFrameSize">{703, 17}</string> <string key="NSFrameSize">{569, 17}</string>
<reference key="NSSuperview" ref="613995671"/> <reference key="NSSuperview" ref="613995671"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="778100560"/> <reference key="NSNextKeyView" ref="778100560"/>
@@ -238,7 +266,7 @@
<int key="NScvFlags">4</int> <int key="NScvFlags">4</int>
</object> </object>
</array> </array>
<string key="NSFrameSize">{703, 564}</string> <string key="NSFrameSize">{569, 523}</string>
<reference key="NSSuperview"/> <reference key="NSSuperview"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="737075944"/> <reference key="NSNextKeyView" ref="737075944"/>
@@ -253,6 +281,9 @@
<double key="NSMaxMagnification">4</double> <double key="NSMaxMagnification">4</double>
<double key="NSMagnification">1</double> <double key="NSMagnification">1</double>
</object> </object>
<object class="NSUserDefaultsController" id="735198371">
<bool key="NSSharedInstance">YES</bool>
</object>
</array> </array>
<object class="IBObjectContainer" key="IBDocument.Objects"> <object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords"> <array class="NSMutableArray" key="connectionRecords">
@@ -264,6 +295,14 @@
</object> </object>
<int key="connectionID">85</int> <int key="connectionID">85</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">entryTable</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="528076956"/>
</object>
<int key="connectionID">111</int>
</object>
</array> </array>
<object class="IBMutableOrderedSet" key="objectRecords"> <object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects"> <array key="orderedObjects">
@@ -306,8 +345,9 @@
<int key="objectID">55</int> <int key="objectID">55</int>
<reference key="object" ref="528076956"/> <reference key="object" ref="528076956"/>
<array class="NSMutableArray" key="children"> <array class="NSMutableArray" key="children">
<reference ref="137340426"/> <reference ref="673679325"/>
<reference ref="750261447"/> <reference ref="486655598"/>
<reference ref="872321844"/>
</array> </array>
<reference key="parent" ref="613995671"/> <reference key="parent" ref="613995671"/>
</object> </object>
@@ -327,30 +367,48 @@
<reference key="parent" ref="613995671"/> <reference key="parent" ref="613995671"/>
</object> </object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">59</int> <int key="objectID">115</int>
<reference key="object" ref="137340426"/> <reference key="object" ref="735198371"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">117</int>
<reference key="object" ref="673679325"/>
<array class="NSMutableArray" key="children"> <array class="NSMutableArray" key="children">
<reference ref="706619994"/> <reference ref="201181707"/>
</array> </array>
<reference key="parent" ref="528076956"/> <reference key="parent" ref="528076956"/>
</object> </object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">60</int> <int key="objectID">118</int>
<reference key="object" ref="750261447"/> <reference key="object" ref="201181707"/>
<reference key="parent" ref="673679325"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">119</int>
<reference key="object" ref="486655598"/>
<array class="NSMutableArray" key="children"> <array class="NSMutableArray" key="children">
<reference ref="20461989"/> <reference ref="567964782"/>
</array> </array>
<reference key="parent" ref="528076956"/> <reference key="parent" ref="528076956"/>
</object> </object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">61</int> <int key="objectID">120</int>
<reference key="object" ref="20461989"/> <reference key="object" ref="567964782"/>
<reference key="parent" ref="750261447"/> <reference key="parent" ref="486655598"/>
</object> </object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">62</int> <int key="objectID">121</int>
<reference key="object" ref="706619994"/> <reference key="object" ref="872321844"/>
<reference key="parent" ref="137340426"/> <array class="NSMutableArray" key="children">
<reference ref="1023118108"/>
</array>
<reference key="parent" ref="528076956"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">122</int>
<reference key="object" ref="1023118108"/>
<reference key="parent" ref="872321844"/>
</object> </object>
</array> </array>
</object> </object>
@@ -358,27 +416,42 @@
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="115.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="117.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="118.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="119.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="120.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="121.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="122.CustomClassName">NSSecureTextFieldCell</string>
<string key="122.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="54.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="54.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="55.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="55.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="58.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="58.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="59.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="60.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="61.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="62.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary> </dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/> <nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/> <dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/> <nil key="sourceID"/>
<int key="maxID">110</int> <int key="maxID">122</int>
</object> </object>
<object class="IBClassDescriber" key="IBDocument.Classes"> <object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions"> <array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription"> <object class="IBPartialClassDescription">
<string key="className">MPEntryViewController</string> <string key="className">MPEntryViewController</string>
<string key="superclassName">MPViewController</string> <string key="superclassName">MPViewController</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">entryTable</string>
<string key="NS.object.0">NSTableView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">entryTable</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">entryTable</string>
<string key="candidateClassName">NSTableView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier"> <object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string> <string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/MPEntryViewController.h</string> <string key="minorKey">./Classes/MPEntryViewController.h</string>

View File

@@ -58,11 +58,13 @@ NSString *const MPDatabaseControllerDatabaseKey = @"MPDatabaseControllerDatabase
userInfo:userInfo]; userInfo:userInfo];
} }
[_database release]; [_database release];
_database = [database retain]; if(database) {
NSDictionary *userInfo = @{ MPDatabaseControllerDatabaseKey: _database }; _database = [database retain];
[[NSNotificationCenter defaultCenter] postNotificationName:MPDatabaseControllerDidLoadDatabaseNotification NSDictionary *userInfo = @{ MPDatabaseControllerDatabaseKey: _database };
object:self [[NSNotificationCenter defaultCenter] postNotificationName:MPDatabaseControllerDidLoadDatabaseNotification
userInfo:userInfo]; object:self
userInfo:userInfo];
}
} }
} }

View File

@@ -72,7 +72,7 @@ NSString *const MPDidLoadDataBaseNotification = @"DidLoadDataBaseNotification";
@catch (NSException *exception) { @catch (NSException *exception) {
NSLog(@"%@", [exception description]); NSLog(@"%@", [exception description]);
[self release]; [self release];
return self; return nil;
} }
if([self.tree isKindOfClass:[Kdb4Tree class]]) { if([self.tree isKindOfClass:[Kdb4Tree class]]) {

View File

@@ -8,6 +8,13 @@
#import "MPViewController.h" #import "MPViewController.h"
@class KdbGroup;
@class MPOutlineViewDelegate;
@interface MPEntryViewController : MPViewController @interface MPEntryViewController : MPViewController
@property (nonatomic, assign) id<NSOutlineViewDelegate> outlineViewDelegate;
@property (assign) KdbGroup *activeGroup;
@property (readonly, retain) NSArrayController *entryArrayController;
@end @end

View File

@@ -7,10 +7,18 @@
// //
#import "MPEntryViewController.h" #import "MPEntryViewController.h"
#import "MPOutlineViewDelegate.h"
NSString *const _MPUserNameColumnIdentifier = @"MPUserNameColumnIdentifier";
NSString *const _MPTitleColumnIdentifier = @"MPTitleColumnIdentifier";
NSString *const _MPPasswordColumnIdentifier = @"MPPasswordColumnIdentifier";
@interface MPEntryViewController () @interface MPEntryViewController ()
@property (retain) NSArrayController *entryArrayController; @property (retain) NSArrayController *entryArrayController;
@property (assign) IBOutlet NSTableView *entryTable;
- (void)didChangeGroupSelectionInOutlineView:(NSNotification *)notification;
@end @end
@@ -23,9 +31,42 @@
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self) { if(self) {
self.entryArrayController = [[[NSArrayController alloc] init] autorelease]; _entryArrayController = [[NSArrayController alloc] init];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didChangeGroupSelectionInOutlineView:)
name:MPOutlineViewDidChangeGroupSelection
object:nil];
} }
return self; return self;
} }
- (void)didLoadView {
NSTableColumn *nameColumn = [self.entryTable tableColumns][0];
NSTableColumn *userNameColumn = [self.entryTable tableColumns][1];
NSTableColumn *passwordColumn = [self.entryTable tableColumns][2];
[nameColumn setIdentifier:_MPTitleColumnIdentifier];
[userNameColumn setIdentifier:_MPUserNameColumnIdentifier];
[passwordColumn setIdentifier:_MPPasswordColumnIdentifier];
[[nameColumn headerCell] setStringValue:@"Title"];
[[userNameColumn headerCell] setStringValue:@"Username"];
[[passwordColumn headerCell] setStringValue:@"Password"];
[nameColumn bind:NSValueBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects.title" options:nil];
[userNameColumn bind:NSValueBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects.username" options:nil];
[passwordColumn bind:NSValueBinding toObject:self.entryArrayController withKeyPath:@"arrangedObjects.password" options:nil];
}
- (void)didChangeGroupSelectionInOutlineView:(NSNotification *)notification {
MPOutlineViewDelegate *delegate = [notification object];
KdbGroup *group = delegate.selectedGroup;
if(group) {
[self.entryArrayController bind:NSContentArrayBinding toObject:group withKeyPath:@"entries" options:nil];
}
else {
[self.entryArrayController setContent:nil];
}
}
@end @end

View File

@@ -10,4 +10,6 @@
@interface MPOutlineViewController : MPViewController @interface MPOutlineViewController : MPViewController
@property (retain, readonly) NSMenu *menu;
@end @end

View File

@@ -56,7 +56,6 @@
} }
- (void)didLoadView { - (void)didLoadView {
//[[self.outlineView outlineTableColumn] setIdentifier:kColumnIdentifier];
[self.outlineView setDataSource:self.datasource]; [self.outlineView setDataSource:self.datasource];
[self.outlineView setDelegate:self.outlineDelegate]; [self.outlineView setDelegate:self.outlineDelegate];
[self.outlineView setMenu:self.menu]; [self.outlineView setMenu:self.menu];
@@ -65,7 +64,9 @@
- (void)didOpenDocument:(NSNotification *)notification { - (void)didOpenDocument:(NSNotification *)notification {
[self.outlineView reloadData]; [self.outlineView reloadData];
MPDatabaseController *dbContoller = [MPDatabaseController defaultController]; MPDatabaseController *dbContoller = [MPDatabaseController defaultController];
[self.outlineView expandItem:dbContoller.database.root expandChildren:NO]; if(dbContoller.database) {
[self.outlineView expandItem:dbContoller.database.root expandChildren:NO];
}
} }
- (void)setupMenu { - (void)setupMenu {

View File

@@ -8,6 +8,12 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
APPKIT_EXTERN NSString *const MPOutlineViewDidChangeGroupSelection;
@class KdbGroup;
@interface MPOutlineViewDelegate : NSObject <NSOutlineViewDelegate> @interface MPOutlineViewDelegate : NSObject <NSOutlineViewDelegate>
@property (assign, readonly) KdbGroup *selectedGroup;
@end @end

View File

@@ -10,9 +10,17 @@
#import "MPIconHelper.h" #import "MPIconHelper.h"
#import "KdbLib.h" #import "KdbLib.h"
NSString *const MPOutlineViewDidChangeGroupSelection = @"MPOutlineViewDidChangeGroupSelection";
NSString *const _MPOutlineViewDataViewIdentifier = @"DataCell"; NSString *const _MPOutlineViewDataViewIdentifier = @"DataCell";
NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell";
@interface MPOutlineViewDelegate ()
@property (assign) KdbGroup *selectedGroup;
@end
@implementation MPOutlineViewDelegate @implementation MPOutlineViewDelegate
- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item { - (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item {
@@ -47,4 +55,12 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell";
return (nil != [group parent]); return (nil != [group parent]);
} }
- (void)outlineViewSelectionDidChange:(NSNotification *)notification {
NSOutlineView *outlineView = [notification object];
KdbGroup *selectedGroup = [outlineView itemAtRow:[outlineView selectedRow]];
self.selectedGroup = selectedGroup;
NSLog(@"Selected: %@", self.selectedGroup);
[[NSNotificationCenter defaultCenter] postNotificationName:MPOutlineViewDidChangeGroupSelection object:self userInfo:nil];
}
@end @end

View File

@@ -21,7 +21,7 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>76</string> <string>B9</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string> <string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>