/// <summary> /// Update the preview according to the current Editor state. /// In case of the preview a temporary object will only be updated. /// </summary> private void UpdatePreview() { labelObj style = mapControl.Target; if (style != null) { Update(style); if (style.getTextString() == null || style.getTextString() == "") { style.setText("Sample Text"); } style.setExpression(""); mapControl.RefreshView(); } }
/// <summary> /// Update the label object according to the current Editor state. /// </summary> /// <param name="label">The object to be updated.</param> private void Update(labelObj label) { label.anglemode = (MS_POSITIONS_ENUM)comboBoxAngleMode.SelectedItem; label.autominfeaturesize = checkBoxAutoMinFeatureSize.Checked ? mapscript.MS_TRUE : mapscript.MS_FALSE; label.partials = checkBoxPartials.Checked ? mapscript.MS_TRUE : mapscript.MS_FALSE; label.force = checkBoxForce.Checked ? mapscript.MS_TRUE : mapscript.MS_FALSE; label.setExpression(this.textBoxExpression.Text); label.setText(this.textBoxText.Text); colorPickerColor.ApplyTo(label.color); colorPickerOutlineColor.ApplyTo(label.outlinecolor); colorPickerShadowColor.ApplyTo(label.shadowcolor); label.size = int.Parse(textBoxSize.Text); label.minsize = int.Parse(textBoxMinSize.Text); label.maxsize = int.Parse(textBoxMaxSize.Text); label.mindistance = int.Parse(textBoxMinDistance.Text); label.offsetx = int.Parse(textBoxOffsetX.Text); label.offsety = int.Parse(textBoxOffsetY.Text); if (textBoxWrap.Text == "") { label.wrap = '\0'; } else { label.wrap = Convert.ToChar(textBoxWrap.Text); } label.shadowsizex = int.Parse(textBoxShadowSizeX.Text); label.shadowsizey = int.Parse(textBoxShadowSizeY.Text); if (textBoxEncoding.Text == "") { label.encoding = null; } else { label.encoding = textBoxEncoding.Text; } label.angle = double.Parse(textBoxAngle.Text); label.position = (int)comboBoxPosition.SelectedItem; label.align = (int)comboBoxAlign.SelectedItem; if ((string)(comboBoxFont.SelectedItem) == "(none)") { label.font = null; } else { label.font = (string)(comboBoxFont.SelectedItem); } label.priority = int.Parse(textBoxPriority.Text); if (textBoxMaxScale.Text == "") { label.maxscaledenom = -1; } else { label.maxscaledenom = double.Parse(textBoxMaxScale.Text); } if (textBoxMinScale.Text == "") { label.minscaledenom = -1; } else { label.minscaledenom = double.Parse(textBoxMinScale.Text); } label.maxlength = int.Parse(textBoxMaxLength.Text); label.minfeaturesize = int.Parse(textBoxMinFeatureSize.Text); label.buffer = int.Parse(textBoxBuffer.Text); label.repeatdistance = int.Parse(textBoxRepeatDistance.Text); if (isStyleChanged) { // reconstruct styles while (label.numstyles > 0) { label.removeStyle(0); } // insert styles in reverse order for (int i = listViewStyles.Items.Count - 1; i >= 0; --i) { ListViewItem item = listViewStyles.Items[i]; styleObj style = (styleObj)item.Tag; label.insertStyle(style.clone(), -1); } } }
/// <summary> /// Update the label object according to the current Editor state. /// </summary> /// <param name="label">The object to be updated.</param> private void Update(labelObj label) { label.anglemode = (int)comboBoxAngleMode.SelectedItem; label.autominfeaturesize = checkBoxAutoMinFeatureSize.Checked ? mapscript.MS_TRUE : mapscript.MS_FALSE; label.partials = checkBoxPartials.Checked ? mapscript.MS_TRUE : mapscript.MS_FALSE; label.force = checkBoxForce.Checked ? mapscript.MS_TRUE : mapscript.MS_FALSE; label.setExpression(this.textBoxExpression.Text); label.setText(this.textBoxText.Text); colorPickerColor.ApplyTo(label.color); colorPickerOutlineColor.ApplyTo(label.outlinecolor); colorPickerShadowColor.ApplyTo(label.shadowcolor); label.type = MS_FONT_TYPE.MS_TRUETYPE; label.size = double.Parse(textBoxSize.Text); label.minsize = double.Parse(textBoxMinSize.Text); label.maxsize = double.Parse(textBoxMaxSize.Text); label.mindistance = int.Parse(textBoxMinDistance.Text); label.offsetx = int.Parse(textBoxOffsetX.Text); label.offsety = int.Parse(textBoxOffsetY.Text); if (textBoxWrap.Text == "") label.wrap = '\0'; else label.wrap = Convert.ToChar(textBoxWrap.Text); label.shadowsizex = int.Parse(textBoxShadowSizeX.Text); label.shadowsizey = int.Parse(textBoxShadowSizeY.Text); if (textBoxEncoding.Text == "") label.encoding = null; else label.encoding = textBoxEncoding.Text; label.angle = double.Parse(textBoxAngle.Text); label.position = (int)comboBoxPosition.SelectedItem; label.align = (int)comboBoxAlign.SelectedItem; if ((string)(comboBoxFont.SelectedItem) == "(none)") label.font = null; else label.font = (string)(comboBoxFont.SelectedItem); label.priority = int.Parse(textBoxPriority.Text); if (textBoxMaxScale.Text == "") label.maxscaledenom = -1; else label.maxscaledenom = double.Parse(textBoxMaxScale.Text); if (textBoxMinScale.Text == "") label.minscaledenom = -1; else label.minscaledenom = double.Parse(textBoxMinScale.Text); label.maxlength = int.Parse(textBoxMaxLength.Text); label.minfeaturesize = int.Parse(textBoxMinFeatureSize.Text); label.buffer = int.Parse(textBoxBuffer.Text); label.repeatdistance = int.Parse(textBoxRepeatDistance.Text); if (isStyleChanged) { // reconstruct styles while (label.numstyles > 0) label.removeStyle(0); // insert styles in reverse order for (int i = listViewStyles.Items.Count - 1; i >= 0; --i) { ListViewItem item = listViewStyles.Items[i]; styleObj style = (styleObj)item.Tag; label.insertStyle(style.clone(), -1); } } }