All iTools have my UI Panels [message #47050] |
Mon, 23 January 2006 09:40  |
James Everton
Messages: 19 Registered: November 2005
|
Junior Member |
|
|
Hello everyone,
I'm having a problem that has to do with opening up different instances
of iTools. In my iTool, I create some UI panels, and as is required, I
use ITREGISTER to register them with the iTools system. I create my
iTool from a procedure, then I go about my business. However, if
someone wanted to close my iTool, go back to the command line, then
open up iImage (or some other iTool), they would still have all my
panels in their new iTool.
I need some help in figuring out a way so that after my iTool is
created, I delete the panels from the iTools registry so any new
instances of iTools don't have my panels in them.
I hope that there is some way to handle this problem, because no matter
what functionality I can actually implement into my iTool, if I can't
leave the iTools system as it should be, my stuff probably won't get
used at all.
Thank you very much for reading this post.
Sincerely,
- James
|
|
|
|
Re: All iTools have my UI Panels [message #47824 is a reply to message #47050] |
Sun, 05 March 2006 23:53  |
Antonio Santiago
Messages: 201 Registered: February 2004
|
Senior Member |
|
|
James Everton wrote:
> Hi,
>
> The problem with not being able to unregister the panels is that I
> can't find the panels within the Data Manager in the same way that you
> can find visualizations. Normally, I could search using the
> IDLitTool::FindIdentifiers() method, then from there, use the
> IDLitTool::RemoveByIdentifier() function to get rid of it. These panel
> UI's don't have the same thing, unfortunately.
>
> One way that I found might work is using the TYPES keyword when
> creating your iTool and when registering your panel. Supposedly, if you
> set the TYPES variable to something unique for both of these, your
> panel will only show up when you create your iTool. This must be how
> they have the 'Image' panel come up only when you call iImage.
>
> Unfortunately for me, I have been essentially calling iImage to create
> my iTool (passing "Image Tool" as the first parameter to
> IDLITSYS_CREATETOOL) so I can't have this unique panel TYPES keyword
> set and still have the Image panel show up. If someone knows a way in
> which I could make a custom iTool and register the Image panel to my
> iTool, I would appreciate the help. Right now, I'm trying to get a hold
> of RSI for some technical support, but am having trouble with that
> because my company has a certain process they want us to follow when
> submitting help requests.
I don't test any of the following ideas but:
1- You can create your CustomiTool as a subclass of 'iimage'
(IDLitToolImage class) and initialize, or set, the TYPES keyword as you
need.
2- Get a reference to the system object (_IDLitSys_GetSustem() function)
and then use the oSsytem->CreateTool method to create a tool (instead by
the procedure way). I think you can pass the TYPES keyword as an extra
parameter.
Also, seeing your first old post, i think the problem when registering
the panel with ITREGISTER was that you don't indicate the TYPE keyword
and then your panel appears for all iTools.
>
> I hope we can both start helping eachother out on this, asantiago. I've
> been trying to program the iTools source code and would greatly
> appreciate someone to bounce ideas with.
>
I hope the same. For some strange reason iTools hasn't got so many
acceptation in the IDL world (perhaps because seems a bit slow or
perhaps because needs a hard period to learn it).
> Sincerely,
>
> - James
>
--
-----------------------------------------------------
Antonio Santiago P�rez
( email: santiago<<at>>grahi.upc.edu )
( www: http://www.grahi.upc.edu/santiago )
( www: http://asantiago.blogsite.org )
-----------------------------------------------------
GRAHI - Grup de Recerca Aplicada en Hidrometeorologia
Universitat Polit�cnica de Catalunya
-----------------------------------------------------
|
|
|
Re: All iTools have my UI Panels [message #47835 is a reply to message #47740] |
Fri, 03 March 2006 08:55  |
James Everton
Messages: 19 Registered: November 2005
|
Junior Member |
|
|
Hi,
The problem with not being able to unregister the panels is that I
can't find the panels within the Data Manager in the same way that you
can find visualizations. Normally, I could search using the
IDLitTool::FindIdentifiers() method, then from there, use the
IDLitTool::RemoveByIdentifier() function to get rid of it. These panel
UI's don't have the same thing, unfortunately.
One way that I found might work is using the TYPES keyword when
creating your iTool and when registering your panel. Supposedly, if you
set the TYPES variable to something unique for both of these, your
panel will only show up when you create your iTool. This must be how
they have the 'Image' panel come up only when you call iImage.
Unfortunately for me, I have been essentially calling iImage to create
my iTool (passing "Image Tool" as the first parameter to
IDLITSYS_CREATETOOL) so I can't have this unique panel TYPES keyword
set and still have the Image panel show up. If someone knows a way in
which I could make a custom iTool and register the Image panel to my
iTool, I would appreciate the help. Right now, I'm trying to get a hold
of RSI for some technical support, but am having trouble with that
because my company has a certain process they want us to follow when
submitting help requests.
I hope we can both start helping eachother out on this, asantiago. I've
been trying to program the iTools source code and would greatly
appreciate someone to bounce ideas with.
Sincerely,
- James
|
|
|