package usda.weru.util.tree;

import java.beans.PropertyChangeEvent;
import static usda.weru.remoteDataAccess.csip.CsipInputControllerCachingSupport.PROP_CSIP_BGCATALOG_COMPLETE;
import usda.weru.remoteDataAccess.csip.crlmod.CsipInputContCrLmodBgCache;
import usda.weru.util.ConfigData;

/**
 *
 * @author mhaas
 */
public class WepsTreeModelCrLmod extends WepsTreeModel {
    
    private static final long serialVersionUID = 1L;

    WepsTreeNodeCrLmod crlmodNode;
    
    public WepsTreeModelCrLmod(WepsTreeComboBox treeCombo, boolean useWaitCursor) {
        this (treeCombo, false, false, useWaitCursor);
    }

    public WepsTreeModelCrLmod(WepsTreeComboBox treeCombo, boolean includeProjectNode, boolean includeTemplateNode, boolean useWaitCursor) {
        super(treeCombo, includeProjectNode, includeTemplateNode, useWaitCursor);

        ConfigData.getDefault().addPropertyChangeListener(ConfigData.ManTemp, this);
//        build();
        setUseWaitCursor(true);
    }

    @Override
    public void propertyChange(PropertyChangeEvent evt) {
        super.propertyChange(evt);
        if (null != evt.getPropertyName()) {
            switch (evt.getPropertyName()) {
                case PROP_CSIP_BGCATALOG_COMPLETE: {
                    if (evt.getSource() instanceof CsipInputContCrLmodBgCache) {
                        crlmodNode.removeAllChildren();
                        crlmodNode.refreshChildren();
                        this.nodeStructureChanged(crlmodNode);
                    }
                    break;
                }
            }
        }
    }
    

    public void doBackgroundDownload() {
        crlmodNode.doBackgroundCatalog();
    }
    
    public boolean BackgroundFilesChanged() {
        return crlmodNode.checkBackgroundNewFiles();
    }

    public void clearBackgroundFilesChanged() {
        crlmodNode.clearBackgroundNewFiles();
    }
  
}
