Orange Forum • View topic - orange channels: making outputs non-minor, "multi"

orange channels: making outputs non-minor, "multi"

A place to ask questions about methods in Orange and how they are used and other general support.

orange channels: making outputs non-minor, "multi"

Postby sesam » Wed Jun 15, 2005 9:18

Is it possible to make output channels non-minor and multi-token at the same time?
Adding ,0 ,0 didn't seem to do the trick, and in the documentation only ,0 and ,1 ,1 are suggested, so maybe the others don't work. Which source files are implementing this channel functionality?

Postby Blaz » Wed Jun 15, 2005 17:55

With output channels we do not need to declare if they are multi- or single-token. This declaration is only needed for the input channel, where with multi-token input channel a receiving function is called with a data token AND an ID.

You use output channels as "multi-token" ones when you send the data and additionally use some ID (as a 3rdparameter, 1st is the channel name, second is the token). If you do not use the ID, than the token identifier is (if I am right) a pointer of the object that is sending the token (let's call it IDdef). If you add (an extra) ID as an argument to "send", then an id of a token is (again, if I am right) a tuple (IDdef, ID).

I thought we have used this functionality already in some widgets for functional genomics, but going through that I can't find this. But as an example of the use of "multi-token" output will be a file widget which will be able to load all data files from some directory and output them on a single channel.

Hope that helps. Let me know otherwise.

Postby sesam » Thu Jun 16, 2005 16:42

The core issue is whether I can get the channel selection dialog to pop up instead of getting the automatic channel choice. The need comes from having several outputs without any typical standard choice.
Adding ,1 to each output channel didn't work.

Postby Gregor Leban » Mon Jun 20, 2005 8:53

The channel selection dialog can always be manually shown if you double-click on the signal line.

I have recently changed the code for adding the default signals when connecting two widget, so please check if you have the latest version from the cvs - the problem that you're having has maybe already been solved.

Return to Questions & Support