Updated files for 1.0 release. Fixed a minor issue.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@21902 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2005-10-29 13:07:31 +00:00
parent ffcc443606
commit 5a7cce4806
8 changed files with 254 additions and 202 deletions

View file

@ -1,75 +1,54 @@
ANNOUNCE
********
1 ANNOUNCE
**********
This is version 0.11.0 of Gorm.
This is version 1.0.0 of Gorm.
What is Gorm?
=============
1.1 What is Gorm?
=================
Gorm is an acronym for Graphic Object Relationship modeler (or
perhaps GNUstep Object Relationship Modeler).
Gorm is an acronym for Graphic Object Relationship modeler (or perhaps
GNUstep Object Relationship Modeler).
Gorm is a clone of the NeXTstep `Interface Builder' application for
GNUstep.
Noteworthy changes in version `0.11.0'
======================================
1.2 Noteworthy changes in version `1.0.0'
=========================================
* Improved implementation of canSubstituteForClass: the default
implementation of this method tests the classes to see if
initWithCoder: or encodeWithCoder: is implemented on a subclass to
determine automatically if that class has the same encoding
signature as the original class, if it does, it can be substituted.
* All inspectors are now modeled in .gorm files.
* Improved handling of classes which use cell classes in the custom
class inspector. The inspector now autmatically replaces the cell
class with the appropriate one when the user selects a given
subclass.
* Added autosizing to form attributes inspector.
* Browser based class editor in document panel. This interface is
more like the one on OSX. The user now has a choice in
preferences to determine which view they would like to use.
* Utilize and maintain parent/child data structure more pervasively
* Translation tools. The Document->Translate menu allows the user
to export string and import strings in the strings format, so that
someone can easily translate just the strings in the file and
doesn't need to directly edit anything in Gorm. The strings file
can then be loaded back into Gorm and all of the relevant strings
are updated.
* Reorganized code in palettes for cleaner implementation.
* Alignment tools. In the new Layout menu there are options to
align views, center views, bring views to front or push them to
the back of the view layers.
* Removed code to check for user bundles, since bugs in Camaelon
which prompted those changes were fixed long ago.
* Implementation of IBViewResourceDraggingDelegate. This allows
updating of the pull down in the inspectors panel dynamically. It
requires the developer of a palette to implement some code to
enable this, as on OSX.
* Added documentation to GormCore
* Lots of bugfixes and usability changes are also included in this
release.
1.3 How can I get support for this software?
============================================
How can I get support for this software?
========================================
You may wish to use the GNUstep discussion mailing list for general
You may wish to use the GNUstep discussion mailing list for general
questions and discussion. Look at the GNUstep Web Pages for more
information regarding GNUstep resources <http://www.gnustep.org/>
information regarding GNUstep resources `http://www.gnustep.org/'
Where can you get it? How can you compile it?
==============================================
1.4 Where can you get it? How can you compile it?
==================================================
You can download sources and rpms (for some machines) from
<ftp://ftp.gnustep.org/pub/gnustep/dev-apps>.
You can download sources and rpms (for some machines) from
`ftp://ftp.gnustep.org/pub/gnustep/dev-apps'.
Where do I send bug reports?
============================
1.5 Where do I send bug reports?
================================
Bug reports can be sent to <bug-gnustep@gnu.org>.
Bug reports can be sent to <bug-gnustep@gnu.org>.
Obtaining GNU Software
======================
1.6 Obtaining GNU Software
==========================
Check out the GNUstep web site. (<http://www.gnustep.org/>), and the
GNU web site. (<http://www.gnu.org/>)
Check out the GNUstep web site. (`http://www.gnustep.org/'), and the
GNU web site. (`http://www.gnu.org/')

View file

@ -1,3 +1,14 @@
2005-10-29 09:04 Gregory John Casamento <greg_casamento@yahoo.com>
* ANNOUNCE: Updated for 1.0
* Documentation/news.texi: Updated for 1.0
* INSTALL: Updated for 1.0
* NEWS: Updated for 1.0
* README: Updated for 1.0
* Version: Updated for 1.0
* GormCore/GormCustomClassInspector.m: Fixed minor problem
updating cell.
2005-10-05 20:21 Gregory John Casamento <greg_casamento@yahoo.com>
* Palettes/1Windows/GormNSWindowSizeInspector.gorm: Remove delegate

View file

@ -4,6 +4,21 @@
@include version.texi
@end ifset
@section Noteworthy changes in version @samp{1.0.0}
@itemize @bullet
@item All inspectors are now modeled in .gorm files.
@item Added autosizing to form attributes inspector.
@item Utilize and maintain parent/child data structure more pervasively
@item Reorganized code in palettes for cleaner implementation.
@item Removed code to check for user bundles, since bugs in Camaelon which prompted those changes were fixed long ago.
@item Added documentation to GormCore
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{0.11.0}
@itemize @bullet
@ -16,10 +31,6 @@
@item Lots of bugfixes and usability changes are also included in this release.
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{0.9.10}
@itemize @bullet

View file

@ -162,12 +162,11 @@
[browser setMaxVisibleColumns: 1];
}
- (void) _replaceCellClassForObject: (id)obj
className: (NSString *)name
- (void) _replaceWithCellClassForClassName: (NSString *)name
{
NSString *className = name;
if([[obj class] respondsToSelector: @selector(cellClass)])
if([[object class] respondsToSelector: @selector(cellClass)])
{
if([_classManager isCustomClass: className])
{
@ -179,80 +178,119 @@
Class cls = NSClassFromString(className);
if(cls != nil)
{
NSCell *cell = [obj cell];
Class cellClass = [cls cellClass];
NSCell *newCell = [[cellClass alloc] init];
BOOL drawsBackground = NO;
if([object respondsToSelector: @selector(drawsBackground)])
{
drawsBackground = [object drawsBackground];
}
// copy everything from the old cell...
if([newCell respondsToSelector: @selector(setFont:)] &&
[cell respondsToSelector: @selector(font)])
{
[newCell setFont: [cell font]];
}
if([newCell respondsToSelector: @selector(setEnabled:)] &&
[cell respondsToSelector: @selector(isEnabled)])
{
[newCell setEnabled: [cell isEnabled]];
}
if([newCell respondsToSelector: @selector(setEditable:)] &&
[cell respondsToSelector: @selector(isEditable)])
{
[newCell setEditable: [cell isEditable]];
}
if([newCell respondsToSelector: @selector(setImportsGraphics:)] &&
[cell respondsToSelector: @selector(importsGraphics)])
{
[newCell setImportsGraphics: [cell importsGraphics]];
}
if([newCell respondsToSelector: @selector(setShowsFirstResponder:)] &&
[cell respondsToSelector: @selector(showsFirstResponder)])
{
[newCell setShowsFirstResponder: [cell showsFirstResponder]];
}
if([newCell respondsToSelector: @selector(setRefusesFirstResponder:)] &&
[cell respondsToSelector: @selector(refusesFirstResponder)])
{
[newCell setRefusesFirstResponder: [cell refusesFirstResponder]];
}
if([newCell respondsToSelector: @selector(setBordered:)] &&
[cell respondsToSelector: @selector(isBordered)])
{
[newCell setBordered: [cell isBordered]];
}
if([newCell respondsToSelector: @selector(setBezeled:)] &&
[cell respondsToSelector: @selector(isBezeled)])
{
[newCell setBezeled: [cell isBezeled]];
}
if([newCell respondsToSelector: @selector(setScrollable:)] &&
[cell respondsToSelector: @selector(isScrollable)])
{
[newCell setScrollable: [cell isScrollable]];
}
if([newCell respondsToSelector: @selector(setSelectable:)] &&
[cell respondsToSelector: @selector(isSelectable)])
{
[newCell setSelectable: [cell isSelectable]];
}
if([newCell respondsToSelector: @selector(setState:)] &&
[cell respondsToSelector: @selector(state)])
{
[newCell setState: [cell state]];
}
// set attributes of textfield.
[object setCell: newCell];
if([object respondsToSelector: @selector(setDrawsBackground:)])
if(cellClass != [[object cell] class])
{
[object setDrawsBackground: drawsBackground];
NSCell *newCell = [[cellClass alloc] init];
BOOL drawsBackground = NO;
NSCell *cell = [object cell];
if([object respondsToSelector: @selector(drawsBackground)])
{
drawsBackground = [object drawsBackground];
}
// TODO: Need to find a more generic way to handle this. Perhaps using
// encoding or @defs(...).
// general state...
if([newCell respondsToSelector: @selector(setFont:)] &&
[cell respondsToSelector: @selector(font)])
{
[newCell setFont: [cell font]];
}
if([newCell respondsToSelector: @selector(setEnabled:)] &&
[cell respondsToSelector: @selector(isEnabled)])
{
[newCell setEnabled: [cell isEnabled]];
}
if([newCell respondsToSelector: @selector(setEditable:)] &&
[cell respondsToSelector: @selector(isEditable)])
{
[newCell setEditable: [cell isEditable]];
}
if([newCell respondsToSelector: @selector(setImportsGraphics:)] &&
[cell respondsToSelector: @selector(importsGraphics)])
{
[newCell setImportsGraphics: [cell importsGraphics]];
}
if([newCell respondsToSelector: @selector(setShowsFirstResponder:)] &&
[cell respondsToSelector: @selector(showsFirstResponder)])
{
[newCell setShowsFirstResponder: [cell showsFirstResponder]];
}
if([newCell respondsToSelector: @selector(setRefusesFirstResponder:)] &&
[cell respondsToSelector: @selector(refusesFirstResponder)])
{
[newCell setRefusesFirstResponder: [cell refusesFirstResponder]];
}
if([newCell respondsToSelector: @selector(setBordered:)] &&
[cell respondsToSelector: @selector(isBordered)])
{
[newCell setBordered: [cell isBordered]];
}
if([newCell respondsToSelector: @selector(setBezeled:)] &&
[cell respondsToSelector: @selector(isBezeled)])
{
[newCell setBezeled: [cell isBezeled]];
}
if([newCell respondsToSelector: @selector(setScrollable:)] &&
[cell respondsToSelector: @selector(isScrollable)])
{
[newCell setScrollable: [cell isScrollable]];
}
if([newCell respondsToSelector: @selector(setSelectable:)] &&
[cell respondsToSelector: @selector(isSelectable)])
{
[newCell setSelectable: [cell isSelectable]];
}
if([newCell respondsToSelector: @selector(setState:)] &&
[cell respondsToSelector: @selector(state)])
{
[newCell setState: [cell state]];
}
// title...
if([newCell respondsToSelector: @selector(setStringValue:)] &&
[cell respondsToSelector: @selector(stringValue)])
{
[newCell setStringValue: [cell stringValue]];
}
if([newCell respondsToSelector: @selector(setTitle:)] &&
[cell respondsToSelector: @selector(title)])
{
[newCell setTitle: [cell title]];
}
if([newCell respondsToSelector: @selector(setAlternateTitle:)] &&
[cell respondsToSelector: @selector(alternateTitle)])
{
[newCell setAlternateTitle: [cell alternateTitle]];
}
// images...
if([newCell respondsToSelector: @selector(setAlternateImage:)] &&
[cell respondsToSelector: @selector(alternateImage)])
{
[newCell setAlternateTitle: [cell alternateImage]];
}
if([newCell respondsToSelector: @selector(setImage:)] &&
[cell respondsToSelector: @selector(image)])
{
[newCell setImage: [cell image]];
}
if([newCell respondsToSelector: @selector(setImagePosition:)] &&
[cell respondsToSelector: @selector(imagePosition)])
{
[newCell setImagePosition: [cell imagePosition]];
}
// set attributes of textfield.
[object setCell: newCell];
if([object respondsToSelector: @selector(setDrawsBackground:)])
{
[object setDrawsBackground: drawsBackground];
}
[object setNeedsDisplay: YES];
}
[object setNeedsDisplay: YES];
}
}
}
@ -279,10 +317,7 @@
{
[_classManager removeCustomClassForName: nameForObject];
}
[self _replaceCellClassForObject: [self object]
className: stringValue];
[self _replaceWithCellClassForClassName: stringValue];
}
else
NSLog(@"name for object %@ returned as nil",[self object]);

20
INSTALL
View file

@ -1,5 +1,5 @@
Required software
-----------------
0.0.1 Required software
-----------------------
You need to have the GNUstep core libraries installed in order to
compile and use Gorm. The core packages are, at a minimum:
@ -12,20 +12,20 @@ compile and use Gorm. The core packages are, at a minimum:
* gnustep-back
See <http://www.gnustep.org/> for further information.
See `http://www.gnustep.org/' for further information.
Build and Install
-----------------
0.0.2 Build and Install
-----------------------
Steps to build:
Steps to build:
* make && make install
Please note that GormLib must be installed for Gorm.app to run.
Trouble
-------
0.0.3 Trouble
-------------
Give us feedback! Tell us what you like; tell us what you think
could be better. Send bug reports and patches to <bug-gnustep@gnu.org>.
Give us feedback! Tell us what you like; tell us what you think could
be better. Send bug reports and patches to <bug-gnustep@gnu.org>.

106
NEWS
View file

@ -1,5 +1,21 @@
Noteworthy changes in version `0.11.0'
======================================
0.1 Noteworthy changes in version `1.0.0'
=========================================
* All inspectors are now modeled in .gorm files.
* Added autosizing to form attributes inspector.
* Utilize and maintain parent/child data structure more pervasively
* Reorganized code in palettes for cleaner implementation.
* Removed code to check for user bundles, since bugs in Camaelon
which prompted those changes were fixed long ago.
* Added documentation to GormCore
0.2 Noteworthy changes in version `0.11.0'
==========================================
* Improved implementation of canSubstituteForClass: the default
implementation of this method tests the classes to see if
@ -35,8 +51,8 @@ Noteworthy changes in version `0.11.0'
* Lots of bugfixes and usability changes are also included in this
release.
Noteworthy changes in version `0.9.10'
======================================
0.3 Noteworthy changes in version `0.9.10'
==========================================
* Gorm now has a full implementation of canSubstituteForClass: which
is used to determine if a class can be substituted in the custom
@ -66,10 +82,10 @@ Noteworthy changes in version `0.9.10'
* A myriad of bug fixes.
Noteworthy changes in version `0.9.2'
=====================================
0.4 Noteworthy changes in version `0.9.2'
=========================================
NOTE: This is mainly a bugfix release.
NOTE: This is mainly a bugfix release.
* Some improvements to the procedure for removing connections.
@ -87,8 +103,8 @@ Noteworthy changes in version `0.9.2'
* Various improvements in documentation
Noteworthy changes in version `0.9.0'
=====================================
0.5 Noteworthy changes in version `0.9.0'
=========================================
* Images/Sounds can now be dragged into a matrix cell.
@ -126,12 +142,12 @@ Noteworthy changes in version `0.9.0'
* Fixed a number of bugs.
Noteworthy changes in version `0.8.0'
=====================================
0.6 Noteworthy changes in version `0.8.0'
=========================================
PLEASE NOTE: It is important for this release that you upgrade to
Gorm 0.8.0 when using Gorm with the new GNUstep libraries (base-1.10.0
and gui-0.9.4). This version of Gorm contains some features which are
PLEASE NOTE: It is important for this release that you upgrade to Gorm
0.8.0 when using Gorm with the new GNUstep libraries (base-1.10.0 and
gui-0.9.4). This version of Gorm contains some features which are
reliant on changes made in those versions of the libraries. It is
stated in Gorm's documentation (the Gorm.texi file) that this is
required, but I felt it important enough to also mention it here so
@ -174,8 +190,8 @@ that it is known beyond a reasonable doubt.
amount of time the user needs to spend fiddling with the font
panel.
Noteworthy changes in version `0.7.7'
=====================================
0.7 Noteworthy changes in version `0.7.7'
=========================================
* Important bugfixes in editor classes.
@ -198,10 +214,10 @@ Noteworthy changes in version `0.7.7'
* Gorm will now show an alert panel when a model fails to load or
test properly.
Noteworthy changes in version `0.7.6'
=====================================
0.8 Noteworthy changes in version `0.7.6'
=========================================
This release is mainly a bugfix release for 0.7.5.
This release is mainly a bugfix release for 0.7.5.
* Improved .gmodel support
@ -211,8 +227,8 @@ Noteworthy changes in version `0.7.6'
* Important bugfixes for class inspector.
Noteworthy changes in version `0.7.5'
=====================================
0.9 Noteworthy changes in version `0.7.5'
=========================================
* The 'reparent' feature in the class inspector. This allows the
user to change the class hierarchy from within Gorm.
@ -232,8 +248,8 @@ Noteworthy changes in version `0.7.5'
* A way to restore a complete NSMenu if it's deleted (a new palette
entry for NSMenu, not just an item)
Noteworthy changes in version `0.6.0'
=====================================
0.10 Noteworthy changes in version `0.6.0'
==========================================
* Several major bugs corrected.
@ -243,8 +259,8 @@ Noteworthy changes in version `0.6.0'
* More descriptive title displayed when a class is being edited.
Noteworthy changes in version `0.5.0'
=====================================
0.11 Noteworthy changes in version `0.5.0'
==========================================
* Enabled defer in NSWindow inspector.
@ -262,8 +278,8 @@ Noteworthy changes in version `0.5.0'
* Bug fixes, eliminated memory leak, code cleanup, etc.
Noteworthy changes in version `0.4.0'
=====================================
0.12 Noteworthy changes in version `0.4.0'
==========================================
* New Menu and Menu Item inspectors.
@ -284,8 +300,8 @@ Noteworthy changes in version `0.4.0'
* Windows and Services menus now function correctly.
Noteworthy changes in version `0.3.1'
=====================================
0.13 Noteworthy changes in version `0.3.1'
==========================================
* New custom class system.
@ -295,8 +311,8 @@ Noteworthy changes in version `0.3.1'
* Various bugfixes
Noteworthy changes in version `0.3.0'
=====================================
0.14 Noteworthy changes in version `0.3.0'
==========================================
* Preferences added.
@ -320,10 +336,10 @@ Noteworthy changes in version `0.3.0'
* various bug fixes.
Noteworthy changes in version `0.2.5'.
======================================
0.15 Noteworthy changes in version `0.2.5'.
===========================================
Many fixes and improvements to make the app work better.
Many fixes and improvements to make the app work better.
* Better parsing of headers
@ -331,10 +347,10 @@ Noteworthy changes in version `0.2.5'.
* Re-add multiple selection via mouse drag.
Noteworthy changes in version `0.2.0' snapshot.
===============================================
0.16 Noteworthy changes in version `0.2.0' snapshot.
====================================================
Gobs of improvements, mostly due to the hard work of Gregory John
Gobs of improvements, mostly due to the hard work of Gregory John
Casamento and Pierre-Yves Rivaille. Thanks guys!
* Custom class support/translations implemented.
@ -356,8 +372,8 @@ Casamento and Pierre-Yves Rivaille. Thanks guys!
* gorm files were changed to directory wrappers for more flexibility.
Noteworthy changes in version `0.1.0'
=====================================
0.17 Noteworthy changes in version `0.1.0'
==========================================
* load/parses class files for entry into class list.
@ -375,8 +391,8 @@ Noteworthy changes in version `0.1.0'
* Ability to change the font of some objects.
Noteworthy changes in version `0.0.3'
=====================================
0.18 Noteworthy changes in version `0.0.3'
==========================================
* Create stub .m and .h files from new classes
@ -391,8 +407,8 @@ Noteworthy changes in version `0.0.3'
* Support for custom objects.
Noteworthy changes in version `0.0.2'
=====================================
0.19 Noteworthy changes in version `0.0.2'
==========================================
* Add popup and pulldown menu controls
@ -404,8 +420,8 @@ Noteworthy changes in version `0.0.2'
* Much more fleshed out - too numerous to mention.
Noteworthy changes in version `0.0.1'
=====================================
0.20 Noteworthy changes in version `0.0.1'
==========================================
* 8th December 1999

24
README
View file

@ -1,11 +1,11 @@
Introduction
============
0.1 Introduction
================
Read the NEWS file for the latest user visible changes. Read the INSTALL
file for installation instructions.
Gorm is an acronym for Graphic Object Relationship modeler (or
perhaps GNUstep Object Relationship Modeler).
Gorm is an acronym for Graphic Object Relationship modeler (or perhaps
GNUstep Object Relationship Modeler).
Gorm is a clone of the NeXTstep `Interface Builder' application for
GNUstep.
@ -16,23 +16,23 @@ Software Foundation.
Gorm is released under the GPL - see the file `COPYING' for details.
Little documentation exists. There is a nice basic tutorial at
<http://www.sophos.ca/~ludovic/article/article.html>.
`http://www.sophos.ca/~ludovic/article/article.html'.
Status
======
0.2 Status
==========
Gorm is now completely usable. There are some minor bugs, but most
of the major functionality is now implemented. Please report bugs to
Gorm is now completely usable. There are some minor bugs, but most of
the major functionality is now implemented. Please report bugs to
bug-gnustep@gnu.org
Known problems (things to do) -
1. Documentation - only a tiny start has been made on this!
Acknowledgements
================
0.3 Acknowledgements
====================
Icons - Mostly by Andrew Lindsay.
Icons - Mostly by Andrew Lindsay.
Code - GormViewKnobs.m adapted from code by Gerrit van Dyk.

View file

@ -8,7 +8,7 @@ GNUSTEP_GCC=2.95.0
GNUSTEP_CORE_VERSION=0.10.0
# The version number of this release.
MAJOR_VERSION=0
MINOR_VERSION=11
MAJOR_VERSION=1
MINOR_VERSION=0
SUBMINOR_VERSION=0
VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}