libs-gdl2/EOInterface/EOTableViewAssociation.m

354 lines
9.6 KiB
Mathematica
Raw Normal View History

/**
EOTableViewAssociation.m
Copyright (C) 2004,2005 Free Software Foundation, Inc.
Author: David Ayers <ayers@fsfe.org>
This file is part of the GNUstep Database Library
The GNUstep Database Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 3,
or (at your option) any later version.
The GNUstep Database Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNUstep Database Library; see the file COPYING. If not,
write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifdef GNUSTEP
#include <Foundation/NSArray.h>
#include <Foundation/NSEnumerator.h>
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
#include <Foundation/NSMapTable.h>
#include <Foundation/NSNotification.h>
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
#include <Foundation/NSString.h>
#include <Foundation/NSValue.h>
#include <AppKit/NSTableView.h>
#include <AppKit/NSTableColumn.h>
#include <AppKit/NSText.h>
#else
#include <Foundation/Foundation.h>
#include <AppKit/AppKit.h>
#endif
#include <GNUstepBase/GNUstep.h>
#include "EOColumnAssociation.h"
#include "EOControlAssociation.h"
#include "EOPickTextAssociation.h"
#include "EOActionAssociation.h"
#include "EOActionInsertionAssociation.h"
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
#include "EODisplayGroup.h"
@implementation EOTableViewAssociation
2006-09-05 21:16:56 +00:00
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
static NSMapTable *tvAssociationMap;
+ (NSArray *)aspects
{
static NSArray *_aspects = nil;
if (_aspects == nil)
{
NSArray *arr = [NSArray arrayWithObjects:
@"source", @"enabled", @"textColor",
@"bold", @"italic", nil];
_aspects = RETAIN([[super aspects] arrayByAddingObjectsFromArray: arr]);
}
return _aspects;
}
+ (NSArray *)aspectSignatures
{
static NSArray *_signatures = nil;
if (_signatures == nil)
{
NSArray *arr = [NSArray arrayWithObjects:
@"", @"A", @"A", @"A", @"A", nil];
arr = [[super aspectSignatures] arrayByAddingObjectsFromArray: arr];
_signatures = RETAIN(arr);
}
return _signatures;
}
+ (NSArray *)objectKeysTaken
{
static NSArray *_keys = nil;
if (_keys == nil)
{
_keys = [[NSArray alloc] initWithObjects:
@"target", @"delegate", @"dataSource", nil];
}
return _keys;
}
2006-09-05 21:16:56 +00:00
+ (BOOL)isUsableWithObject: (id)object
{
return [object isKindOfClass: [NSTableView class]];
}
2006-09-05 21:16:56 +00:00
@class EOControlAssociation;
@class EOPickTextAssociation;
@class EOActionAssociation;
@class EOActionInsertionAssociation;
+ (NSArray *) associationClassesSuperseded
{
static NSArray *_superseded;
if (!_superseded)
_superseded = [[NSArray arrayWithObjects:[EOControlAssociation class],
[EOPickTextAssociation class],
[EOActionAssociation class],
[EOActionInsertionAssociation class],
nil] retain];
return _superseded;
}
+ (NSString *)primaryAspect
{
return @"source";
}
- (void)establishConnection
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
[super establishConnection];
_enabledAspectBound = [self displayGroupForAspect:@"enabled"] != nil;
_italicAspectBound = [self displayGroupForAspect:@"italic"] != nil;
_colorAspectBound = [self displayGroupForAspect:@"color"] != nil;
_boldAspectBound = [self displayGroupForAspect:@"bold"] != nil;
}
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
- (void)breakConnection
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
[super breakConnection];
* EOInterface/EOAssociation.m: New variable _objectToAssociations. (+objectDeallocated:): New private method. (+initialize): initialize _objectToAssociations. (-dealloc): Discard any pending notifications. (-establishConnection): Retain display groups we're bound to. Retain our self and register our object for dealloc notification. (-breakConnection): Release display groups we're bound to. Release our self and discard any pending notifications. (-subjectChanged): Add comment * EOInterface/EOColumnAssociation.m (-establishConnection): Assign our dg ivar after establishing connection. Use the dg ivar and move 2 if statements into one. * EOInterface/EODisplayGroup.m: Remove debugging class/category for emptyArray and emptyDictionary. (-indexesForObjectsIndeticalTo:): Fix typo by renaming to -indexesForObjectsIdenticalTo:. (-dealloc): Remove our self as an observer for any notifications, as an editor or message handler for our editing context, our observer proxies as observers from the observer center. Don't release array/dictionary ivars that are emptyArray or emptyDictionary. (-setSelectionIndexes:): Update to reflect change in method name. (-deleteSelection): Remove unused local var. (-fetch:): Call -redisplay. (-updatedObjectIndex:): Return -1 instead of 0 until this is implemented. (-setValue:forObject:key:): fix comment in exception handlers. * EOInterface/EOGenericControlAssociation.m: (-subjectChanged:): Remove unused local variable. * EOMasterDetailAssociation.m: (-establishConnection, -breakConnection, -subjectChanged): Implement. * EOInterface/EOPopUpAssociation.m: Remove unused local variables. * EOInterface/EOTableViewAssociation.m: (-breakConnection:): Remove our NSTableView object from the map table. (-subjectChanged:): Remove unused local variables. Release temporary retain on selection indexes. (+bindToTableView:displayGroup:): Don't retain the table views in the map table. Release the newly created association. (-dealloc): Remove self from the tvAssociationMap. * EOInterface/SubclassFlags.h: Fix bitmask on MatchKey1AspectMask. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21439 72102866-910b-0410-8b05-ffd578937521
2005-07-09 03:01:22 +00:00
NSMapRemove(tvAssociationMap, _object);
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
_enabledAspectBound = NO;
_italicAspectBound = NO;
_colorAspectBound = NO;
_boldAspectBound = NO;
}
- (void)subjectChanged
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
EODisplayGroup *dg = [self displayGroupForAspect:@"source"];
/* this must be before selection changes in the case where the selected row
is not yet inserted */
if ([dg contentsChanged])
[[self object] reloadData];
2006-09-05 21:16:56 +00:00
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
if ([dg selectionChanged])
{
2006-09-05 21:16:56 +00:00
if (!_extras)
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
{
2006-09-05 21:16:56 +00:00
NSArray *selectionIndexes = RETAIN([dg selectionIndexes]);
unsigned int i, count;
count = [selectionIndexes count];
if (count)
{
for (i = 0; i < count; i++)
{
int rowIndex = [[selectionIndexes objectAtIndex:i] intValue];
/* don't extend the first selection */
[[self object] selectRow: rowIndex
byExtendingSelection: (i != 0)];
[[self object] scrollRowToVisible:rowIndex];
}
}
else
{
/* hmm not sure what to do about it if it doesn't allow empty
* selection. In that case NSTableView no-ops and the dg
* will think nothing is selected table view will leave
* whatever index was selected still selected.
*/
if ([[self object] allowsEmptySelection])
{
[[self object] deselectAll:self];
2006-09-05 21:16:56 +00:00
}
else
NSLog(@"attempting to clear selection when table view won't allow empty selection");
}
RELEASE(selectionIndexes);
}
_extras = 0;
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
}
}
+ (void)bindToTableView: (NSTableView *)tableView
displayGroup: (EODisplayGroup *)displayGroup
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
EOTableViewAssociation *assoc;
if (!tvAssociationMap)
{
* EOInterface/EOAssociation.m: New variable _objectToAssociations. (+objectDeallocated:): New private method. (+initialize): initialize _objectToAssociations. (-dealloc): Discard any pending notifications. (-establishConnection): Retain display groups we're bound to. Retain our self and register our object for dealloc notification. (-breakConnection): Release display groups we're bound to. Release our self and discard any pending notifications. (-subjectChanged): Add comment * EOInterface/EOColumnAssociation.m (-establishConnection): Assign our dg ivar after establishing connection. Use the dg ivar and move 2 if statements into one. * EOInterface/EODisplayGroup.m: Remove debugging class/category for emptyArray and emptyDictionary. (-indexesForObjectsIndeticalTo:): Fix typo by renaming to -indexesForObjectsIdenticalTo:. (-dealloc): Remove our self as an observer for any notifications, as an editor or message handler for our editing context, our observer proxies as observers from the observer center. Don't release array/dictionary ivars that are emptyArray or emptyDictionary. (-setSelectionIndexes:): Update to reflect change in method name. (-deleteSelection): Remove unused local var. (-fetch:): Call -redisplay. (-updatedObjectIndex:): Return -1 instead of 0 until this is implemented. (-setValue:forObject:key:): fix comment in exception handlers. * EOInterface/EOGenericControlAssociation.m: (-subjectChanged:): Remove unused local variable. * EOMasterDetailAssociation.m: (-establishConnection, -breakConnection, -subjectChanged): Implement. * EOInterface/EOPopUpAssociation.m: Remove unused local variables. * EOInterface/EOTableViewAssociation.m: (-breakConnection:): Remove our NSTableView object from the map table. (-subjectChanged:): Remove unused local variables. Release temporary retain on selection indexes. (+bindToTableView:displayGroup:): Don't retain the table views in the map table. Release the newly created association. (-dealloc): Remove self from the tvAssociationMap. * EOInterface/SubclassFlags.h: Fix bitmask on MatchKey1AspectMask. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21439 72102866-910b-0410-8b05-ffd578937521
2005-07-09 03:01:22 +00:00
tvAssociationMap = NSCreateMapTableWithZone(NSNonRetainedObjectMapKeyCallBacks,
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
NSNonRetainedObjectMapValueCallBacks,
0, [self zone]);
assoc = [[self allocWithZone:NSDefaultMallocZone()] initWithObject:tableView];
NSMapInsert(tvAssociationMap, (void *)tableView, (void *)assoc);
[assoc bindAspect:@"source" displayGroup:displayGroup key:@""];
[tableView setDataSource:assoc];
[tableView setDelegate:assoc];
[assoc establishConnection];
* EOInterface/EOAssociation.m: New variable _objectToAssociations. (+objectDeallocated:): New private method. (+initialize): initialize _objectToAssociations. (-dealloc): Discard any pending notifications. (-establishConnection): Retain display groups we're bound to. Retain our self and register our object for dealloc notification. (-breakConnection): Release display groups we're bound to. Release our self and discard any pending notifications. (-subjectChanged): Add comment * EOInterface/EOColumnAssociation.m (-establishConnection): Assign our dg ivar after establishing connection. Use the dg ivar and move 2 if statements into one. * EOInterface/EODisplayGroup.m: Remove debugging class/category for emptyArray and emptyDictionary. (-indexesForObjectsIndeticalTo:): Fix typo by renaming to -indexesForObjectsIdenticalTo:. (-dealloc): Remove our self as an observer for any notifications, as an editor or message handler for our editing context, our observer proxies as observers from the observer center. Don't release array/dictionary ivars that are emptyArray or emptyDictionary. (-setSelectionIndexes:): Update to reflect change in method name. (-deleteSelection): Remove unused local var. (-fetch:): Call -redisplay. (-updatedObjectIndex:): Return -1 instead of 0 until this is implemented. (-setValue:forObject:key:): fix comment in exception handlers. * EOInterface/EOGenericControlAssociation.m: (-subjectChanged:): Remove unused local variable. * EOMasterDetailAssociation.m: (-establishConnection, -breakConnection, -subjectChanged): Implement. * EOInterface/EOPopUpAssociation.m: Remove unused local variables. * EOInterface/EOTableViewAssociation.m: (-breakConnection:): Remove our NSTableView object from the map table. (-subjectChanged:): Remove unused local variables. Release temporary retain on selection indexes. (+bindToTableView:displayGroup:): Don't retain the table views in the map table. Release the newly created association. (-dealloc): Remove self from the tvAssociationMap. * EOInterface/SubclassFlags.h: Fix bitmask on MatchKey1AspectMask. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21439 72102866-910b-0410-8b05-ffd578937521
2005-07-09 03:01:22 +00:00
RELEASE(assoc);
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
return;
}
assoc = (EOTableViewAssociation *)NSMapGet(tvAssociationMap, tableView);
if (!assoc)
{
assoc = [[self allocWithZone:NSDefaultMallocZone()] initWithObject:tableView];
[assoc bindAspect:@"source" displayGroup:displayGroup key:@""];
[tableView setDataSource:assoc];
[tableView setDelegate:assoc];
[assoc establishConnection];
* EOInterface/EOAssociation.m: New variable _objectToAssociations. (+objectDeallocated:): New private method. (+initialize): initialize _objectToAssociations. (-dealloc): Discard any pending notifications. (-establishConnection): Retain display groups we're bound to. Retain our self and register our object for dealloc notification. (-breakConnection): Release display groups we're bound to. Release our self and discard any pending notifications. (-subjectChanged): Add comment * EOInterface/EOColumnAssociation.m (-establishConnection): Assign our dg ivar after establishing connection. Use the dg ivar and move 2 if statements into one. * EOInterface/EODisplayGroup.m: Remove debugging class/category for emptyArray and emptyDictionary. (-indexesForObjectsIndeticalTo:): Fix typo by renaming to -indexesForObjectsIdenticalTo:. (-dealloc): Remove our self as an observer for any notifications, as an editor or message handler for our editing context, our observer proxies as observers from the observer center. Don't release array/dictionary ivars that are emptyArray or emptyDictionary. (-setSelectionIndexes:): Update to reflect change in method name. (-deleteSelection): Remove unused local var. (-fetch:): Call -redisplay. (-updatedObjectIndex:): Return -1 instead of 0 until this is implemented. (-setValue:forObject:key:): fix comment in exception handlers. * EOInterface/EOGenericControlAssociation.m: (-subjectChanged:): Remove unused local variable. * EOMasterDetailAssociation.m: (-establishConnection, -breakConnection, -subjectChanged): Implement. * EOInterface/EOPopUpAssociation.m: Remove unused local variables. * EOInterface/EOTableViewAssociation.m: (-breakConnection:): Remove our NSTableView object from the map table. (-subjectChanged:): Remove unused local variables. Release temporary retain on selection indexes. (+bindToTableView:displayGroup:): Don't retain the table views in the map table. Release the newly created association. (-dealloc): Remove self from the tvAssociationMap. * EOInterface/SubclassFlags.h: Fix bitmask on MatchKey1AspectMask. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21439 72102866-910b-0410-8b05-ffd578937521
2005-07-09 03:01:22 +00:00
RELEASE(assoc);
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
NSMapInsert(tvAssociationMap, tableView, assoc);
}
}
- (BOOL)sortsByColumnOrder
{
return _sortsByColumnOrder;
}
- (void)setSortsByColumnOrder: (BOOL)flag
{
_sortsByColumnOrder = flag ? YES : NO;
}
- (EOColumnAssociation *)editingAssociation
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
int editedColumn = [[self object] editedColumn];
if (editedColumn == -1)
{
return nil;
}
else
{
return [[[[self object] tableColumns] objectAtIndex:editedColumn] identifier];
}
}
- (NSInteger)numberOfRowsInTableView: (NSTableView *)tableView
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
return [[[self displayGroupForAspect:@"source"] displayedObjects] count];
}
- (void)tableView: (NSTableView *)tableView
setObjectValue: (id)object
forTableColumn: (NSTableColumn *)tableColumn
row: (int)row
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
[(EOColumnAssociation *)[tableColumn identifier]
tableView: tableView
setObjectValue: object
forTableColumn: tableColumn
row: row];
}
- (id)tableView: (NSTableView *)tableView
objectValueForTableColumn: (NSTableColumn *)tableColumn
row: (int)row
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
id object;
object = [[tableColumn identifier] tableView: tableView
objectValueForTableColumn: tableColumn
row: row];
return object;
}
- (BOOL)tableView: (NSTableView *)tableView
shouldEditTableColumn: (NSTableColumn *)tableColumn
row: (int)row
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
if (_enabledAspectBound)
if ([[self valueForAspect: @"enabled" atIndex:row] boolValue] == NO)
return NO;
return [[tableColumn identifier] tableView:tableView shouldEditTableColumn:tableColumn row:row];
}
- (void)tableView: (NSTableView *)tableView
willDisplayCell: (id)cell
forTableColumn: (NSTableColumn *)tableColumn
row: (int)row
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
if (_enabledAspectBound)
[cell setEnabled: [[self valueForAspect:@"enabled" atIndex: row] boolValue]];
/* maybe these should setup an attributed string */
if (_italicAspectBound)
; /* TODO */
if (_boldAspectBound)
; /* TODO */
if (_colorAspectBound)
{
if ([cell respondsToSelector:@selector(setTextColor:)])
[cell setTextColor: [self valueForAspect:@"color" atIndex:row]];
}
}
- (void)tableViewSelectionDidChange: (NSNotification *)notification
{
2006-09-05 21:16:56 +00:00
_extras = 1;
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
{
2006-09-05 21:16:56 +00:00
EODisplayGroup *dg = [self displayGroupForAspect:@"source"];
NSMutableArray *selectionIndices = [[NSMutableArray alloc] init];
NSTableView *tv = [notification object];
NSEnumerator *selectionEnum = [tv selectedRowEnumerator];
id index;
while ((index = [selectionEnum nextObject]))
{
[selectionIndices addObject:index];
}
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
2006-09-05 21:16:56 +00:00
[dg setSelectionIndexes: AUTORELEASE(selectionIndices)];
}
}
- (BOOL)control: (NSControl *)control
didFailToFormatString: (NSString *)string
errorDescription: (NSString *)description
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
return [[self editingAssociation]
control: control
didFailToFormatString: string
errorDescription: description];
}
- (BOOL)control: (NSControl *)control
isValidObject: (id)object
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
return [[self editingAssociation] control: control
isValidObject: object];
}
- (BOOL)control: (NSControl *)control
textShouldBeginEditing: (NSText *)fieldEditor
{
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
return [[self editingAssociation] control: control
textShouldBeginEditing: fieldEditor];
}
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
[[self displayGroupForAspect:@"source"] endEditing];
}
2005-05-12 Matt Rice <ratmice@yahoo.com> * ChangeLog: Fix previous ChangeLog entry. * EOInterface/EOActionAssociation.m: Implemented aspects enabled and action. (-establishConnection): Implement (-breakConnection, -subjectChanged, -action): Ditto. * EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed argument passed to -isUsableWithObject:. Assign count (-init): Assign self. (-establishConnection:): Add unused local variable to pass to NSNextMapEnumeratorPair instead of 0. (-breakConnection:): Ditto. (-initWithCoder:, -encodeWithCoder:): Initial implementation of methods. (-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto. (-setValueForAspect:atIndex:): Ditto. * EOInterface/SubclassFlags.h: New file. * EOInterface/EOAspectConnector.h/m: New file and implementation. * EOInterface/EOColumnAssociation.m: Implemented aspects value and enabled (-objectKeysTaken): Take identifier key. (-establishConnection, -breakConnection, -endEditing): Implement methods. (-tableView:setObjectValueForTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:textShouldBeginEditing:): Ditto. * EOInterface/EOControlAssociation.m: (-control): Ditto (-editingAssociation, -establishConnection, -breakConnection): Ditto. * EOInterface/EOGenericControlAssociation.m: Implemented aspects value and enabled. (+objectKeysTaken): add target key. (-establishConnection: -breakConnection:, -subjectChanged:): Ditto. (-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto. * EOInterface/EOMatrixAssociation.m: Implemented aspects image, title, and enabled. (-establishConnection, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOPopUpAssociation.m: Implemented aspects titles, selectedTitle, selectedTag, selectedObject, enabled. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EORadioMatrixAssociation.m: Implemented aspects selectedTag, selectedTitle, enabled. (NSCell -_selectCellWithTitle:): Private category. (-initWithObject:, -_action:): Implemented method. (-establishConnection:, -breakConnection, -subjectChanged): Ditto. * EOInterface/EOTableViewAssociation.m: Implemented aspects enabled, tableView. (-establishConnection, -breakConnection, subjectChanged): Implement method. (-bindToTableView:displayGroup:, -editingAssociation): Ditto. (-numberOfRowsInTableView:): (-tableView:setObjectValue:forTableColumn:row:): Ditto. (-tableView:objectValueForTableColumn:row:): Ditto. (-tableView:shouldEditTableColumn:row:): Ditto. (-tableView:willDisplayCell:forTableColumn:row:): Ditto. (-tableView:selectionDidChange:): Ditto. (-control:didFailToFormatString:errorDescription:): Ditto. (-control:isValidObject:, -control:textShouldBeginEditing:): Ditto. (-dealloc): Ditto. * EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. (-establishConnection): Implemented method. (-breakConnection, -subjectChanged, -endEditing): Ditto. (-control:isValidObject:,textShouldBeginEditing:): Ditto. (-textShouldEndEditing:): Ditto. * EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace changes. * EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS and GUI_LIBS variables. * EOInterface/EODisplayGroup.h: Comment on whether ivars are retained. * EOInterface/EODisplayGroup.m: (DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros. (DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto. (DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto. (DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto. (DG_DID_CHANGE_SELECTION): Ditto. (NSArray -indexesForObjectsIdenticalTo:): Implement category method. (_presentAlertWithTitle:message:): New private methods. (-_endObserverNotification:): Implement notification observer methods. (-_beginObserverNotification:): Ditto. (-objectsInvalidatedInEditingContext:): Ditto. (-objectsChangedInEditingContext:): Ditto. (+initialize, -init, -initWithCoder:,): Implement methods. (-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto. (-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto. (-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto. (-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto. (-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto. (-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto. (-insertObjectAtIndex:, -insertObject:atIndex:): Ditto. (-setInsertedObjectDefaultValues:, -deleteSelection): Ditto. (-observingAssociations, -endEditing, -fetch:, -insert:): Ditto. (-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto. (-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto. (-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto. (-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto. (-associationDidEndEditing:): Ditto. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21222 72102866-910b-0410-8b05-ffd578937521
2005-05-12 19:55:41 +00:00
- (void) dealloc
{
[super dealloc];
}
@end