comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: iTool identifiers
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: iTool identifiers [message #48947] Wed, 07 June 2006 20:58 Go to next message
Michael Galloy is currently offline  Michael Galloy
Messages: 1114
Registered: April 2006
Senior Member
Chris Torrence wrote:
> Actually, I think it *is* that easy:
>
> IDL> o=obj_new('idlitcomponent', identifier='myobject')
> IDL> oparent = obj_new('idlitcontainer', identifier='parent')
>
> IDL> ograndparent = obj_new('idlitcontainer')
>
> IDL> oparent->add, o
>
> IDL> ograndparent->add, oparent
>
> IDL> print, o->getfullidentifier()
>
> /PARENT/MYOBJECT
>
> IDL> help, ograndparent->getbyidentifier('/parent/myobject')
>
> <Expression> OBJREF = <ObjHeapVar10(IDLITCOMPONENT)>
>
> The key is to set the IDENTIFIER keyword when you create your objects. As
> long as your objects are a subclass of IDLitComponent, and your containers
> are IDLitContainer, then everything should just work, and you shouldn't need
> any of the iTools framework.
>
> -Chris
>
> ITT Visual Information Solutions

Cool. And IDLitContainer::findIdentifiers has a nice searching capability.

Mike
--
www.michaelgalloy.com
Re: iTool identifiers [message #48949 is a reply to message #48947] Wed, 07 June 2006 16:46 Go to previous messageGo to next message
Chris[2] is currently offline  Chris[2]
Messages: 39
Registered: August 2003
Member
Actually, I think it *is* that easy:

IDL> o=obj_new('idlitcomponent', identifier='myobject')
IDL> oparent = obj_new('idlitcontainer', identifier='parent')

IDL> ograndparent = obj_new('idlitcontainer')

IDL> oparent->add, o

IDL> ograndparent->add, oparent

IDL> print, o->getfullidentifier()

/PARENT/MYOBJECT

IDL> help, ograndparent->getbyidentifier('/parent/myobject')

<Expression> OBJREF = <ObjHeapVar10(IDLITCOMPONENT)>

The key is to set the IDENTIFIER keyword when you create your objects. As
long as your objects are a subclass of IDLitComponent, and your containers
are IDLitContainer, then everything should just work, and you shouldn't need
any of the iTools framework.

-Chris

ITT Visual Information Solutions



"Michael Galloy" <mgalloy@gmail.com> wrote in message
news:3wvhg.10064$921.7004@newsread4.news.pas.earthlink.net.. .
> Robbie wrote:
>> Hello,
>>
>> I was wondering if anyone has used the iTool identifier system just by
>> itself. I like the idea of using the iTool identifier system for
>> keeping a track of objects, but I am not using iTools for my particular
>> project.
>>
>> By the looks of it, I just have to:
>> * Use IDLitContainer instead of IDL_Container
>> * Use IDLitComponent as a base class
>> * No change necessary for graphics atoms
>> and I should be able to reference all objects from the context of the
>> root IDL_Container
>>
>> Is it really that easy? Is it more convenient than using conventional
>> object references? Does a global identifier system blur the segregation
>> between modules?
>
> I don't think it will be *that* easy.
>
> IDL> o = obj_new('idlgrplot', findgen(11))
> IDL> print, obj_isa(o, 'idlitcomponent')
> 1
> IDL> help, o->getFullIdentifier()
> <Expression> STRING = ''
>
> I think you need to start the iTools system and have an iTool for most
> components to have a valid identifier (since I think the component gets
> its id when it is registered). Maybe there is some way to fake it? To find
> out would require digging around the iTools source code.
>
> But, maybe the NAME property for object graphics is good enough?
>
> IDL> oview = obj_new('idlgrview')
> IDL> omodel = obj_new('idlgrmodel', name='mymodel')
> IDL> oview->add, omodel
> IDL> oplot = obj_new('idlgrplot', findgen(11), name='myplot')
> IDL> omodel->add, oplot
> IDL> help, oview->getByName('mymodel/myplot')
> <Expression> OBJREF = <ObjHeapVar10(IDLGRPLOT)>
>
> I use this all the time so that I don't have to store object references
> for many different objects in a hierarchy. Is this what you mean by "I
> should be able to reference all objects from the context of the root
> IDL_Container"?
>
> Mike
> --
> www.michaelgalloy.com
Re: iTool identifiers [message #48964 is a reply to message #48949] Wed, 07 June 2006 00:47 Go to previous messageGo to next message
Michael Galloy is currently offline  Michael Galloy
Messages: 1114
Registered: April 2006
Senior Member
Robbie wrote:
> Hello,
>
> I was wondering if anyone has used the iTool identifier system just by
> itself. I like the idea of using the iTool identifier system for
> keeping a track of objects, but I am not using iTools for my particular
> project.
>
> By the looks of it, I just have to:
> * Use IDLitContainer instead of IDL_Container
> * Use IDLitComponent as a base class
> * No change necessary for graphics atoms
> and I should be able to reference all objects from the context of the
> root IDL_Container
>
> Is it really that easy? Is it more convenient than using conventional
> object references? Does a global identifier system blur the segregation
> between modules?

I don't think it will be *that* easy.

IDL> o = obj_new('idlgrplot', findgen(11))
IDL> print, obj_isa(o, 'idlitcomponent')
1
IDL> help, o->getFullIdentifier()
<Expression> STRING = ''

I think you need to start the iTools system and have an iTool for most
components to have a valid identifier (since I think the component gets
its id when it is registered). Maybe there is some way to fake it? To
find out would require digging around the iTools source code.

But, maybe the NAME property for object graphics is good enough?

IDL> oview = obj_new('idlgrview')
IDL> omodel = obj_new('idlgrmodel', name='mymodel')
IDL> oview->add, omodel
IDL> oplot = obj_new('idlgrplot', findgen(11), name='myplot')
IDL> omodel->add, oplot
IDL> help, oview->getByName('mymodel/myplot')
<Expression> OBJREF = <ObjHeapVar10(IDLGRPLOT)>

I use this all the time so that I don't have to store object references
for many different objects in a hierarchy. Is this what you mean by "I
should be able to reference all objects from the context of the root
IDL_Container"?

Mike
--
www.michaelgalloy.com
Re: iTool identifiers [message #49059 is a reply to message #48947] Tue, 13 June 2006 23:13 Go to previous message
Robbie is currently offline  Robbie
Messages: 165
Registered: February 2006
Senior Member
It's a pity IDLitContainer::findIdentifiers doesn't search through the
object graphics tree. I've been trying to find neat ways of creating
and maintaining an object graphics tree.

I'm in the process of writing a class to create graphics objects using
methods which are a bit like tv and plot.

http://www.barnett.id.au/idl/
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: is there a command in IDL like bitget command in matlab?
Next Topic: is there a function or command in IDL like the "bitget" in matlab?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Oct 09 14:09:08 PDT 2025

Total time taken to generate the page: 0.08188 seconds