private void AddRuleButton_Click(object sender, EventArgs e) { if (m_point != null) { IPointRule prt = _factory.CreateDefaultPointRule(); int idx = m_point.RuleCount; conditionList.AddRuleControl(prt, idx).Focus(); m_point.AddRule(prt); } else if (m_line != null) { ILineRule lrt = _factory.CreateDefaultLineRule(); int idx = m_line.RuleCount; conditionList.AddRuleControl(lrt, idx).Focus(); m_line.AddRule(lrt); } else if (m_area != null) { IAreaRule art = _factory.CreateDefaultAreaRule(); int idx = m_area.RuleCount; conditionList.AddRuleControl(art, idx).Focus(); m_area.AddRule(art); } else if (m_comp != null) { ICompositeRule cr = _factory.CreateDefaultCompositeRule(); int idx = m_area.RuleCount; conditionList.AddRuleControl(cr, idx).Focus(); m_comp.AddCompositeRule(cr); } ItemChanged?.Invoke(this, null); }
private void SetItemInternal(object item, double previewScale, int themeCategory) { m_prt = item as IPointRule; m_lrt = item as ILineRule; m_art = item as IAreaRule; m_comp = item as ICompositeRule; try { m_isUpdating = true; if (m_prt != null) { RuleCondition.Text = m_prt.Filter; LegendLabel.Text = m_prt.LegendLabel; Image w2d = null; if (m_prt.PointSymbolization2D != null) { //Determine if this is a w2d symbol style if (m_prt.PointSymbolization2D.Symbol.Type == PointSymbolType.W2D) { var sym = (IW2DSymbol)m_prt.PointSymbolization2D.Symbol; w2d = SymbolPicker.GetSymbol(_conn, sym.W2DSymbol.ResourceId, sym.W2DSymbol.LibraryItemName); } } FeatureStyle.SetItem(m_prt, m_prt.PointSymbolization2D, w2d, previewScale, themeCategory); LabelStyle.SetItem(m_prt, m_prt.Label, previewScale, themeCategory); LabelStyle.Visible = true; } else if (m_lrt != null) { RuleCondition.Text = m_lrt.Filter; LegendLabel.Text = m_lrt.LegendLabel; FeatureStyle.SetItem(m_lrt, m_lrt.Strokes, previewScale, themeCategory); LabelStyle.SetItem(m_lrt, m_lrt.Label, previewScale, themeCategory); LabelStyle.Visible = true; } else if (m_art != null) { RuleCondition.Text = m_art.Filter; LegendLabel.Text = m_art.LegendLabel; FeatureStyle.SetItem(m_art, m_art.AreaSymbolization2D, previewScale, themeCategory); LabelStyle.SetItem(m_art, m_art.Label, previewScale, themeCategory); LabelStyle.Visible = true; } else if (m_comp != null) { RuleCondition.Text = m_comp.Filter; LegendLabel.Text = m_comp.LegendLabel; FeatureStyle.SetItem(m_comp, m_comp.CompositeSymbolization, previewScale, themeCategory); LabelStyle.Visible = false; } } finally { m_isUpdating = false; } }
public void RemoveRule(IPointRule rule) { var pr = rule as PointRuleType; if (pr != null) { this.PointRule.Remove(pr); } }
public void AddRule(IPointRule rule) { var pr = rule as PointRuleType; if (pr != null) { this.PointRule.Add(pr); } }
public bool MoveDown(IPointRule rule) { var pr = rule as PointRuleType; if (pr != null) { return(CollectionUtil.MoveDown(this.PointRule, pr)); } return(false); }
public int IndexOfRule(IPointRule rule) { var pr = rule as PointRuleType; if (pr != null) { return(this.PointRule.IndexOf(pr)); } return(-1); }
private void ReSyncRulesToBindingList(IVectorStyle style) { _rules.Clear(); if (style != null) { switch (style.StyleType) { case StyleType.Point: { for (int i = 0; i < style.RuleCount; i++) { IPointRule pr = (IPointRule)style.GetRuleAt(i); _rules.Add(new PointRuleModel(pr, i)); } } break; case StyleType.Line: { for (int i = 0; i < style.RuleCount; i++) { ILineRule lr = (ILineRule)style.GetRuleAt(i); _rules.Add(new LineRuleModel(lr, i)); } } break; case StyleType.Area: { for (int i = 0; i < style.RuleCount; i++) { IAreaRule ar = (IAreaRule)style.GetRuleAt(i); _rules.Add(new AreaRuleModel(ar, i)); } } break; case StyleType.Composite: { for (int i = 0; i < style.RuleCount; i++) { ICompositeRule cr = (ICompositeRule)style.GetRuleAt(i); _rules.Add(new CompositeRuleModel(cr, i)); } } break; } } else { _rules.Clear(); } }
public void SetItem(IPointRule parent, IPointSymbolization2D point, Image img, double previewScale, int themeCategory) { if (point == null) { isPoint = false; isW2dSymbol = false; } else { isPoint = (point.Symbol.Type != PointSymbolType.W2D); isW2dSymbol = (point.Symbol.Type == PointSymbolType.W2D); } SetItemInternal(parent, point, previewScale, themeCategory); m_w2dsymbol = img; }
private IPointRule CreatePointRule(IPointRule template, ILayerElementFactory factory) { var ptRule = factory.CreateDefaultPointRule(); var srcSym = template.PointSymbolization2D; if (srcSym != null) { ptRule.PointSymbolization2D = srcSym.Clone(); } var srcLabel = template.Label; if (srcLabel != null) { ptRule.Label = srcLabel.Clone(); } return ptRule; }
private void ReSyncBindingListToRules(IVectorStyle style) { if (style != null) { switch (style.StyleType) { case StyleType.Point: { IPointVectorStyle pts = style as IPointVectorStyle; pts.RemoveAllRules(); for (int i = 0; i < _rules.Count; i++) { ILabeledRuleModel rule = (ILabeledRuleModel)_rules[i]; IPointRule pr = (IPointRule)rule.UnwrapRule(); pts.AddRule(pr); rule.SetIndex(i); } } break; case StyleType.Line: { ILineVectorStyle lts = style as ILineVectorStyle; lts.RemoveAllRules(); for (int i = 0; i < _rules.Count; i++) { ILabeledRuleModel rule = (ILabeledRuleModel)_rules[i]; ILineRule lr = (ILineRule)rule.UnwrapRule(); lts.AddRule(lr); rule.SetIndex(i); } } break; case StyleType.Area: { IAreaVectorStyle ats = style as IAreaVectorStyle; ats.RemoveAllRules(); for (int i = 0; i < _rules.Count; i++) { ILabeledRuleModel rule = (ILabeledRuleModel)_rules[i]; IAreaRule ar = (IAreaRule)rule.UnwrapRule(); ats.AddRule(ar); rule.SetIndex(i); } } break; case StyleType.Composite: { ICompositeTypeStyle cts = style as ICompositeTypeStyle; cts.RemoveAllRules(); for (int i = 0; i < _rules.Count; i++) { IRuleModel rule = (IRuleModel)_rules[i]; ICompositeRule cr = (ICompositeRule)rule.UnwrapRule(); cts.AddCompositeRule(cr); rule.SetIndex(i); } } break; } } }
private void Rule_ItemDeleted(object sender, EventArgs e) { foreach (Condition c in this.Controls) { if (c.Item == sender) { this.Controls.Remove(c); break; } } if (m_point != null) { IPointRule remove = null; foreach (var pr in m_point.Rules) { if (pr == sender) { remove = pr; break; } } if (remove != null) { m_point.RemoveRule(remove); } } else if (m_line != null) { ILineRule remove = null; foreach (var lr in m_line.Rules) { if (lr == sender) { remove = lr; break; } } if (remove != null) { m_line.RemoveRule(remove); } } else if (m_area != null) { IAreaRule remove = null; foreach (var ar in m_area.Rules) { if (ar == sender) { remove = ar; break; } } if (remove != null) { m_area.RemoveRule(remove); } } else if (m_comp != null) { ICompositeRule remove = null; foreach (var comp in m_comp.CompositeRule) { if (comp == sender) { remove = comp; break; } } if (remove != null) { m_comp.RemoveCompositeRule(remove); } } SignalItemChanged(); }
public void SetItem(IPointRule prt, double previewScale, int themeCategory) { SetItemInternal(prt, previewScale, themeCategory); }