public override void SetComponent(Pic.Plugin.Component comp)
        {
            if (null == comp)
            {
                return;
            }
            // get client
            PLMPackServiceClient client = WCFClientSingleton.Instance.Client;

            // retrieve component
            _compGuid = comp.Guid;
            BuildCardboardProfile();
        }
        public override bool Process(Pic.DAL.SQLite.PPDataContext db, TreeNode tn)
        {
            if (!tn.IsComponent)
            {
                return(true);
            }
            try
            {
                string filePath           = tn.Documents(db)[0].File.Path(db);
                Pic.Plugin.Component comp = _compLoader.LoadComponent(filePath);
                if (null != _callback && null != comp)
                {
                    _callback.Info(string.Format("Successfully loaded component {0}", tn.Name));
                }
                else
                {
                    _callback.Error(string.Format("Failed to load component {0}", tn.Name));
                }

                Pic.Plugin.ParameterStack stack = comp.BuildParameterStack(null);
                foreach (Pic.Plugin.Parameter param in stack)
                {
                    if (param.IsMajoration)
                    {
                        continue;
                    }
                    // only add parameter description
                    TryAndAddString(param.Description);
                    // ParameterMulti ?
                    Pic.Plugin.ParameterMulti paramMulti = param as Pic.Plugin.ParameterMulti;
                    if (null != paramMulti)
                    {
                        foreach (string sText in paramMulti.DisplayList)
                        {
                            TryAndAddString(sText);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (null != _callback)
                {
                    _callback.Error(ex.Message);
                }
            }
            return(true);
        }