DisplayFlagWidget::DisplayFlagWidget(QWidget* parent, const char* name, Qt::WFlags f ): Q3ListView(parent,name,f) { addColumn(QString::null); setRootIsDecorated( TRUE ); setTreeStepSize( 12 ); header()->hide(); clear(); setMouseTracking(false); #ifdef SOFA_QT4 setFocusPolicy(Qt::NoFocus); #else setFocusPolicy(QWidget::NoFocus); #endif setFrameShadow(QFrame::Plain); setFrameShape(QFrame::NoFrame ); setSortColumn(-1); Q3CheckListItem* itemShowAll = new Q3CheckListItem(this, "All", Q3CheckListItem::CheckBoxController); itemShowAll->setOpen(true); Q3CheckListItem* itemShowVisual = new Q3CheckListItem(itemShowAll, "Visual", Q3CheckListItem::CheckBoxController); itemShowVisual->setOpen(true); itemShowFlag[VISUALMODELS] = new Q3CheckListItem(itemShowVisual, "Visual Models", Q3CheckListItem::CheckBox); Q3CheckListItem* itemShowBehavior = new Q3CheckListItem(itemShowAll, itemShowVisual, "Behavior", Q3CheckListItem::CheckBoxController); itemShowBehavior->setOpen(true); itemShowFlag[BEHAVIORMODELS] = new Q3CheckListItem(itemShowBehavior, "Behavior Models", Q3CheckListItem::CheckBox); itemShowFlag[FORCEFIELDS] = new Q3CheckListItem(itemShowBehavior, itemShowFlag[BEHAVIORMODELS], "Force Fields", Q3CheckListItem::CheckBox); itemShowFlag[INTERACTIONFORCEFIELDS] = new Q3CheckListItem(itemShowBehavior, itemShowFlag[FORCEFIELDS], "Interactions", Q3CheckListItem::CheckBox); Q3CheckListItem* itemShowCollision = new Q3CheckListItem(itemShowAll, itemShowBehavior, "Collision", Q3CheckListItem::CheckBoxController); itemShowCollision->setOpen(true); itemShowFlag[COLLISIONMODELS] = new Q3CheckListItem(itemShowCollision, "Collision Models", Q3CheckListItem::CheckBox); itemShowFlag[BOUNDINGCOLLISIONMODELS] = new Q3CheckListItem(itemShowCollision, itemShowFlag[COLLISIONMODELS], "Bounding Trees", Q3CheckListItem::CheckBox); Q3CheckListItem* itemShowMapping = new Q3CheckListItem(itemShowAll, itemShowCollision, "Mapping", Q3CheckListItem::CheckBoxController); itemShowMapping->setOpen(true); itemShowFlag[MAPPINGS] = new Q3CheckListItem(itemShowMapping, "Visual Mappings", Q3CheckListItem::CheckBox); itemShowFlag[MECHANICALMAPPINGS] = new Q3CheckListItem(itemShowMapping, itemShowFlag[MAPPINGS], "Mechanical Mappings", Q3CheckListItem::CheckBox); Q3ListViewItem* itemShowOptions = new Q3ListViewItem(this, itemShowAll, "Options"); itemShowOptions->setOpen(true); itemShowFlag[RENDERING] = new Q3CheckListItem(itemShowOptions, "Advanced Rendering", Q3CheckListItem::CheckBox); itemShowFlag[WIREFRAME] = new Q3CheckListItem(itemShowOptions, "Wire Frame", Q3CheckListItem::CheckBox); itemShowFlag[NORMALS] = new Q3CheckListItem(itemShowOptions, itemShowFlag[WIREFRAME], "Normals", Q3CheckListItem::CheckBox); #ifdef SOFA_SMP itemShowFlag[PROCESSORCOLOR] = new Q3CheckListItem(itemShowOptions, itemShowFlag[NORMALS], "Processor Color", Q3CheckListItem::CheckBox); #endif insertItem(itemShowAll); itemShowAll->insertItem(itemShowVisual); itemShowAll->setOpen(true); itemShowVisual->insertItem(itemShowFlag[VISUALMODELS]); itemShowAll->insertItem(itemShowBehavior); itemShowBehavior->insertItem(itemShowFlag[BEHAVIORMODELS]); itemShowBehavior->insertItem(itemShowFlag[FORCEFIELDS]); itemShowBehavior->insertItem(itemShowFlag[INTERACTIONFORCEFIELDS]); itemShowAll->insertItem(itemShowCollision); itemShowCollision->insertItem(itemShowFlag[COLLISIONMODELS]); itemShowCollision->insertItem(itemShowFlag[BOUNDINGCOLLISIONMODELS]); itemShowAll->insertItem(itemShowMapping); itemShowMapping->insertItem(itemShowFlag[MAPPINGS]); itemShowMapping->insertItem(itemShowFlag[MECHANICALMAPPINGS]); insertItem(itemShowOptions); itemShowOptions->setOpen(true); itemShowOptions->insertItem(itemShowFlag[RENDERING]); itemShowOptions->insertItem(itemShowFlag[WIREFRAME]); itemShowOptions->insertItem(itemShowFlag[NORMALS]); #ifdef SOFA_SMP itemShowOptions->insertItem(itemShowFlag[PROCESSORCOLOR]); #endif for (int i=0; i<ALLFLAGS; ++i) mapFlag.insert(std::make_pair(itemShowFlag[i],i)); }