Revision: 11881
http://bibdesk.svn.sourceforge.net/bibdesk/?rev=11881&view=rev
Author: hofman
Date: 2007-12-12 06:17:12 -0800 (Wed, 12 Dec 2007)
Log Message:
-----------
Add some warnings.
Modified Paths:
--------------
trunk/bibdesk/BDSKEditor.m
Modified: trunk/bibdesk/BDSKEditor.m
===================================================================
--- trunk/bibdesk/BDSKEditor.m 2007-12-12 14:09:55 UTC (rev 11880)
+++ trunk/bibdesk/BDSKEditor.m 2007-12-12 14:17:12 UTC (rev 11881)
@@ -1300,6 +1300,8 @@
// Add field sheet support
//
----------------------------------------------------------------------------------------
+#warning Empty fields: this assumes the displayed fields are all non-nil
fields, which may not be true
+
- (void)addFieldSheetDidEnd:(BDSKAddFieldSheetController *)addFieldController
returnCode:(int)returnCode contextInfo:(void *)contextInfo{
NSString *newField = [addFieldController field];
if(returnCode == NSCancelButton || newField == nil)
@@ -1331,65 +1333,12 @@
[addFieldController release];
}
-#pragma mark Key field
-
-- (NSString *)keyField{
- NSString *keyField = nil;
- NSString *tabId = [[tabView selectedTabViewItem] identifier];
- if([tabId isEqualToString:BDSKBibtexString]){
- id firstResponder = [[self window] firstResponder];
- if ([firstResponder isKindOfClass:[NSText class]] && [firstResponder
isFieldEditor])
- firstResponder = [firstResponder delegate];
- if(firstResponder == tableView)
- keyField = [tableView selectedRow] == -1 ? nil : [fields
objectAtIndex:[tableView selectedRow]];
- else if(firstResponder == extraBibFields)
- keyField = [[extraBibFields keyCell] representedObject];
- else if(firstResponder == citeKeyField)
- keyField = BDSKCiteKeyString;
- else if(firstResponder == bibTypeButton)
- keyField = BDSKPubTypeString;
- }else{
- keyField = tabId;
- }
- return keyField;
-}
-
-- (void)setKeyField:(NSString *)fieldName{
- if([NSString isEmptyString:fieldName]){
- return;
- }else if([fieldName isNoteField]){
- [tabView selectTabViewItemWithIdentifier:fieldName];
- }else if([fieldName isEqualToString:BDSKPubTypeString]){
- [[self window] makeFirstResponder:bibTypeButton];
- }else if([fieldName isEqualToString:BDSKCiteKeyString]){
- [citeKeyField selectText:nil];
- }else if([fieldName isBooleanField] || [fieldName isTriStateField] ||
[fieldName isRatingField]){
- int i, j, numRows = [extraBibFields numberOfRows], numCols =
[extraBibFields numberOfColumns];
- id cell;
-
- for (i = 0; i < numRows; i++) {
- for (j = 0; j < numCols; j++) {
- cell = [extraBibFields cellAtRow:i column:j];
- if ([[cell representedObject] isEqualToString:fieldName]) {
- [[self window] makeFirstResponder:extraBibFields];
- [extraBibFields setKeyCell:cell];
- return;
- }
- }
- }
- }else{
- unsigned int row = [fields indexOfObject:fieldName];
- if (row != NSNotFound) {
- [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:row]
byExtendingSelection:NO];
- [tableView editColumn:1 row:row withEvent:nil select:YES];
- }
- }
-}
-
//
----------------------------------------------------------------------------------------
#pragma mark || delete-Field-Sheet Support
//
----------------------------------------------------------------------------------------
+#warning Empty fields: this assumes the displayed fields are all non-nil
fields, which may not be true
+
- (void)removeFieldSheetDidEnd:(BDSKRemoveFieldSheetController
*)removeFieldController returnCode:(int)returnCode contextInfo:(void
*)contextInfo{
NSString *oldField = [removeFieldController field];
NSString *oldValue = [[[publication valueOfField:oldField] retain]
autorelease];
@@ -1443,6 +1392,8 @@
#pragma mark Change field name
+#warning Empty fields: this assumes the displayed fields are all non-nil
fields, which may not be true
+
- (void)changeFieldSheetDidEnd:(BDSKChangeFieldSheetController
*)changeFieldController returnCode:(int)returnCode contextInfo:(void
*)contextInfo{
NSString *oldField = [changeFieldController field];
NSString *newField = [changeFieldController newField];
@@ -1525,6 +1476,61 @@
[self raiseChangeFieldSheetForField:field];
}
+#pragma mark Key field
+
+- (NSString *)keyField{
+ NSString *keyField = nil;
+ NSString *tabId = [[tabView selectedTabViewItem] identifier];
+ if([tabId isEqualToString:BDSKBibtexString]){
+ id firstResponder = [[self window] firstResponder];
+ if ([firstResponder isKindOfClass:[NSText class]] && [firstResponder
isFieldEditor])
+ firstResponder = [firstResponder delegate];
+ if(firstResponder == tableView)
+ keyField = [tableView selectedRow] == -1 ? nil : [fields
objectAtIndex:[tableView selectedRow]];
+ else if(firstResponder == extraBibFields)
+ keyField = [[extraBibFields keyCell] representedObject];
+ else if(firstResponder == citeKeyField)
+ keyField = BDSKCiteKeyString;
+ else if(firstResponder == bibTypeButton)
+ keyField = BDSKPubTypeString;
+ }else{
+ keyField = tabId;
+ }
+ return keyField;
+}
+
+- (void)setKeyField:(NSString *)fieldName{
+ if([NSString isEmptyString:fieldName]){
+ return;
+ }else if([fieldName isNoteField]){
+ [tabView selectTabViewItemWithIdentifier:fieldName];
+ }else if([fieldName isEqualToString:BDSKPubTypeString]){
+ [[self window] makeFirstResponder:bibTypeButton];
+ }else if([fieldName isEqualToString:BDSKCiteKeyString]){
+ [citeKeyField selectText:nil];
+ }else if([fieldName isBooleanField] || [fieldName isTriStateField] ||
[fieldName isRatingField]){
+ int i, j, numRows = [extraBibFields numberOfRows], numCols =
[extraBibFields numberOfColumns];
+ id cell;
+
+ for (i = 0; i < numRows; i++) {
+ for (j = 0; j < numCols; j++) {
+ cell = [extraBibFields cellAtRow:i column:j];
+ if ([[cell representedObject] isEqualToString:fieldName]) {
+ [[self window] makeFirstResponder:extraBibFields];
+ [extraBibFields setKeyCell:cell];
+ return;
+ }
+ }
+ }
+ }else{
+ unsigned int row = [fields indexOfObject:fieldName];
+ if (row != NSNotFound) {
+ [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:row]
byExtendingSelection:NO];
+ [tableView editColumn:1 row:row withEvent:nil select:YES];
+ }
+ }
+}
+
#pragma mark Text Change handling
- (IBAction)editSelectedFieldAsRawBibTeX:(id)sender{
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit