ftp.nice.ch/peanuts/GeneralData/Usenet/news/1989/CSN-89.tar.gz#/comp-sys-next/1989/Aug/Why-is-the-application-kit-so-frustrating?

This is Why-is-the-application-kit-so-frustrating? in view mode; [Up]


Date: Sun 17-Aug-1989 18:48:00 From: Unknown Subject: Why is the application kit so frustrating? I am having an incredibly frustrating time trying to figure out what messages to send to what objects to get my interface to behave the way I want it to. Is this all because of the lack of documentation, is it bugs in the application kit, or is it a deficiency in the object definitions themselves? I've got a copy of the 0.9 technical references, but I find I still have to basically try every combination of possibly applicable methods and objects to get the interface to behave in the desired fashion. I can't tell you how tired I get of "well, let's see. I can invoke this method of the matrix, or this method of the cell of the matrix, or maybe it should be this method...." I've got this setup panel that contains a matrix of 4 textfieldcells. My customview object has the id of the matrix. I've got a menu item that wants to be able to reset the values of all 4 numbers in the matrix. I was resetting the cells with statements like: [[matrixobj cellAt: 0: 0] setDoubleValue: value]; If none of the cells in the matrix are selected, clicking the reset menu item does reset all the values in the matrix, and they are displayed. However, if one of the textfieldcells is selected, all the values in the matrix get reset, but the cell containing the cursor does not get redisplayed so you can't tell that it's been reset. Also, it had the following wierd behaviour that when I hit the tab key to go to the next entry in the matrix, the cell I had been in would be cleared, and then when I hit tab again the correct value would appear in the cleared cell, and the cell I had just been in would then clear. Very strange. Sending the matrix a display message does not fix the problem. Neither of the statements: [matrixobj clearSelectedCell]; and [matrixobj selectCellAt: -1: -1]; clears the selection, and the selectCellAt method does not end editing (even though that is one of its documented effects). In the many incantations that I tried, I managed to get white rectangles to appear at odd places in the window (i.e. not in the textfieldcell where they ought to be). I managed to get it confused so that multiple cells were highlighted (as though they were selected) although only the one containing the cursor really was selected. I finally fixed the code when I came across a note under one of the method descriptions in the technical reference manual. The correct incantation seems to be: [matrixobj displayCell: [[matrixobj cellAt: 0: 0] setDoubleValue: value]]; I still can't figure out how to deselect the selected cell, though. All-in-all, I spent several hours trying various combinations of things in order to get this piddly little piece of my interface to behave in the correct manner. Is this the way it's supposed to be? On another note, can anyone tell me why double clicking a window's close button makes the application hide? Try opening an info panel and double clicking it closed.
Date: Sun 19-Aug-1989 06:47:06 From: Unknown Subject: Re: Why is the application kit so frustrating? The application kit is frustrating because the online documentation is terribly lacking. Instead of a stupid text retrieval service (why not just use microfiche? Librarian is a waste of a good machine, basically it's a souped MAN), we need hypertext online documentation. Wouldn't it be nice if you could call up the heirarchy of the application kit, and click on the object you wanted info on? Wouldn't it be great to be able to point and click on a method in a method list instead searching the documentation. Or how about some online examples and more graphics? As is the docs are mostly text. Ever used Hypercard? How about a Help like that on the NeXT? One window running Interface Builder, one running the hyperHelp, would be much more useful than the current documentation. Carlos Salinas >From: rick@hanauma (Richard Ottolini)
Date: Sun 21-Aug-1989 22:14:20 From: Unknown Subject: Re: Why is the application kit so frustrating? In article <1520@hydra.gatech.EDU> roy@prism.gatech.EDU (Roy Mongiovi) writes: >I am having an incredibly frustrating time trying to figure out what messages >to send to what objects to get my interface to behave the way I want it to. >Is this all because of the lack of documentation, is it bugs in the >application kit, or is it a deficiency in the object definitions themselves? > >I've got a copy of the 0.9 technical references, but I find I still have to >basically try every combination of possibly applicable methods and objects to >get the interface to behave in the desired fashion. I can't tell you how >tired I get of "well, let's see. I can invoke this method of the matrix, >or this method of the cell of the matrix, or maybe it should be this >method...." In my opinion, the main reason for this is that the AppKit documentation only tells you WHAT the methods and instance variables are, but comes up a bit short in telling you WHY or WHEN you might want to use them. They also don't provide much sample usage. This is especially important for object-oriented programming beginners (like me :-) who are sure which is the cart and which is the horse, let alone the distinction between an instance variable, a method, an outlet, and an action. Just make sure to keep the outlets out of the reach of small children. But, first things first. It is better to have all of the elements of the AppKit documented in a skeletal form, and hope that someone will come back later and improve the documentation at each individual method and instance variable. Glenn Reid >From: greid@adobe.com (Glenn Reid)

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Marcel Waldvogel and Netfuture.ch.