public MemberPropertyItemControl(MemberPropertyInfo info)
 {
     if (info == null)
         throw new ArgumentNullException("info");
     
     m_Info = info;
     Text = info.Name;
     
     Icon = UriResources.Images.MemberProperty16;
 }
        public void InitParameters(List<LevelPropertyInfo> parameters)
        {
            m_Parameters = parameters;
            parameterControl.Items.Clear();

            MemberPropertyInfo captionProp = new MemberPropertyInfo("Caption", "Caption");
            MemberPropertyInfo nameProp = new MemberPropertyInfo("Name", "Name");
            MemberPropertyInfo uniqueNameProp = new MemberPropertyInfo("UniqueName", "UNIQUE_NAME");

            MemberPropertyItemControl captionItem = new MemberPropertyItemControl(captionProp);
            parameterControl.Items.Add(captionItem);
            MemberPropertyItemControl nameItem = new MemberPropertyItemControl(nameProp);
            parameterControl.Items.Add(nameItem);
            MemberPropertyItemControl uniqueNameItem = new MemberPropertyItemControl(uniqueNameProp);
            parameterControl.Items.Add(uniqueNameItem);

            List<String> used = new List<string>();
            used.Add("Caption");
            used.Add("Name");
            used.Add("UniqueName");

            if (parameters != null)
            {
                foreach (LevelPropertyInfo info in parameters)
                {
                    if (!used.Contains(info.Name))
                    {
                        if (info.IsSystem == false ||
                            (info.IsSystem == true && info.Name.ToLower().StartsWith("key") == true) ||
                            (info.IsSystem == true && info.Name == "CUSTOM_ROLLUP") ||
                            (info.IsSystem == true && info.Name == "UNARY_OPERATOR"))
                        {
                            LevelPropertyItemControl item = new LevelPropertyItemControl(info);
                            parameterControl.Items.Add(item);
                        }
                        used.Add(info.Name);
                    }
                }
            }

            if (parameterControl.Items.Count > 0)
            {
                parameterControl.SelectedIndex = 0;
            }
        }