void RefreshMetadataTree() { List <CalcMemberInfo> members = new List <CalcMemberInfo>(); foreach (CalculationInfoBase info in Members.Values) { CalcMemberInfo memberInfo = info as CalcMemberInfo; if (memberInfo != null) { members.Add(memberInfo); } } List <CalculatedNamedSetInfo> sets = new List <CalculatedNamedSetInfo>(); foreach (CalculationInfoBase info in Sets.Values) { CalculatedNamedSetInfo setInfo = info as CalculatedNamedSetInfo; if (setInfo != null) { sets.Add(setInfo); } } CubeBrowser.CalculatedMembers = members; CubeBrowser.CalculatedNamedSets = sets; }
void m_DeleteCalcMemberButton_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show(Localization.DeleteCurrent_Question, Localization.Warning, MessageBoxButton.OKCancel) == MessageBoxResult.OK) { CalcMemberInfo memberInfo = MembersList.CurrentObject as CalcMemberInfo; if (memberInfo != null) { Members.Remove(memberInfo.Name); MembersList.RemoveItem(memberInfo); } else { CalculatedNamedSetInfo setInfo = MembersList.CurrentObject as CalculatedNamedSetInfo; if (setInfo != null) { Sets.Remove(setInfo.Name); MembersList.RemoveItem(setInfo); } } m_ClearButton.IsEnabled = (Members.Count + Sets.Count) > 0; RefreshMetadataTree(); } return; }
public CalculatedMemberTreeNode(CalcMemberInfo info) { if (info == null) throw new ArgumentNullException("info"); Icon = UriResources.Images.CustomMeasure16; Text = info.Name; m_Info = info; }
public override object Clone() { CalcMemberInfo ret = new CalcMemberInfo(); ret.Name = Name; ret.Expression = Expression; ret.FormatString = FormatString; ret.BackColor = BackColor; ret.ForeColor = ForeColor; foreach (var item in NonEmptyBehavior) { ret.NonEmptyBehavior.Add(item); } return(ret); }
void m_AddCalcMemberButton_Click(object sender, RoutedEventArgs e) { CalcMemberInfo info = new CalcMemberInfo(); // Если по выбранному узлу можем определить иерархию, то уникальное имя иерархии добавляем в имя вычисляемого элемента // В этом случае элемент попадет в данную иерархию // В противном случае - в иерархию [Measures] даже если она явно не прописана в имени String name_prefix = String.Empty; var hierarchy = CubeBrowser.SelectedNode as HierarchyTreeNode; if (hierarchy != null) { if (hierarchy.Info != null && hierarchy.Info is HierarchyInfo) { name_prefix = ((HierarchyInfo)hierarchy.Info).UniqueName; } } var level = CubeBrowser.SelectedNode as LevelTreeNode; if (level != null) { if (level.Info != null && level.Info is LevelInfo) { name_prefix = ((LevelInfo)level.Info).ParentHirerachyId; } } var member = CubeBrowser.SelectedNode as MemberLiteTreeNode; if (member != null) { if (member.Info != null) { name_prefix = member.Info.HierarchyUniqueName; } } String defaultName = String.IsNullOrEmpty(name_prefix) ? "[Calculated Member]" : name_prefix + "." + "[Calculated Member]"; info.Name = BuildNewCalculatedMemberName(defaultName); Members.Add(info.Name, info); MembersList.Initialize(Members, Sets, info); RefreshMetadataTree(); m_ClearButton.IsEnabled = (Members.Count + Sets.Count) > 0; }
public void Initialize(Dictionary <String, CalculationInfoBase> members, Dictionary <String, CalculationInfoBase> sets, CubeDefInfo cubeInfo, String measureGroupName) { m_Members = members; m_Sets = sets; m_ClearButton.IsEnabled = (Members.Count + Sets.Count) > 0; MemberCtrl.InitializeMetadata(cubeInfo); if (CubeBrowser.CubeInfo != cubeInfo) { CubeBrowser.Initialize(cubeInfo); } CubeBrowser.MeasureGroupName = measureGroupName; MemberCtrl.IsEnabled = SetCtrl.IsEnabled = false; foreach (CalculationInfoBase info in Members.Values) { CalcMemberInfo member = info as CalcMemberInfo; if (member != null) { // Добавляем в список стандартных пользовательские строки форматирования if (!String.IsNullOrEmpty(member.FormatString)) { if (!FormatStrings.Contains(member.FormatString)) { FormatStrings.Add(member.FormatString); } } } } MemberCtrl.FormatStrings = FormatStrings; MembersList.Initialize(members, sets); RefreshMetadataTree(); //CalcMemberInfo memberInfo = MembersList.CurrentObject as CalcMemberInfo; //if (memberInfo != null) //{ // MemberCtrl.Initialize(memberInfo); //} }
void MembersList_SelectionChanged(object sender, SelectionChangedEventArgs <CalculationInfoBase> e) { EndEdit(); MemberCtrl.IsEnabled = SetCtrl.IsEnabled = e.NewValue != null; if (e.NewValue == null) { if (MemberCtrl.Visibility == Visibility.Visible) { MemberCtrl.Initialize(null); } if (SetCtrl.Visibility == Visibility.Visible) { SetCtrl.Initialize(null); } } CalcMemberInfo memberInfo = e.NewValue as CalcMemberInfo; if (memberInfo != null) { MemberCtrl.Visibility = Visibility.Visible; SetCtrl.Visibility = Visibility.Collapsed; MemberCtrl.Initialize(memberInfo); } CalculatedNamedSetInfo setInfo = e.NewValue as CalculatedNamedSetInfo; if (setInfo != null) { MemberCtrl.Visibility = Visibility.Collapsed; SetCtrl.Visibility = Visibility.Visible; SetCtrl.Initialize(setInfo); } m_DeleteCalcMemberButton.IsEnabled = e.NewValue != null; }
public void Initialize(CalcMemberInfo info) { foreach (var item in m_NonEmptyBehavoirSource) { item.IsChecked = false; } if (info != null) { foreach (var nonEmpty in info.NonEmptyBehavior) { foreach (var item in m_NonEmptyBehavoirSource) { if (item.Text == nonEmpty) { item.IsChecked = true; } } } } this.IsEnabled = info != null; m_Member = info; txtName.Text = info != null ? info.Name : String.Empty; txtExpression.Text = info != null ? info.Expression : String.Empty; // Ищем соответствующую строку форматирования comboFormatString.SelectItem(info != null ? info.FormatString : String.Empty); comboForeColor.SelectItem(info != null ? info.ForeColor : Colors.Transparent); comboBackColor.SelectItem(info != null ? info.BackColor : Colors.Transparent); if (TabCtrl.SelectedItem == tabScriptTab) { RefreshScriptTab(); } }
public void Initialize(CalcMemberInfo info) { foreach (var item in m_NonEmptyBehavoirSource) { item.IsChecked = false; } if (info != null) { foreach (var nonEmpty in info.NonEmptyBehavior) { foreach (var item in m_NonEmptyBehavoirSource) { if (item.Text == nonEmpty) { item.IsChecked = true; } } } } this.IsEnabled = info != null; m_Member = info; txtName.Text = info != null ? info.Name : String.Empty; txtExpression.Text = info != null ? info.Expression : String.Empty; // Ищем соответствующую строку форматирования comboFormatString.SelectItem(info != null ? info.FormatString : String.Empty); comboForeColor.SelectItem(info != null ? info.ForeColor : Colors.Transparent); comboBackColor.SelectItem(info != null ? info.BackColor : Colors.Transparent); if (TabCtrl.SelectedItem == tabScriptTab) { RefreshScriptTab(); } }
void m_AddCalcMemberButton_Click(object sender, RoutedEventArgs e) { CalcMemberInfo info = new CalcMemberInfo(); // Если по выбранному узлу можем определить иерархию, то уникальное имя иерархии добавляем в имя вычисляемого элемента // В этом случае элемент попадет в данную иерархию // В противном случае - в иерархию [Measures] даже если она явно не прописана в имени String name_prefix = String.Empty; var hierarchy = CubeBrowser.SelectedNode as HierarchyTreeNode; if (hierarchy != null) { if (hierarchy.Info != null && hierarchy.Info is HierarchyInfo) name_prefix = ((HierarchyInfo)hierarchy.Info).UniqueName; } var level = CubeBrowser.SelectedNode as LevelTreeNode; if (level != null) { if (level.Info != null && level.Info is LevelInfo) name_prefix = ((LevelInfo)level.Info).ParentHirerachyId; } var member = CubeBrowser.SelectedNode as MemberLiteTreeNode; if (member != null) { if (member.Info != null) name_prefix = member.Info.HierarchyUniqueName; } String defaultName = String.IsNullOrEmpty(name_prefix) ? "[Calculated Member]" : name_prefix + "." + "[Calculated Member]"; info.Name = BuildNewCalculatedMemberName(defaultName); Members.Add(info.Name, info); MembersList.Initialize(Members, Sets, info); RefreshMetadataTree(); m_ClearButton.IsEnabled = (Members.Count + Sets.Count) > 0; }
public override object Clone() { CalcMemberInfo ret = new CalcMemberInfo(); ret.Name = Name; ret.Expression = Expression; ret.FormatString = FormatString; ret.BackColor = BackColor; ret.ForeColor = ForeColor; foreach (var item in NonEmptyBehavior) { ret.NonEmptyBehavior.Add(item); } return ret; }
public CalculatedMember_AreaItemWrapper(CalcMemberInfo info) : base(info) { }