> > 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