예제 #1
0
        public override void Bind(IEditorService service)
        {
            cmbBgColor.ResetColors();
            service.RegisterCustomNotifier(this);
            _layout = (IPrintLayout)service.GetEditedResource();

            //ColorComboBox requires custom databinding
            cmbBgColor.CurrentColor          = _layout.PageProperties.BackgroundColor;
            cmbBgColor.SelectedIndexChanged += (sender, e) =>
            {
                _layout.PageProperties.BackgroundColor = cmbBgColor.CurrentColor;
            };
            _layout.LayoutProperties.PropertyChanged += (sender, e) =>
            {
                OnResourceChanged();
            };

            CheckBoxBinder.BindChecked(chkCustomLogos, _layout.LayoutProperties, "ShowCustomLogos");
            CheckBoxBinder.BindChecked(chkCustomText, _layout.LayoutProperties, "ShowCustomText");
            CheckBoxBinder.BindChecked(chkDateTime, _layout.LayoutProperties, "ShowDateTime");
            CheckBoxBinder.BindChecked(chkLegend, _layout.LayoutProperties, "ShowLegend");
            CheckBoxBinder.BindChecked(chkNorthArrow, _layout.LayoutProperties, "ShowNorthArrow");
            CheckBoxBinder.BindChecked(chkScaleBar, _layout.LayoutProperties, "ShowScaleBar");
            CheckBoxBinder.BindChecked(chkTitle, _layout.LayoutProperties, "ShowTitle");
            CheckBoxBinder.BindChecked(chkURL, _layout.LayoutProperties, "ShowURL");
        }
예제 #2
0
        protected bool IsChecked(string modelName)
        {
            var value = new CheckBoxBinder().BindModel(ControllerContext, new ModelBindingContext {
                FallbackToEmptyPrefix = true, ValueProvider = ValueProvider, ModelName = modelName
            }) as CheckBoxValue;

            return(value != null && value.IsChecked);
        }
        public override void Bind(IEditorService service)
        {
            _service = service;

            var lp = service.GetEditedResource() as ILoadProcedure;

            Debug.Assert(lp != null);

            service.RegisterCustomNotifier(this);

            var shplp = lp.SubType as IShpLoadProcedure;

            TextBoxBinder.BindText(txtCoordinateSystem, shplp, "CoordinateSystem");
            NumericBinder.BindValueChanged(numGeneralizePercentage, shplp, "Generalization");
            CheckBoxBinder.BindChecked(chkConvertToSdf, shplp, "ConvertToSdf");
        }
        public override void Bind(IEditorService service)
        {
            service.RegisterCustomNotifier(this);

            _service  = service;
            _loadProc = _service.GetEditedResource() as ILoadProcedure;
            _fProc    = _loadProc.SubType;

            TextBoxBinder.BindText(txtTargetRoot, _fProc, "RootPath");
            CheckBoxBinder.BindChecked(chkCreateFeatureSources, _fProc, "GenerateSpatialDataSources");
            CheckBoxBinder.BindChecked(chkCreateLayers, _fProc, "GenerateLayers");
            TextBoxBinder.BindText(txtFeatureSourceRoot, _fProc, "SpatialDataSourcesPath");
            TextBoxBinder.BindText(txtFeatureFolderName, _fProc, "SpatialDataSourcesFolder");
            TextBoxBinder.BindText(txtLayerRoot, _fProc, "LayersPath");
            TextBoxBinder.BindText(txtLayerFolderName, _fProc, "LayersFolder");

            _fProc.PropertyChanged += WeakEventHandler.Wrap <PropertyChangedEventHandler>(OnLoadProcedurePropertyChanged, (eh) => _fProc.PropertyChanged -= eh);
        }
        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;
        }
예제 #6
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);
        }