>
> Hi Valery,
>
> thanks, I found a workaround for my problem by defining 2 different
> classes - one for the "green" folders, another one - for the "red"
> ones... But I think that having the following interface
>
> if (isKey) set = fMimeTypeList->GetIcon(obj->GetIconName());
>
> if GetIconName() is not defined, then use whatever defaults
> are foreseen in *mime*.
>
> would be much more flexible and elegant...
>
[Valeri Fine]
OOOpps. Sure it is. I missed that method. No need to change the
existent
interface.
Thank you. Valeri
> -best, Pasha
>
>
> "Faine, Valeri" wrote:
> >
> > Hi Pasha,
> >
> > > Dear Rooters, Happy New Year to all!
> >
> > Thank you.
> > Happy New Year for all ROOTmen and ROOTwomen
> >
> > > I have a set of subdirectories (subfolders) in ROOT file
containing
> > > good/bad objects - and would like to the corresponding folder
> > > icons to be displayed by TBrowser in different colors - is there a
> > > way to do it?
> >
> > Have you tried to add your class/xpm class combination to
> > $ROOTSYS/etc/root.mimes
> >
> > [root/tmuffin]
> > pattern = TMuffin
> > icon = muffin_s.xpm muffin_t.xpm
> >
> > At the moment ROOT uses your class name as a key to find your xpm
image.
> > I think it can be changed to use the GetName() as an option.
> >
> > I mean at the moment ROOT selects the icon image with the
> > statements:
> >
> > if (isKey) set = fMimeTypeList->GetIcon(isKey->GetClassName());
> > else set = fMimeTypeList->GetIcon(obj->ClassName());
> >
> > If one would add
> >
> > If (!set) set = fMimeTypeList->GetIcon(obj->GetName());
> >
> > this may have added an extra functionality you probably speaking
about.
> >
> > May be it worth to modify the existent
> >
> > TBrowser::Add(TObject *obj, const char *name = 0);
> >
> > interface like this:
> >
> > TBrowser::Add(TObject *obj, const char *name = 0, const char
> > *iconKey=0);
> >
> > And use the "iconKey" to select the user-provided icon first. The
logic
> > to select the appropriated icon may have looked as follow:
> >
> > set = 0;
> > if (iconKey && iconKey[0])
> > set = fMimeTypeList->GetIcon(iconKey);
> > if (!set)
> > set = fMimeTypeList->GetIcon(obj->GetName());
> > if (!set) {
> > if (isKey)
> > set = fMimeTypeList->GetIcon(isKey->GetClassName());
> > else
> > set = fMimeTypeList->GetIcon(obj->ClassName());
> > }
> >
> > I've added this feature to my Qt-based ROOT version (
> > http://root.cern.ch )
> >
> > Of course with Qt-based version one can use Qt method
> > http://doc.trolltech.com/3.1/qiconviewitem.html#setPixmap-2
> > also. However this way one may have became Qt addicted ( like me :-)
> >
> > Valeri
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:08 MET