From 31c7948faf05844fcea7195b01e7c09eeecc1a88 Mon Sep 17 00:00:00 2001 From: Matt Rice Date: Mon, 2 Mar 2009 06:06:44 +0000 Subject: [PATCH] * DBModeler/Inspectors/RelationshipInspector.m (-awakeFromNib): Set text field delegate, implement controlTextDidEndEditing. * DBModeler/Resources/Preferences.gorm: Remove unimplemented outlets. * DBModeler/ModelerAttributeEditor.h: Add ivar. * DBModeler/ModelerAttributeEditor.m: Add EOObserving for the current selection. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@28022 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 6 ++++ DBModeler/Inspectors/RelationshipInspector.m | 10 ++++++ DBModeler/ModelerAttributeEditor.h | 2 ++ DBModeler/ModelerAttributeEditor.m | 32 +++++++++++++++++- .../Resources/Preferences.gorm/data.info | Bin 184 -> 184 bytes .../Resources/Preferences.gorm/objects.gorm | Bin 7100 -> 7868 bytes 6 files changed, 49 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5a3bbd1..f7e8827 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,12 @@ controlTextDidEndEditing:. * DBModeler/Inspectors/AttributesInspector.gorm: Set text field delegates, and nextKeyView. + * DBModeler/Inspectors/RelationshipInspector.m (-awakeFromNib): + Set text field delegate, implement controlTextDidEndEditing. + * DBModeler/Resources/Preferences.gorm: Remove unimplemented outlets. + * DBModeler/ModelerAttributeEditor.h: Add ivar. + * DBModeler/ModelerAttributeEditor.m: Add EOObserving for the current + selection. 2009-03-01 Matt Rice diff --git a/DBModeler/Inspectors/RelationshipInspector.m b/DBModeler/Inspectors/RelationshipInspector.m index dd0a74d..3197d7e 100644 --- a/DBModeler/Inspectors/RelationshipInspector.m +++ b/DBModeler/Inspectors/RelationshipInspector.m @@ -163,6 +163,7 @@ - (void) awakeFromNib { + [name_textField setDelegate:self]; [destEntity_tableView setAllowsEmptySelection:NO]; [srcAttrib_tableView setAllowsEmptySelection:NO]; [destAttrib_tableView setAllowsEmptySelection:NO]; @@ -386,5 +387,14 @@ row:(int)row [[self selectedObject] setToMany: [[sender selectedCell] tag]]; } +- (void) controlTextDidEndEditing:(NSNotification *)notif +{ + id sender = [notif object]; + NSLog(@"%@ %@", NSStringFromSelector(_cmd), sender); + + if (sender == name_textField) + [self nameChanged:sender]; +} + @end diff --git a/DBModeler/ModelerAttributeEditor.h b/DBModeler/ModelerAttributeEditor.h index 5d6faba..75cbfc5 100644 --- a/DBModeler/ModelerAttributeEditor.h +++ b/DBModeler/ModelerAttributeEditor.h @@ -31,6 +31,7 @@ @class NSTableView; @class EODisplayGroup; @class PlusMinusView; +@class NSArray; @interface ModelerAttributeEditor : ModelerTableEmbedibleEditor { @@ -41,6 +42,7 @@ EODisplayGroup *_relationships_dg; id _entityToObserve; id _attributeToObserve; + NSArray *_oldSelection; } @end diff --git a/DBModeler/ModelerAttributeEditor.m b/DBModeler/ModelerAttributeEditor.m index ec80b05..bdb4941 100644 --- a/DBModeler/ModelerAttributeEditor.m +++ b/DBModeler/ModelerAttributeEditor.m @@ -187,7 +187,12 @@ [self addDefaultTableColumnsForTableView:_relationships_tableView displayGroup:_relationships_dg]; - + + [[NSNotificationCenter defaultCenter] + addObserver:self + selector:@selector(selectionDidChange:) + name:EOMSelectionChangedNotification + object:[self document]]; return self; } @@ -262,6 +267,31 @@ return [NSArray arrayWithObjects: [ModelerEntityEditor class], nil]; } +- (void) selectionDidChange:(NSNotification *)notif +{ + EOModelerDocument *doc = [notif object]; + NSArray *newSelection = [[EOMApp currentEditor] selectionWithinViewedObject]; + int i, c; + + c = [_oldSelection count]; + + for (i = 0; i < c; i++) + { + id obj = [_oldSelection objectAtIndex:i]; + + [EOObserverCenter removeObserver:self forObject:obj]; + } + + c = [newSelection count]; + for (i = 0; i < c; i++) + { + id obj = [newSelection objectAtIndex:i]; + + [EOObserverCenter addObserver:self forObject:obj]; + } + ASSIGN(_oldSelection, newSelection); +} + - (void) objectWillChange:(id)sender { [[NSRunLoop currentRunLoop] diff --git a/DBModeler/Resources/Preferences.gorm/data.info b/DBModeler/Resources/Preferences.gorm/data.info index 152bdecf1368d3ccf77b4dfc8ce7496bfad47564..da98e4327f70ff8ec64d5cb98405097d84145e8a 100644 GIT binary patch delta 19 acmdnNxPx(m2y?1=@45+_x&>tb delta 19 acmdnNxPx(m2y?Q9#YAyGCPt=->45+@-UTrL diff --git a/DBModeler/Resources/Preferences.gorm/objects.gorm b/DBModeler/Resources/Preferences.gorm/objects.gorm index 5a37279a0d72e1749a4f1eb2447f275138e18858..78fb085e6d9ab6f14d91e87a4aafc73ac42c538a 100644 GIT binary patch delta 1198 zcmdmEzQ=Zgh-j*LvXucC7@0#ENtPQm*%{d#92gk59ULZ`Gupt}RgCW$nI~s4DFVqJ zrdup56DCZUY{)9h$S^sJ*+X4`fkBOdfq@ZBOqjq8WHW#XkN{YUfe8pV?`Q63MAjR` z`kj>rVb*3pHVH-)fo%2;Cb$MQpb=mLnHV<+88I?&F>uAF%yBl^K~h7+6_2 z7@BRC<|;wh;?AH7a>Im46AT8Ix zM}T;(n+5XWTAkowyCH0XK_WCzHwYkwDxoAX*;lXtZXPfY4hjLI|ZoKOXM`8$7V6nD3shWxm4^jN^bELS7l_A z76m4E>CF`q_KZrc28$pr=LTg0R*(!gQ$bN`T5))0UP^ws!Q#nAQp$`=CWlF>b1vPe zwqe4CZi8i$+oa^BmTy$u&^BR$!3rSV1!Nhl+^D{xbHfCKRg?Eisd26b@+yJ6HIv^- z$#Sj*@;ZRLb(2M;6*$)e4Qk!cYp`Lmt+WQ`Mj)?uL#4r{$$8Rp2AhGrN}$?J23vrv fjt$*F)>a^^8))_>gKa=oCs6e!gY6rY!TAvYdRF*y delta 915 zcmdmEyT^Qjh-k8fg_Qvq7@0#ENhupO*%{gG8yFb49R((vGupt}RgCW$87F5kDFVqJ zrdupb6DCZU+`;U@%fKL@#=yY92qrdvXYOZ&$gN=g&T7B_RJHjKn*<}2`Io(eNdu&n zi2}ETqTSKAl0fMwG$>yFmTw& z0oFIcz!AoRm;`nM8%S>Q3Z8vX*YPUwKwSrsImg??$T>NXPYg(A@ZAQh+MLSI4s~&# zfFi1ICSMb%n;a{^uZ`@64Pg@uqM?>=5J0jW5(1Nt2^M0gkHe#WmQX&#x!S@~Xx8Tl z7eJ)`VMy7FR70fhh@k6|6)nMVKo%Ycd=bsZP@juO{V}n6h}G%hrx_bI8%sn%V|Vff z$;;4qUM8i=$R;Zaj1Jk&7p3hP>njZwL5$=F#U(39hMy@hCB>;UFC{0{skEddKhI$C zMzswSHgp&)fhZM%D-~iYO3lqL1FAz(y%emv)nFM!H8)%}H&a1TYFcr4W?o8uxxsQn zbq3MNX0q~(D<+4@s&lRcYwI>xHMvbzUTXD5)eUVECK#*%(p^B7!P<@L8#*^kFjzNv zzpNVPdLXY7$lEaaovbY9Mj)>P$lEkoL{5QoGti*c4ZQ|iCfmwsaBc