[comp.sys.next] Getting at the application's icon

jacob@gore.com (Jacob Gore) (11/23/89)

I have a separate .nib module that contains a panel.  I want to make that
panel's miniwindow icon the same as the icon of the application into which
it is linked.  What's the recommended way of doing it?

So far, I have considered:

    1.	Parsing the __header section of the __ICON segment to find the
	name of the icon associated with "app", and using that as the
	parameter to -setMiniwindowIcon:.

    2.	In the part of the application where the icon name is "known",
	store it for the benifit of other modules.  For example:
	   in NXApp's delegate's -appDidInit: method:
		[[NXApp appIcon] setMiniwindowIcon:"TheIconName"]
	   and in the panel's +new: method:
		[self setMiniwindowIcon:[[NXApp appIcon] miniwindowIcon]]

    3.	Composite the rectangle {9.0, 9.0, 48.0, 48.0} from [NXApp appIcon]
	onto a bitmap and give that bitmap's name to -setMiniwindowIcon:.

Any suggestions?

Jacob
--
Jacob Gore		Jacob@Gore.Com			boulder!gore!jacob

ali@polya.Stanford.EDU (Ali T. Ozer) (11/23/89)

In article <130037@gore.com> jacob@gore.com (Jacob Gore) writes:
>I have a separate .nib module that contains a panel.  I want to make that
>panel's miniwindow icon the same as the icon of the application into which
>it is linked.  What's the recommended way of doing it?

The Application object will create a bitmap named "app" that contains the
application's icon. Thus you can always get to the icon image with 

	[Bitmap findBitmapFor:"app"];

Ali

jacob@gore.com (Jacob Gore) (11/23/89)

/ comp.sys.next / ali@polya.Stanford.EDU (Ali T. Ozer) / Nov 22, 1989 /
	[Bitmap findBitmapFor:"app"];
----------

Too obvious :-)

Thanks, Ali!

Jacob