Ignore:
Timestamp:
Jun 14, 2007, 5:39:46 PM (17 years ago)
Author:
garnier
Message:

r617@mac-90108: laurentgarnier | 2007-06-14 11:51:45 +0200
en test avec les tree sur le help widget

Location:
trunk/geant4/interfaces/basic
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/geant4/interfaces/basic/include/G4UIQt.hh

    r506 r507  
    4242#include <QtGui/qtextedit.h>
    4343#include <QtGui/qlabel.h>
     44#include <QtGui/qtreewidget.h>
    4445#include <QSignalMapper.h>
    4546#include <QObject>
     
    99100  G4bool GetHelpChoice(G4int&);
    100101  void TerminalHelp(G4String);
     102  void CreateChildTree(QTreeWidgetItem*,G4UIcommandTree*);
    101103
    102104  void ExitHelp();
  • trunk/geant4/interfaces/basic/src/G4UIQt.cc

    r506 r507  
    5757#include <QtGui/qsplitter.h>
    5858#include <QtGui/qscrollbar.h>
    59 #include <QtGui/qtreewidget.h>
    6059#include <QtGui/qdialog.h>
    6160
     
    496495  QTextEdit *textArea = new QTextEdit();
    497496  QPushButton *exitButton = new QPushButton("Exit");
     497  connect(exitButton, SIGNAL(clicked()), helpDialog,SLOT(close()));
     498  textArea->setReadOnly(true);
     499
     500  // the help tree
     501  G4UImanager* UI = G4UImanager::GetUIpointer();
     502  if(UI==NULL) return;
     503  G4UIcommandTree * treeTop = UI->GetTree();
     504
    498505  QTreeWidget *treeWidget = new QTreeWidget();
    499   connect(exitButton, SIGNAL(clicked()), helpDialog,SLOT(close()));
    500 
    501   textArea->setReadOnly(true);
     506  treeWidget->setColumnCount(1);
     507  QList<QTreeWidgetItem *> items;
     508  G4int treeSize = treeTop->GetTreeEntry();
     509  QTreeWidgetItem * newItem;
     510  for (unsigned int a=0;a<treeSize;a++) {
     511    // Creating new item
     512    QStringList stringList;
     513    stringList << QString((char*)(treeTop->GetTree(a+1)->GetPathName()).data()).trimmed()  ;
     514    stringList << QString((char*)(treeTop->GetTree(a+1)->GetTitle()).data()).trimmed()  ;
     515
     516    newItem = new QTreeWidgetItem(stringList);
     517
     518    // look for childs
     519    CreateChildTree(newItem,treeTop->GetTree(a+1));
     520
     521    items.append(newItem);
     522  }
     523  treeWidget->insertTopLevelItems(0, items);
     524
    502525
    503526  // Set layouts
     
    514537  vLayout->addWidget(exitButton);
    515538  helpDialog->setLayout(vLayout);
    516 
    517539
    518540  helpDialog->show();
     
    522544
    523545  printf ("G4UIQt::TerminalHelp \n");
    524 //   G4UImanager* UI = G4UImanager::GetUIpointer();
    525 //   if(UI==NULL) return;
    526 //   G4UIcommandTree * treeTop = UI->GetTree();
     546
     547
    527548//   size_t i = newCommand.index(" ");
    528549//   if( i != std::string::npos )
     
    594615  ExitHelp();
    595616}
    596 
    597 
    598 
    599 
    600 
    601 
    602 
    603 
    604 
    605 
    606 
    607 
     617void G4UIQt::CreateChildTree(QTreeWidgetItem *a_parent,G4UIcommandTree *a_commandTree) {
     618  printf ("G4UIQt::CreateChildTree \n");
     619
     620  // Creating new item
     621  QTreeWidgetItem * newItem;
     622
     623  QList<QTreeWidgetItem *> items;
     624  G4int treeSize = a_commandTree->GetTreeEntry();
     625
     626  for (unsigned int a=0;a<treeSize;a++) {
     627    QStringList stringList;
     628    stringList << QString((char*)(a_commandTree->GetTree(a+1)->GetPathName()).data()).trimmed()  ;
     629    stringList << QString((char*)(a_commandTree->GetTree(a+1)->GetTitle()).data()).trimmed()  ;
     630    newItem = new QTreeWidgetItem(stringList);
     631    CreateChildTree(newItem,a_commandTree->GetTree(a+1));
     632    items.append(newItem);
     633  }
     634  a_parent->addChildren( items);
     635
     636  printf ("G4UIQt::CreateChildTree  end of for loop\n");
     637}
Note: See TracChangeset for help on using the changeset viewer.