示例#1
0
        public override void Bind(IEditorService service)
        {
            _service = service;

            var lp = service.GetEditedResource() as ILoadProcedure;

            Debug.Assert(lp != null);

            service.RegisterCustomNotifier(this);

            var sdflp = lp.SubType as ISdfLoadProcedure;

            TextBoxBinder.BindText(txtCoordinateSystem, sdflp, "CoordinateSystem");
            NumericBinder.BindValueChanged(numGeneralizePercentage, sdflp, "Generalization");
            cmbSdfConflictStrategy.DataSource = Enum.GetValues(typeof(SdfKeyTreatmentType));
            ComboBoxBinder.BindSelectedIndexChanged(cmbSdfConflictStrategy, "SelectedItem", sdflp, "SdfKeyTreatment");
        }
示例#2
0
        public ExtendedClassSettings(IFeatureSource fs, IEnumerable <string> qualifiedClassNames, IFeatureSourceExtension ext)
            : this()
        {
            _fs  = fs;
            _ext = ext;
            var names = new List <string>(qualifiedClassNames);

            cmbBaseClass.DataSource = names;
            ext.PropertyChanged    += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnExtensionPropertyChanged, (eh) => ext.PropertyChanged -= eh);

            //HACK
            if (string.IsNullOrEmpty(_ext.FeatureClass))
            {
                _ext.FeatureClass = names[0];
            }

            ComboBoxBinder.BindSelectedIndexChanged(cmbBaseClass, nameof(cmbBaseClass.SelectedItem), ext, nameof(ext.FeatureClass));
        }
示例#3
0
        internal void Bind(ISearchCommand searchCommandType, IEditorService service)
        {
            cmbTargetFrame.DataSource = Enum.GetValues(typeof(TargetType));
            _init = true;
            Bind(service);
            _cmd = searchCommandType;

            _wl = (IWebLayout)_edsvc.GetEditedResource();
            var wlMap = _wl.Map;

            wlMap.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebMapLayoutPropertyChanged, (eh) => wlMap.PropertyChanged -= eh);

            LoadLayers();

            if (!string.IsNullOrEmpty(_cmd.Layer))
            {
                foreach (var lyr in _layers)
                {
                    if (lyr.Name == _cmd.Layer)
                    {
                        txtLayer.Text = _cmd.Layer;
                        txtLayer.Tag  = lyr.ResourceId;
                    }
                }
            }

            TextBoxBinder.BindText(txtFrame, _cmd, nameof(_cmd.TargetFrame));
            ComboBoxBinder.BindSelectedIndexChanged(cmbTargetFrame, nameof(cmbTargetFrame.SelectedItem), _cmd, nameof(_cmd.Target));
            TextBoxBinder.BindText(txtLayer, _cmd, nameof(_cmd.Layer));
            TextBoxBinder.BindText(txtFilter, _cmd, nameof(_cmd.Filter));
            TextBoxBinder.BindText(txtPrompt, _cmd, nameof(_cmd.Prompt));

            NumericBinder.BindValueChanged(numLimit, _cmd, nameof(_cmd.MatchLimit));

            UpdateColumns();
            foreach (var col in _cmd.ResultColumns.Column)
            {
                _columns.Add(col);
            }
            grdOutputColumns.DataSource = _columns;
            _columns.AddingNew         += OnAddingNewColumn;
            _columns.ListChanged       += OnColumnsChanged;
        }
        internal void Bind(IInvokeUrlCommand invokeUrlCommandType, IEditorService service)
        {
            cmbTargetFrame.DataSource = Enum.GetValues(typeof(TargetType));
            Bind(service);
            service.RegisterCustomNotifier(this);

            TextBoxBinder.BindText(txtUrl, invokeUrlCommandType, nameof(invokeUrlCommandType.URL));
            TextBoxBinder.BindText(txtFrame, invokeUrlCommandType, nameof(invokeUrlCommandType.TargetFrame));
            ComboBoxBinder.BindSelectedIndexChanged(cmbTargetFrame, nameof(cmbTargetFrame.SelectedItem), invokeUrlCommandType, nameof(invokeUrlCommandType.Target));
            CheckBoxBinder.BindChecked(chkDisableIfEmpty, invokeUrlCommandType, nameof(invokeUrlCommandType.DisableIfSelectionEmpty));

            foreach (var p in invokeUrlCommandType.AdditionalParameter)
            {
                _params.Add(p);
            }
            grdParameters.DataSource = _params;
            _params.ListChanged     += OnParamsListChanged;
            _params.AddingNew       += OnAddingNew;
            lstLayers.DataSource     = invokeUrlCommandType.LayerSet.Layer;

            invokeUrlCommandType.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnCommandPropertyChanged, (eh) => invokeUrlCommandType.PropertyChanged -= eh);
            _cmd = invokeUrlCommandType;
        }
