[comp.sys.next] NeXT Browser Info

john@csi2.UUCP (John Kowalski) (12/24/89)

Hello all you Browser fans (I don't know if someone else posted this
info here, I don't read this group often enough) I found what most
people writing software would like to have: A Browser Class.

Well first be aware that this is not documented yet and that the
interface may change when published (if published). This info is
only method names. I fell on this while writing my own class named
"Browser" and finding that it looked to good to be mine. Obviously I
looked around in the libNeXT shared library and Presto! the Browser Class.

these are the methods, getting them to work is left as an exercise :-)

(this is output from the "nm" program, ignore the first and second bits of info)

John Kowalski


0600f050 t +[Browser getSize:forNumCols:numLines:colWidth:titles:multiColumn:]
0600f102 t +[Browser newFrame:]
0600f138 t +[Browser newFrame:colWidth:titles:multiColumn:]
0600e02c t -[Browser _buildColumn]
0600e3d4 t -[Browser _buildSubviews]
0600eee4 t -[Browser _decrLastColTo:andDisplay:]
0600ec66 t -[Browser _enableLeftButton:]
0600ecdc t -[Browser _enableRightButton:]
0600e496 t -[Browser _grow]
0600ede6 t -[Browser _incrLastColTo:andDisplay:]
0600edc6 t -[Browser _lastVisibleCol]
0600e96a t -[Browser _tileColumn:]
0600e580 t -[Browser _tile]
0600ed40 t -[Browser _updateHScrollButtons:]
0601067e t -[Browser acceptsFirstMouse]
0600f3a4 t -[Browser action]
0600f718 t -[Browser addString:at:]
0600f276 t -[Browser cellClass]
0600fe06 t -[Browser clickMatrix:]
0600f52e t -[Browser columnOf:]
0600f452 t -[Browser columnWidth]
0600fa22 t -[Browser displayColumn:]
0600fa68 t -[Browser displayFrom:to:]
0600f3f8 t -[Browser doubleAction]
0600fe84 t -[Browser doubleClickMatrix:]
06010174 t -[Browser drawSelf::]
0600f236 t -[Browser free]
0600f822 t -[Browser growTo:]
06010018 t -[Browser hitPart]
0600f884 t -[Browser lastCol]
0600f4d0 t -[Browser matrixAt:]
06010008 t -[Browser mouseDownFlags]
0600f2c4 t -[Browser prototype]
06010774 t -[Browser read:]
0600fb5c t -[Browser redisplayCol:line:]
0600fb02 t -[Browser renameCol:line:to:]
0600ff1a t -[Browser scrollDown:]
0600ff80 t -[Browser scrollLeft:]
0600ffc4 t -[Browser scrollRight:]
0600feb4 t -[Browser scrollUp:]
0600f9b8 t -[Browser selectCol:line:]
0600f360 t -[Browser selectedCol]
0600f370 t -[Browser selectedLine]
0600f3ca t -[Browser setAction:]
0600f292 t -[Browser setCellClass:]
0600f462 t -[Browser setColumnWidth:]
0600f424 t -[Browser setDoubleAction:]
0600f894 t -[Browser setLastCol:]
0600f5c0 t -[Browser setMode:]
0600f47c t -[Browser setMultiColumn:]
0600f2d4 t -[Browser setPrototype:]
0600f390 t -[Browser setTarget:]
0600f65a t -[Browser setTitle:at:]
0600f4a6 t -[Browser setTitled:]
0600fc00 t -[Browser shiftColsBy:]
0600f992 t -[Browser showLastCol]
0600f8ee t -[Browser showNthCol:]
06010028 t -[Browser sizeTo::]
0601005e t -[Browser sizeToFit]
0600f380 t -[Browser target]
0600f6bc t -[Browser titleAt:]
060106a0 t -[Browser write:]
06010c7c t -[BrowserScroll _calcScrollVal]
06010a16 t -[BrowserScroll _enableDownButton:]
06010994 t -[BrowserScroll _enableUpButton:]
06010d24 t -[BrowserScroll _reflectScroll]
06010a78 t -[BrowserScroll drawSelf::]
06010aec t -[BrowserScroll performScroll:]
06010e62 t -[BrowserScroll read:]
06010d42 t -[BrowserScroll reflectScroll:]
06010ad8 t -[BrowserScroll setDownButton:]
06010ac4 t -[BrowserScroll setUpButton:]
06010e10 t -[BrowserScroll write:]
06036e7a t -[SavePanel setBrowser:]
00000000 A .objc_class_name_Browser
00000000 A .objc_class_name_BrowserScroll
04035634 s __OBJC_CLASS_Browser
040358e4 s __OBJC_CLASS_BrowserScroll
04035318 s __OBJC_CLASS_METHODS_Browser
04035344 s __OBJC_INSTANCE_METHODS_Browser
04035834 s __OBJC_INSTANCE_METHODS_BrowserScroll
0403520c s __OBJC_INSTANCE_VARIABLES_Browser
04035818 s __OBJC_INSTANCE_VARIABLES_BrowserScroll
04035610 s __OBJC_METACLASS_Browser
040358c0 s __OBJC_METACLASS_BrowserScroll
0600defc t _makeBrowserButton
0600def4 t libappkit/shlib_obj/Browser.o
06010978 t libappkit/shlib_obj/BrowserScroll.o
-- 
John Kowalski					(613)564-5455
Dept. of Computer Science			john@csi2.uofo.edu
University of Ottawa
34 George Glinksy Priv. Ottawa  ON  Canada  K1N 6N5

jasmerb@mist.cs.orst.edu (Bryce Jasmer) (12/29/89)

In article <158@csi2.UUCP> john@csi2.UUCP (John Kowalski) writes:
>Hello all you Browser fans (I don't know if someone else posted this
>info here, I don't read this group often enough) I found what most
>people writing software would like to have: A Browser Class.
>
>Well first be aware that this is not documented yet and that the
>interface may change when published (if published). This info is
>only method names. I fell on this while writing my own class named
>"Browser" and finding that it looked to good to be mine. Obviously I
>looked around in the libNeXT shared library and Presto! the Browser Class.
>
>these are the methods, getting them to work is left as an exercise :-)

Great idea. I wanted to take this a little bit further so I started mucking
around with InterfaceBuilder. I wanted to extract the nib file from IB
and see what is going on when they use a Browser (if it installed in
a Window, etc.)

I used "size -m" on IB and found there were tons (35+) different nib
files. Much to my joy, I found there was a "BrowserInspector__NIB"
section. I used fsectbyname to extract it and when I tried to open
it, an error came up "Can't open file". Is this because InterfaceBuilder
was created with an older version of InterfaceBuilder and so couldn't 
open its older nib files?

This was a little bit of a dissapointment. Anyway, I will keep on plugging
away on trying to decipher the Browser class. If anyone makes any progress
please let us all know.

Bryce Jasmer
jasmerb@cs.orst.edu

eps@toaster.SFSU.EDU (Eric P. Scott) (12/29/89)

In article <14556@orstcs.CS.ORST.EDU> jasmerb@mist.CS.ORST.EDU
	(Bryce Jasmer) writes:
>I used "size -m" on IB and found there were tons (35+) different nib
>files. Much to my joy, I found there was a "BrowserInspector__NIB"
>section. I used fsectbyname to extract it ...

Is this any different from what's in /usr/lib/nib/BrowserInspector.nib?

					-=EPS=-
P.S. I think you're barking up the wrong tree.