Example #1
0
        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;
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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;
        }
Example #5
0
        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;
            }
        }
Example #6
0
 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;
     }
 }
Example #7
0
        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;
        }
Example #8
0
        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;
        }
Example #9
0
 private void UpdatePositioningForPolygonFeatures(ILabelsLayer labels)
 {
     UpdatePositioningForPolyFeatures(labels);
 }
Example #10
0
 private void InitPositioningForPointFeatures(ILabelsLayer labels)
 {
     labels.Positioning = LabelPosition.Center;
 }