示例#5
0
        public override void Bind(IEditorService service)
        {
            _edsvc = service;
            _edsvc.RegisterCustomNotifier(this);
            _edsvc.Saved += OnSaved;

            _wl = (IWebLayout)_edsvc.GetEditedResource();
            GeneratePreviewUrl();

            _view = _wl.Map.InitialView;
            if (_view == null)
            {
                _view = _wl.CreateDefaultView();
                chkCustomView.Checked = false;
            }
            else
            {
                chkCustomView.Checked = true;
            }
            CheckInitialView();

            var wl2 = _wl as IWebLayout2;

            if (wl2 != null)
            {
                CheckBoxBinder.BindChecked(chkPingServer, wl2, nameof(wl2.EnablePingServer));
            }
            else
            {
                chkPingServer.Visible = false;
            }

            TextBoxBinder.BindText(numX, _view, nameof(_view.CenterX));
            TextBoxBinder.BindText(numY, _view, nameof(_view.CenterY));
            TextBoxBinder.BindText(numScale, _view, nameof(_view.Scale));

            TextBoxBinder.BindText(txtBrowserTitle, _wl, nameof(_wl.Title));
            TextBoxBinder.BindText(txtMapDefinition, _wl.Map, nameof(_wl.Map.ResourceId));
            TextBoxBinder.BindText(txtInitialTaskPaneUrl, _wl.TaskPane, nameof(_wl.TaskPane.InitialTask));

            CheckBoxBinder.BindChecked(chkContextMenu, _wl.ContextMenu, nameof(_wl.ContextMenu.Visible));
            CheckBoxBinder.BindChecked(chkLegend, _wl.InformationPane, nameof(_wl.InformationPane.LegendVisible));
            CheckBoxBinder.BindChecked(chkProperties, _wl.InformationPane, nameof(_wl.InformationPane.PropertiesVisible));
            CheckBoxBinder.BindChecked(chkStatusBar, _wl.StatusBar, nameof(_wl.StatusBar.Visible));

            CheckBoxBinder.BindChecked(chkTaskPane, _wl.TaskPane, nameof(_wl.TaskPane.Visible));
            CheckBoxBinder.BindChecked(chkTaskBar, _wl.TaskPane.TaskBar, nameof(_wl.TaskPane.TaskBar.Visible));
            CheckBoxBinder.BindChecked(chkToolbar, _wl.ToolBar, nameof(_wl.ToolBar.Visible));
            CheckBoxBinder.BindChecked(chkZoomControl, _wl.ZoomControl, nameof(_wl.ZoomControl.Visible));

            ComboBoxBinder.BindSelectedIndexChanged(cmbHyperlinkTarget, nameof(cmbHyperlinkTarget.SelectedItem), _wl.Map, nameof(_wl.Map.HyperlinkTarget));
            TextBoxBinder.BindText(txtHyperlinkFrame, _wl.Map, nameof(_wl.Map.HyperlinkTargetFrame));

            TextBoxBinder.BindText(numInfoPaneWidth, _wl.InformationPane, nameof(_wl.InformationPane.Width));
            TextBoxBinder.BindText(numTaskPaneWidth, _wl.TaskPane, nameof(_wl.TaskPane.Width));

            _wl.PropertyChanged   += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => _wl.PropertyChanged -= eh);
            _view.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => _view.PropertyChanged -= eh);
            var wlMap = _wl.Map;

            wlMap.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => wlMap.PropertyChanged -= eh);
            var ctx = _wl.ContextMenu;

            ctx.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => ctx.PropertyChanged -= eh);
            var info = _wl.InformationPane;

            info.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => info.PropertyChanged -= eh);
            var stat = _wl.StatusBar;

            stat.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => stat.PropertyChanged -= eh);
            var tpane = _wl.TaskPane;

            tpane.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => tpane.PropertyChanged -= eh);
            var tbar = tpane.TaskBar;

            tbar.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => tbar.PropertyChanged -= eh);
            var toolbar = _wl.ToolBar;

            toolbar.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => toolbar.PropertyChanged -= eh);
            var zoom = _wl.ZoomControl;

            zoom.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnWebLayoutPropertyChanged, (eh) => zoom.PropertyChanged -= eh);
        }
        public void Bind(IEditorService service)
        {
            _service = service;
            _service.RegisterCustomNotifier(this);

            var lyr = service.GetEditedResource() as ILayerDefinition;

            Debug.Assert(lyr != null);

            _dlayer = lyr.SubLayer as IDrawingLayerDefinition;
            Debug.Assert(_dlayer != null);

            TextBoxBinder.BindText(txtDrawingSource, _dlayer, nameof(_dlayer.ResourceId));
            cmbSheet.DisplayMember = "Title"; //NOXLATE
            cmbSheet.ValueMember   = "Name";  //NOXLATE
            cmbSheet.DataSource    = _sheets;
            PopulateSheets();
            cmbSheet_SelectedIndexChanged(this, EventArgs.Empty);
            ComboBoxBinder.BindSelectedIndexChanged(cmbSheet, nameof(cmbSheet.SelectedValue), _dlayer, nameof(_dlayer.Sheet));

            var minBinding = new Binding(nameof(txtMinScale.Text), _dlayer, nameof(_dlayer.MinScale));
            var maxBinding = new Binding(nameof(txtMaxScale.Text), _dlayer, nameof(_dlayer.MaxScale));

            minBinding.Format += (sender, ce) =>
            {
                if (ce.DesiredType != typeof(string))
                {
                    return;
                }

                ce.Value = Convert.ToDouble(ce.Value);
            };
            minBinding.Parse += (sender, ce) =>
            {
                if (ce.DesiredType != typeof(double))
                {
                    return;
                }
                double val;
                if (!double.TryParse(ce.Value.ToString(), out val))
                {
                    return;
                }

                ce.Value = val;
            };
            maxBinding.Format += (sender, ce) =>
            {
                if (ce.DesiredType != typeof(string))
                {
                    return;
                }

                ce.Value = Convert.ToDouble(ce.Value);
            };
            maxBinding.Parse += (sender, ce) =>
            {
                if (ce.DesiredType != typeof(double))
                {
                    return;
                }
                double val;
                if (!double.TryParse(ce.Value.ToString(), out val))
                {
                    return;
                }

                ce.Value = val;
            };

            TextBoxBinder.BindText(txtMinScale, minBinding);
            TextBoxBinder.BindText(txtMaxScale, maxBinding);

            //This is not the root object so no change listeners have been subscribed
            _dlayer.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnDrawingLayerPropertyChanged, (eh) => _dlayer.PropertyChanged -= eh);
        }