Author: gcasa
Date: Tue May 27 00:33:29 2014
New Revision: 37909
URL: http://svn.gna.org/viewcvs/gnustep?rev=37909&view=rev
Log:
Accepted patch for 34877 by Sergei.
Modified:
apps/gorm/trunk/ChangeLog
apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.h
apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.m
apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/data.classes
apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/objects.gorm
Modified: apps/gorm/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/apps/gorm/trunk/ChangeLog?rev=37909&r1=37908&r2=37909&view=diff
==============================================================================
--- apps/gorm/trunk/ChangeLog (original)
+++ apps/gorm/trunk/ChangeLog Tue May 27 00:33:29 2014
@@ -1,3 +1,11 @@
+2014-05-26 18:32-EDT Gregory John Casamento <[email protected]>
+
+ * Palettes/2Controls/GormFormAttributesInspector.h
+ * Palettes/2Controls/GormFormAttributesInspector.m
+ * Palettes/2Controls/GormNSFormInspector.gorm: Accept patch on
+ bug#38477 by Sergei Golovin. Allows user to modify the
+ number of items in an NSForm using the inspector.
+
2014-01-19 Fred Kiefer <[email protected]>
* Palettes/2Controls/GormButtonAttributesInspector.h: Use NSButton
Modified: apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.h
URL:
http://svn.gna.org/viewcvs/gnustep/apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.h?rev=37909&r1=37908&r2=37909&view=diff
==============================================================================
--- apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.h
(original)
+++ apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.h Tue May
27 00:33:29 2014
@@ -42,6 +42,7 @@
@class NSColorWell;
@class NSForm;
@class NSMatrix;
+@class NSStepper;
@interface GormFormAttributesInspector: IBInspector
{
@@ -55,6 +56,8 @@
id tagForm;
id textMatrix;
id titleMatrix;
+ NSForm *dimensionsForm;
+ NSStepper *numberStepper;
}
@end
Modified: apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.m
URL:
http://svn.gna.org/viewcvs/gnustep/apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.m?rev=37909&r1=37908&r2=37909&view=diff
==============================================================================
--- apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.m
(original)
+++ apps/gorm/trunk/Palettes/2Controls/GormFormAttributesInspector.m Tue May
27 00:33:29 2014
@@ -58,6 +58,8 @@
@implementation GormFormAttributesInspector
+NSUInteger numberStepperValue;
+
- (id) init
{
if ([super init] == nil)
@@ -69,6 +71,14 @@
NSLog(@"Could not gorm GormFormInspector");
return nil;
}
+ /* It shouldn't break functionality of field number changing
+ if someone will decide in the future to change the value
+ of the stepper in the gorm file. So we stores those value
+ from the gorm file in the auxillary variable to use it
+ later in -[ok:].
+ (It allows us to avoid the value being hardcoded).
+ */
+ numberStepperValue = [numberStepper intValue];
return self;
}
@@ -151,6 +161,60 @@
{
BOOL flag = ([autosizeSwitch state] == NSOnState) ? YES : NO;
[object setAutosizesCells: flag];
+ }
+ /* number of fields */
+ else if(sender == dimensionsForm)
+ {
+ int fields = [[sender cellAtIndex: 0] intValue];
+
+ if(fields) // make changes only if the user actions do something
meaningful
+ {
+ NSRect rect = [object frame];
+ NSSize cell = [object cellSize];
+ NSSize inter = [object intercellSpacing];
+
+ while(((rows = [object numberOfRows]) != fields))
+ {
+ if(rows > fields)
+ {
+ [object removeEntryAtIndex: rows - 1]; // remove last field
+ }
+ else
+ {
+ [object addEntry: [NSString stringWithFormat: @"Field (%i)",
rows]];
+ }
+ }
+ cell.height = (rect.size.height + inter.height) / fields -
inter.height;
+ [object setCellSize: cell];
+ }
+ [object setNeedsDisplay: YES];
+ [[object superview] setNeedsDisplay: YES];
+ }
+ else if(sender == numberStepper)
+ {
+ int delta = [sender intValue] - numberStepperValue;
+ NSRect rect = [object frame];
+ NSSize cell = [object cellSize];
+ NSSize inter = [object intercellSpacing];
+
+ while(delta > 0)
+ {
+ [object addEntry: [NSString stringWithFormat: @"Field (%i)", rows]];
+ delta--;
+ rows++;
+ }
+ while((delta < 0) && (rows > 1))
+ {
+ [object removeEntryAtIndex: rows - 1];
+ rows--;
+ delta++;
+ }
+ cell.height = (rect.size.height + inter.height) / rows - inter.height;
+ [object setCellSize: cell];
+ [[dimensionsForm cellAtIndex: 0] setIntValue: rows];
+ [sender setIntValue: numberStepperValue];
+ [dimensionsForm setNeedsDisplay: YES];
+ [object setNeedsDisplay: YES];
}
[super ok:sender];
@@ -200,6 +264,9 @@
[cellPositionSwitch setState:NSOnState];
}
}
+
+ /* number of fields */
+ [[dimensionsForm cellAtIndex: 0] setIntValue: [object numberOfRows]];
/* tag */
[[tagForm cellAtRow: 0 column: 0] setIntValue: [object tag]];
@@ -269,5 +336,4 @@
[object setButtonType: type];
}
-
@end
Modified:
apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/data.classes
URL:
http://svn.gna.org/viewcvs/gnustep/apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/data.classes?rev=37909&r1=37908&r2=37909&view=diff
==============================================================================
--- apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/data.classes
(original)
+++ apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/data.classes
Tue May 27 00:33:29 2014
@@ -13,7 +13,9 @@
editableSwitch,
scrollableSwitch,
selectableSwitch,
- autosizeSwitch
+ autosizeSwitch,
+ dimensionsForm,
+ numberStepper
);
Super = IBInspector;
};
Modified:
apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/objects.gorm
URL:
http://svn.gna.org/viewcvs/gnustep/apps/gorm/trunk/Palettes/2Controls/GormNSFormInspector.gorm/objects.gorm?rev=37909&r1=37908&r2=37909&view=diff
==============================================================================
Binary files - no diff available.
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs