#include "ct_standardstandarditemgroupdrawmanager.h" #include "ct_abstractstandarditemgroup.h" #include const QString CT_StandardStandardItemGroupDrawManager::INDEX_CONFIG_ITEMS_BACKUP_VISIBLE = "IBV"; const QString CT_StandardStandardItemGroupDrawManager::INDEX_CONFIG_ITEMS_NEW_VISIBLE = "INV"; CT_StandardStandardItemGroupDrawManager::CT_StandardStandardItemGroupDrawManager(QString drawConfigurationName) : CT_AbstractItemDrawableDrawManager(drawConfigurationName.isEmpty() ? CT_AbstractStandardItemGroup::staticName() : drawConfigurationName) { } CT_StandardStandardItemGroupDrawManager::~CT_StandardStandardItemGroupDrawManager() { } void CT_StandardStandardItemGroupDrawManager::draw(GraphicsViewInterface &view, PainterInterface &painter, const CT_AbstractItemDrawable &itemDrawable) const { const CT_AbstractStandardItemGroup &item = dynamic_cast(itemDrawable); painter.enableSetColor(false); drawGroups(item.groupsNew(), view, painter, item); drawGroups(item.groupsBackup(), view, painter, item); if(getDrawConfiguration()->getVariableValue(INDEX_CONFIG_ITEMS_NEW_VISIBLE).toBool()) drawItems(item.itemsNew(), view, painter, item); if(getDrawConfiguration()->getVariableValue(INDEX_CONFIG_ITEMS_BACKUP_VISIBLE).toBool()) drawItems(item.itemsBackup(), view, painter, item); painter.enableSetColor(true); } CT_ItemDrawableConfiguration CT_StandardStandardItemGroupDrawManager::createDrawConfiguration(QString drawConfigurationName) const { CT_ItemDrawableConfiguration item = CT_ItemDrawableConfiguration(drawConfigurationName); item.addAllConfigurationOf(CT_AbstractItemDrawableDrawManager::createDrawConfiguration(drawConfigurationName)); item.addNewConfiguration(INDEX_CONFIG_ITEMS_BACKUP_VISIBLE,QObject::tr("Anciens Items"), CT_ItemDrawableConfiguration::Bool, true); item.addNewConfiguration(INDEX_CONFIG_ITEMS_NEW_VISIBLE,QObject::tr("Nouveaux Items"), CT_ItemDrawableConfiguration::Bool, true); return item; } void CT_StandardStandardItemGroupDrawManager::drawGroups(const QHash &map, GraphicsViewInterface &view, PainterInterface &painter, const CT_AbstractStandardItemGroup &sig) const { Q_UNUSED(sig) QHashIterator itG(map); while(itG.hasNext()) { itG.next(); itG.value()->draw(view, painter); } } void CT_StandardStandardItemGroupDrawManager::drawItems(const QHash &map, GraphicsViewInterface &view, PainterInterface &painter, const CT_AbstractStandardItemGroup &sig) const { Q_UNUSED(sig) QHashIterator itI(map); while(itI.hasNext()) { itI.next(); itI.value()->item()->draw(view, painter); } }