private void InitPositioning(ILabelsLayer labels) { _noEvents = true; // Disable all by default cboLineOrientation.Enabled = false; optPosition1.Visible = false; optPosition2.Visible = false; optPosition3.Visible = false; optPosition4.Visible = false; groupBoxPositioning.Visible = false; if (_featureSet.IsPolygon) { InitPositioningForPolygonFeatures(labels); } else if (_featureSet.IsPolyline) { InitPositioningForPolylineFeatures(labels); } else { InitPositioningForPointFeatures(labels); } _noEvents = false; }
private string GetLabelField(ILabelsLayer labels) { var s = labels.Expression.Trim(); if (s.StartsWith("[") && s.EndsWith("]")) { return(s.Substring(1, s.Length - 2)); } return(string.Empty); }
private void InitAlignment(ILabelsLayer labels) { var alignment = labels.Style.Alignment; optAlignBottomCenter.Checked = (alignment == LabelAlignment.BottomCenter); optAlignBottomLeft.Checked = (alignment == LabelAlignment.BottomLeft); optAlignBottomRight.Checked = (alignment == LabelAlignment.BottomRight); optAlignCenter.Checked = (alignment == LabelAlignment.Center); optAlignCenterLeft.Checked = (alignment == LabelAlignment.CenterLeft); optAlignCenterRight.Checked = (alignment == LabelAlignment.CenterRight); optAlignTopCenter.Checked = (alignment == LabelAlignment.TopCenter); optAlignTopLeft.Checked = (alignment == LabelAlignment.TopLeft); optAlignTopRight.Checked = (alignment == LabelAlignment.TopRight); }
private void InitPositioningForPolylineFeatures(ILabelsLayer labels) { optPosition1.Text = "First segment"; optPosition2.Text = "Last segment"; optPosition3.Text = "Middle segment"; optPosition4.Text = "The longest segment"; optPosition1.Tag = LabelPosition.FirstSegment; optPosition2.Tag = LabelPosition.LastSegment; optPosition3.Tag = LabelPosition.MiddleSegment; optPosition4.Tag = LabelPosition.LongestSegement; optPosition1.Checked = labels.Positioning == LabelPosition.FirstSegment; optPosition2.Checked = labels.Positioning == LabelPosition.LastSegment; optPosition3.Checked = (labels.Positioning == LabelPosition.MiddleSegment || labels.Positioning == LabelPosition.None); optPosition4.Checked = labels.Positioning == LabelPosition.LongestSegement; optPosition1.Visible = true; optPosition2.Visible = true; optPosition3.Visible = true; optPosition4.Visible = true; // Add items to line orientation if (cboLineOrientation.Items.Count == 0) { // Line orientation cboLineOrientation.Items.Clear(); cboLineOrientation.Items.Add("Horizontal"); cboLineOrientation.Items.Add("Parallel"); cboLineOrientation.Items.Add("Perpindicular"); } if (labels.Style.Orientation == LabelOrientation.Horizontal) { cboLineOrientation.SelectedIndex = 0; } else if (labels.Style.Orientation == LabelOrientation.Parallel) { cboLineOrientation.SelectedIndex = 1; } else if (labels.Style.Orientation == LabelOrientation.Perpindicular) { cboLineOrientation.SelectedIndex = 2; } cboLineOrientation.Enabled = true; groupBoxPositioning.Visible = true; }
private void UpdatePositioningForPolylineFeatures(ILabelsLayer labels) { UpdatePositioningForPolyFeatures(labels); if (cboLineOrientation.SelectedIndex == 0) { labels.Style.Orientation = LabelOrientation.Horizontal; } else if (cboLineOrientation.SelectedIndex == 1) { labels.Style.Orientation = LabelOrientation.Parallel; } else if (cboLineOrientation.SelectedIndex == 2) { labels.Style.Orientation = LabelOrientation.Perpindicular; } }
private void UpdatePositioningForPolyFeatures(ILabelsLayer labels) { if (optPosition1.Checked) { labels.Positioning = (LabelPosition)optPosition1.Tag; } else if (optPosition2.Checked) { labels.Positioning = (LabelPosition)optPosition2.Tag; } else if (optPosition3.Checked) { labels.Positioning = (LabelPosition)optPosition3.Tag; } else if (optPosition4.Checked) { labels.Positioning = (LabelPosition)optPosition4.Tag; } }
private void InitPositioningForPolygonFeatures(ILabelsLayer labels) { optPosition1.Text = "Center"; optPosition2.Text = "Centroid"; optPosition3.Text = "Interior point"; optPosition1.Tag = LabelPosition.Center; optPosition2.Tag = LabelPosition.Centroid; optPosition3.Tag = LabelPosition.InteriorPoint; optPosition1.Visible = true; optPosition2.Visible = true; optPosition3.Visible = true; optPosition4.Visible = false; optPosition1.Checked = (labels.Positioning == LabelPosition.Center || labels.Positioning == LabelPosition.None); optPosition2.Checked = labels.Positioning == LabelPosition.Centroid; optPosition3.Checked = labels.Positioning == LabelPosition.InteriorPoint; groupBoxPositioning.Visible = true; }
private void RestoreFields(ILabelsLayer labels) { string name = GetLabelField(labels); if (string.IsNullOrWhiteSpace(name)) { cboField.SelectedIndex = !string.IsNullOrWhiteSpace(labels.Expression) ? cboField.Items.Count - 1 : 0; } else { SetFieldValue(cboField, name); } if (_featureSet != null) { SetFieldValue(cboSortField, _featureSet.SortField); chkSortAscending.Checked = _featureSet.SortAscending; } chkLogScaleForSize.Checked = labels.LogScaleForSize; chkUseVariableSize.Checked = labels.UseVariableSize; }
private void UpdatePositioningForPolygonFeatures(ILabelsLayer labels) { UpdatePositioningForPolyFeatures(labels); }
private void InitPositioningForPointFeatures(ILabelsLayer labels) { labels.Positioning = LabelPosition.Center; }