RE: TGFileContainer MultipleSelections

From: Lee, Kerry T. \(JSC-SF\)[UHCL] <>
Date: Tue, 28 Mar 2006 18:23:34 -0600

Hi Valeri,

Thank you for your detailed outline and example macro. I installed the newest version of Qt (4.1.1) and successfully compiled the HelloWorld example from the manual. I then followed your proceedure. I had a warning when starting root which was

I created a file ~/.fonts.conf and added a single line of $ROOOTSYS/fonts, but this did not solve the problem. If this is only related to fonts it is unimportant to me at the moment.

I was not able to run your example macro in cint, but when I invoked aclic everything worked as expected.

root [0] gSystem->AddIncludePath("-I$QTDIR/include") root [1] .x FileDialog.C
Error: Function getOpenFileNames() is not defined in current scope FileDialog.C:10: Possible candidates are...
filename line:size busy function type and name Warning: Automatic variable QStringList files is allocated FileDialog.C:10:Error: Undeclared variable QStringList files FileDialog.C:10: *** Interpreter error recovered ***
root [2] .x FileDialog.C++
Info in <TUnixSystem::ACLiC>: creating shared library /media/usbdisk/kerrylee/marie/code/GUI/./

For now I am only working with compiled code, therefore, this will work for me now. Maybe because I did not use Qt version 3.3 is why the interpreted code is not functioning. At any rate the current solution will work for me.

Thanks again,


-----Original Message-----
From: Fine, Valeri [] Sent: Sun 3/26/2006 12:27 PM
To: Fine, Valeri; Ilka Antcheva; Lee, Kerry T. (JSC-SF)[UHCL]; Subject: RE: [ROOT] TGFileContainer MultipleSelections  

 I am sorry, I missed to add the relevant ROOT macro.  

 Assuming you have the standard ROOT installation with Qt  (for example at CERN)  

  1. setup ROOT and QT environment. For example, at CERN "lxplus" you can execute the script

2. Make a local copy ."rootrc" file to turn on the Qt-layer

3. Copy the C++ ROOT macro

ifndef __CINT__

#  include <qfiledialog.h> 
#  include <qstringlist.h> 
#  include <qstring.h> 

void FileDialog() {

// gSystem->AddIncludePath("-I$QTDIR/include"); // See:
  QStringList files = QFileDialog::getOpenFileNames ();   

  QStringList::Iterator it = files.begin();   while ( it != files.end() ) {

      printf ("Next file selected: %s\n", (const char *)(*it));


4. Start ROOT session and execute 2 ROOT command     

root [0] gSystem->AddIncludePath("-I$QTDIR/include"); root [1] .x FileDialog.C++

5. You should get the Qt widget

6. You should see the the of the selected file names

If you don't this maynave ment there is some bug to be fixed. Please file the ROOT bug report.

Either way your kind feedback would be appreciated a lot.

 Thank you, Hope this helps  


From: Fine, Valeri
Sent: Sat 3/25/2006 12:21 PM
To: Ilka Antcheva; Lee, Kerry T. (JSC-SF)[UHCL]; Subject: RE: [ROOT] TGFileContainer MultipleSelections  

My I remind people that there is the back door called Qt-layer  

If you need "multiple selections" now you can use Qt class
(you should turn on the Qt layer using ".rootrc". resource file see
<x-excid://3E8A0000/uri:> page
As soon as ROOT TG provides the function you are seeking you may have replaced it back with the "TG" counterpart.  

Hope this helps Valeri

From: Ilka Antcheva
Sent: Sat 3/25/2006 4:17 AM
To: Lee, Kerry T. (JSC-SF)[UHCL]; Subject: RE: [ROOT] TGFileContainer MultipleSelections

Hi Kerry,  

This feature is not available yet in TGFileConaines but will come soon because of internal needs to have it. We will keep you informed.  

Cheers, Ilka

From: on behalf of Lee, Kerry T. (JSC-SF)[UHCL] Sent: Sat 3/25/2006 12:36 AM


Subject: [ROOT] TGFileContainer MultipleSelections

Dear Rooters,

How do I allow for multiple selections via a mouse click within a TGFileContainer?


Kerry Received on Wed Mar 29 2006 - 02:24:01 MEST

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:58 MET