123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 |
- using System;
- using System.Drawing;
- using System.Windows.Forms;
- using System.ComponentModel;
- using FastReport.Utils;
- using FastReport.Forms;
- namespace FastReport.Map.Forms
- {
- internal partial class MapEditorControl : UserControl
- {
- #region Fields
- private MapObject map;
- private bool updating;
- #endregion // Fields
- #region Properties
- public event EventHandler Changed;
- public MapObject Map
- {
- get { return map; }
- set
- {
- map = value;
- UpdateControls();
- }
- }
- #endregion // Properties
- #region Private Methods
- private void OnChange()
- {
- if (Changed != null)
- Changed(this, EventArgs.Empty);
- }
- private void UpdateControls()
- {
- updating = true;
- #region General tab
- cbMercator.Checked = Map.MercatorProjection;
- #endregion
- #region Color scale tab
- ColorScale cs = Map.ColorScale;
- cbVisible.Checked = cs.Visible;
- cbHideIfNoData.Checked = cs.HideIfNoData;
- UpdateDockButtons();
- tbTitleText.Text = cs.TitleText;
- tbTitleFont.Text = Converter.ToString(cs.TitleFont);
- cbxTitleColor.Color = cs.TitleColor;
- tbFont.Text = Converter.ToString(cs.Font);
- cbxTextColor.Color = cs.TextColor;
- cbxBorderColor.Color = cs.BorderColor;
- tbFormat.Text = cs.Format;
- tbNoDataText.Text = cs.NoDataText;
- #endregion
- updating = false;
- }
- private void UpdateDockButtons()
- {
- Button[] dockButtons = new Button[] { btnD1, btnD2, btnD3, btnD4, btnD5, btnD6, btnD7, btnD8 };
- int dock = (int)Map.ColorScale.Dock;
- for (int i = 0; i < dockButtons.Length; i++)
- {
- dockButtons[i].BackColor = dock == (int)dockButtons[i].Tag ? Color.Orange : SystemColors.ButtonFace;
- }
- }
- private void Init()
- {
- MyRes res = null;
- MyRes commonRes = new MyRes("Forms,MapEditor,Common");
- #region General tab
- res = new MyRes("Forms,MapEditor,MapEditorControl,General");
- pgGeneral.Text = res.Get("");
- cbMercator.Text = res.Get("Mercator");
- #endregion
- #region Color scale tab
- res = new MyRes("Forms,MapEditor,MapEditorControl,ColorScale");
- pgColorScale.Text = res.Get("");
- cbVisible.Text = commonRes.Get("Visible");
- cbHideIfNoData.Text = res.Get("HideIfNoData");
- tabGeneral.Text = res.Get("General");
- btnBorder.Text = res.Get("Border");
- btnFill.Text = res.Get("Fill");
- lblDock.Text = commonRes.Get("Dock");
- Button[] dockButtons = new Button[] { btnD1, btnD2, btnD3, btnD4, btnD5, btnD6, btnD7, btnD8 };
- for (int i = 0; i < dockButtons.Length; i++)
- {
- dockButtons[i].Tag = i;
- }
- tabTitle.Text = res.Get("Title");
- lblTitleText.Text = commonRes.Get("Text");
- lblTitleFont.Text = commonRes.Get("Font");
- lblTitleColor.Text = commonRes.Get("TextColor");
- tabValues.Text = res.Get("Values");
- lblFont.Text = commonRes.Get("Font");
- lblTextColor.Text = commonRes.Get("TextColor");
- lblBorderColor.Text = commonRes.Get("BorderColor");
- lblFormat.Text = commonRes.Get("Format");
- lblNoDataText.Text = res.Get("NoDataText");
- #endregion
- }
- public void UpdateDpiDependencies()
- {
- btnBorder.Image = this.GetImage(36);
- btnFill.Image = this.GetImage(38);
- tbTitleFont.Image = this.GetImage(59);
- tbFont.Image = this.GetImage(59);
- }
- #endregion // Private Methods
- #region Internal Methods
- internal void EnableMercatorProtection(bool enable)
- {
- cbMercator.Checked = false;
- cbMercator.Enabled = enable;
- }
- #endregion // Internal Methods
- #region General tab
- private void cbMercator_CheckedChanged(object sender, EventArgs e)
- {
- if (updating)
- return;
- Map.MercatorProjection = cbMercator.Checked;
- OnChange();
- }
- #endregion
- #region Color scale tab
- private void cbVisible_CheckedChanged(object sender, EventArgs e)
- {
- if (updating)
- return;
- Map.ColorScale.Visible = cbVisible.Checked;
- OnChange();
- }
- private void cbHideIfNoData_CheckedChanged(object sender, EventArgs e)
- {
- if (updating)
- return;
- Map.ColorScale.HideIfNoData = cbHideIfNoData.Checked;
- OnChange();
- }
- private void btnBorder_Click(object sender, EventArgs e)
- {
- using (BorderEditorForm form = new BorderEditorForm())
- {
- form.Border = Map.ColorScale.Border;
- if (form.ShowDialog() == DialogResult.OK)
- Map.ColorScale.Border = form.Border;
- }
- OnChange();
- }
- private void btnFill_Click(object sender, EventArgs e)
- {
- using (FillEditorForm form = new FillEditorForm())
- {
- form.Fill = Map.ColorScale.Fill;
- if (form.ShowDialog() == DialogResult.OK)
- Map.ColorScale.Fill = form.Fill;
- }
- OnChange();
- }
- private void btnD1_Click(object sender, EventArgs e)
- {
- int tag = (int)((sender as Button).Tag);
- Map.ColorScale.Dock = (ScaleDock)tag;
- UpdateDockButtons();
- OnChange();
- }
- private void tbTitleText_Leave(object sender, EventArgs e)
- {
- Map.ColorScale.TitleText = tbTitleText.Text;
- OnChange();
- }
- private void tbTitleFont_ButtonClick(object sender, EventArgs e)
- {
- using (FontDialog form = new FontDialog())
- {
- form.Font = Map.ColorScale.TitleFont;
- if (form.ShowDialog() == DialogResult.OK)
- {
- Map.ColorScale.TitleFont = form.Font;
- tbTitleFont.Text = Converter.ToString(form.Font);
- }
- }
- OnChange();
- }
- private void cbxTitleColor_ColorSelected(object sender, EventArgs e)
- {
- if (updating)
- return;
- Map.ColorScale.TitleColor = cbxTitleColor.Color;
- OnChange();
- }
- private void tbFont_ButtonClick(object sender, EventArgs e)
- {
- using (FontDialog form = new FontDialog())
- {
- form.Font = Map.ColorScale.Font;
- if (form.ShowDialog() == DialogResult.OK)
- {
- Map.ColorScale.Font = form.Font;
- tbFont.Text = Converter.ToString(form.Font);
- }
- }
- OnChange();
- }
- private void cbxTextColor_ColorSelected(object sender, EventArgs e)
- {
- if (updating)
- return;
- Map.ColorScale.TextColor = cbxTextColor.Color;
- OnChange();
- }
- private void cbxBorderColor_ColorSelected(object sender, EventArgs e)
- {
- if (updating)
- return;
- Map.ColorScale.BorderColor = cbxBorderColor.Color;
- OnChange();
- }
- private void tbFormat_Leave(object sender, EventArgs e)
- {
- Map.ColorScale.Format = tbFormat.Text;
- OnChange();
- }
- private void tbNoDataText_Leave(object sender, EventArgs e)
- {
- Map.ColorScale.NoDataText = tbNoDataText.Text;
- OnChange();
- }
- #endregion
- public MapEditorControl()
- {
- InitializeComponent();
- Init();
- }
- }
- }
|