model.
(-new:): Release the model here.
(-newFromDatabase:): Ditto, and add error handling.
(-open:): Ditto.
(-application:openFile:): New method.
* EOModeler/EOModelerDocument.m (-saveAs:): Add error handling, and
remove check for an existing name.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21445 72102866-910b-0410-8b05-ffd578937521
(+endConsistencyCheck:): Use the notification object. Use unsigned for
array iterators.
(pass): Use the new doc variable.
(+attributeDetailsCheck:): Use unsigned for array iterators.
(+inheritanceCheckForModel:, +relationshipCheckForModel:): Ditto.
(+primaryKeyCheckForModel:, +externalNameCheckForModel): Ditto.
(+modelConsistencyCheck:): Assign doc to the notification object.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21441 72102866-910b-0410-8b05-ffd578937521
(+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
assignment. Replace label with window title.
(-runAdaptorsPanel:): Remove unused variable.
* DBModeler/DefaultColumnProvider.m: Add missing braces, remove
unused ivars.
(-cellForColumnNamed:): Autorelease cells.
* DBModeler/EOAdditions.m: New EOAttribute KVC methods -allowNull and
-setAllowNull:.
* DBModeler/GNUmakefile: Add new to project.
* DBModeler/KVDataSource.m (-createObject:): Return nil after
throwing exception.
* DBModeler/MainModelEditor.m
(-dragImageForRows:event:dragImageOffset:):: Enable drag and
drop for relationships.
(-initWithDocument:): Add parenthesis around assignment. Don't
release the document window on close.
(-ecStuff:): temporarily reload everything in the outline view when
something changes.
(-viewSelectedObject:): Remove NSLog. Rewrite editor activation.
Fix leaks.
* DBModeler/Modeler.m (-applicationWillFinishLaunching:): Add new menu
items. Don't order our menu in.
(-new:,-open:): Move document initializition to _newDocumentWithModel:.
(-_newDocumentWithModel:,-newFromDatabase:): New methods.
(-validateMenuItem:,-generateSQL:): Ditto.
* DBModeler/ModelerAttributeEditor.m (-initWithParentEditor:):
Remove unused variables.
(-displayGroupDidChangeSelection:): return early if there is no
longer a selection.
* DBModeler/ModelerEntityEditor.m:
(-canSupportCurrentSelection): Remove NSLog.
(-displayGroupDidChangeSelection:): Ditto.
(-dealloc:): New method.
(-initWithParentEditor:): Remove unused variables. Add parens around
assignment. Release local variables.
* DBModeler/ModelerTableEmbedibleEditor:
(-addDefaultTableColumnsForTableView:displayGroup:): Release table
columns.
(-addTableColumnForItem:tableView:): Ditto.
* DBModeler/Inspectors/RelationshipInspector.m:
(-selectedEntity, -selectedDestinationAttribute): New methods.
(-selectedSourceAttribute, -indexOfSourceAttribute:): Ditto.
(-indexOfDestinationAttribute:,joinWithSource:destination:): Ditto.
(-selectedJoin:,updateConnectButton,): Ditto.
(-refresh): Rewrite using new methods.
(-numberOfRowsInTableView:): Add fallback return value.
(-tableView:objectValueForTableColumn:row:): Ditto.
(-tableView:selectionDidChange:): If a source or destination
attribute is now selected, select its counterpart.
(-tableView:shouldSelectRow:): New method to disallow entity
selection if there is a destination entity.
(-tableView:willDisplayCell:forTableColumn:row:): New method,
set the cell text color to disabled text color, if we would disallow
selection.
(-connectionChanged:): Implement disconnection.
* DBModeler/SQLGenerator.h/m: New files initial implementation.
* DBModeler/Resources/SQLGenerator.gorm: Ditto.
* DBModeler/ConsistencyChecker.h/m: Ditto.
* DBModeler/ConsistencyResults.h/m: Ditto.
* DBModeler/ConsistencyResults.gorm: Ditto.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21438 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOSQLExpression.m
(-_administrativeDatabaseStatementsForSelector:forEntityGroup:):
Comment out login panel.
* EOAccess/EOUtilities.m: Dont declare EOMoreThanOneException and
NSObjectNotAvailableException as static.
* EOControl/EOPrivate.h: Declare new class GDL2NonRetainingMutableArray
and -registerAssociationForDeallocHack method.
* EOControl/EOPrivate.m: New class GDL2NonRetainingMutableArray.
* EOControl/EOEditingContext.m:
(EOEditingContext -initWithParentObjectStore:): initialize _editors
ivar with a non retaining array.
(-dealloc): Remove the editing context as an observer for registered
objects.
(-[NSObject(DeallocHack) dealloc]): for associations, remove the
association and object from the private hash table.
(-[NSObject(DeallocHack) registerAssociationForDeallocHack]): New
method.
* EOControl/EOObserver.m (EOObserverCenter): Replace GSIArray usage
with GDL2NonRetainingMutableArray.
(+addObserver:forObject:, +removeObserver:forObject:): Ditto.
(+initialize, +notifyObserversObjectWillChange:): Ditto.
(+observersForObject:, +observerForObject:): Ditto.
(+addOmniscientObserver:, +removeOmniscientObserver:): Ditto.
(EOObserverProxy -initWithTarget:action:priority:): Don't retain
target.
(EOObserverProxy -dealloc:): Discard pending notifications.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21404 72102866-910b-0410-8b05-ffd578937521
Only resort to EOClassDescription if _masterClassDescriptionName
is set. Otherwise ask the _masterDataSource for its
classDescriptionForObjects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21366 72102866-910b-0410-8b05-ffd578937521
variable
defined in base.make
* EOControl/Makefile.preamble: Ditto.
* EOAccess/EODatabaseDataSource.m (-entity): Look for entity with
the
fetch specifications entity name in a model group.
(-databaseContext): Return a registered database context.
* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m: Cast
before
calling -initWithIdentifier to remove warning with gcc 3.4
* EOControl/EOEditingContext.m
(-encodeWithCoder:,-initWithCoder:):
initial implementation of methods.
* EOControl/EOClassDescription.m (-snapshot): cast 'value' to get
thwart warnings.
* EOControl/EOFault.m (-superClass): Implement as returning a
class.
* Tools/gsdoc-model.m: Include headers alphabetically, include
NSCalendarDate.h to thwart warning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21221 72102866-910b-0410-8b05-ffd578937521
Add internal documentation. Filter managed objects instead
of attempting to convert gids to objects. Reported by Manuel
Guesdon.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21183 72102866-910b-0410-8b05-ffd578937521
and internalTypeNames variables, replaced both with typeNames.
(isValidQualifierType:model:): Use new variable.
(externalToInternalTypeMap:): Ditto.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21152 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOEntity.m (-primaryKeyRootName): Recurse to
through primaryKeyRootName of parent entity.
* EOAdaptors/Postgres95/Postgres95Channel.m
(primaryKeyForNewRowWithEntity:): Use primaryKeyRootName to
construct sequence name.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21126 72102866-910b-0410-8b05-ffd578937521
added use of local autorelease pools; splitted SQL execution in
different phases, to allow dropping then re-creating tables, in
one shot; now fetches flattened or derived attributes; now can
dump NSCalendarDate, NSData, NSNumber correctly; no longer tries
to write (in db) flattened or derived or non class-property
attributes; now ignores and log exceptions when -force option is
used.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21070 72102866-910b-0410-8b05-ffd578937521
to temporary fix defaulting problem with
NSAutoreleasePool optimizations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20917 72102866-910b-0410-8b05-ffd578937521
Reformatting for GNU coding standards.
(-attributes): Fix memory leak. Use global class cache.
Handle partially converted attributes array.
(-_attributeNameChangedFrom:to:): New privat method.
* EOAccess/EOEntityPriv.h (-_attributeNameChangedFrom:to:):
Declare new private method.
* EOAccess/EOAttribute.m (setName:): Call
-[EOEntity _attributeNameChangedFrom:to:] if attribute is in
an EOEntity.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20835 72102866-910b-0410-8b05-ffd578937521
on EOAccess/EOAttributePriv.h and EOControl/EONSAddOns.h.
(attrRespondsToValueClass, attrRespondsToValueTypeChar): New
static locals.
(+initialize, +newValueForNumberType:length:attribute:):
Remove dependency and used static locals instead.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20751 72102866-910b-0410-8b05-ffd578937521
based on EOControl/EOPriv.m/h.
* EOAdaptors/Postgres95/GNUmakefile.in: Build
Postgres95Private.m.
* EOAdaptors/Postgres95/Postgres95Adaptor.m: Do not depend on
EOControl/EOPriv.m/h but on own private files.
(+assignExternalInfoForEntity): Use objectAtIndex: instead of
enumerator for speed.
* EOAdaptors/Postgres95/Postgres95Channel.m: (+initialize)
(-lowLevelResultFieldNames:, -fetchRowWithZone:)
(-insertRow:forEntity:, -_describeResults, -describeTableNames)
(-updateValues:inRowsDescribedByQualifier:entity:)
(-_describeBasicEntityWithName:forModel:)
(-_describeForeignKeysForEntity:forModel:)
(-primaryKeyForNewRowWithEntity:): Do not depend on
EOControl/EOPriv.m/h but on own private files. Improve
optimizations.
(pgResultDictionary): Simplify unused static local be
reverting optimizations.
* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
(+initialize, +formatValue:forAttribute:)
(+sqlPatternFromShellPattern:)
(+sqlPatternFromShellPattern:withEscapeCharacter:): Do not
depend on EOControl/EOPriv.m/h but on own private files. Improve
optimizations.
* EOAdaptors/Postgres95/Postgres95Values.h/m
(Postgres95CalendarFormat, Postgres95ValuesClass)
(Postgres95Values_newValueForBytesLengthAttributeSEL)
(Postgres95Values_newValueForBytesLengthAttributeIMP)
(Postgres95Values_newValueForBytesLengthAttribute): Remove.
([NSCalendarDate+setPostgres95Format:]): Remove.
([NSCalendarDate+postgres95Format]): Deprecate.
(LPSQLA_StringDefaultCStringEncoding): New local static.
(+initialize, +newValueForNumberType:length:attribute:)
(+newValueForCharactersType:length:attribute:)
(+newValueForDateType:length:attribute:): Do not depend on
EOControl/EOPriv.m/h but on own private files. Improve
optimizations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20750 72102866-910b-0410-8b05-ffd578937521
(recordChangesInEditingContext): Remove shadowing of local
variable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20739 72102866-910b-0410-8b05-ffd578937521
(-takeStoredValue:forKey:, -takeValue:forKey:, valueForKey):
Use GSSelectorFromName instead of sel_get_any_uid. Omit test
to islower. Format according to coding standards.
* EOControl/EOKeyValueCoding.m (-takeValue:forKeyPath:isSmart:)
Use unsigned for index bookkeeping.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20733 72102866-910b-0410-8b05-ffd578937521