Beispiel #1
0
        /// <summary>
        /// Adds controls to command line page.
        /// </summary>
        private void PopulateCommandLinePage()
        {
            _cmdOptions = new StringParameterControl(true)
            {
                Caption = "Main options (read only)", Dock = DockStyle.Top, ReadOnly = true
            };
            var section = new ConfigPanelControl {
                HeaderText = "Command line options", Dock = DockStyle.Top
            };

            section.ShowCaptionOnly();

            var panel = _tabCmdLine.GetPanel();

            GenerateOptionsControl();

            panel.Controls.Add(_cmdOptions);
            panel.Controls.Add(section);

            panel.AddVerticalPadding();
        }
Beispiel #2
0
        /// <summary>
        /// Creates a control for the parameter.
        /// </summary>
        /// <exception cref="System.ArgumentNullException">parameter</exception>
        /// <exception cref="System.ApplicationException">Failed to created control for parameter:  + parameter.DisplayName</exception>
        public ParameterControlBase CreateControl(BaseParameter parameter, bool batchMode = false)
        {
            if (parameter == null)
            {
                throw new ArgumentNullException("parameter");
            }

            ParameterControlBase control = null;

            if (parameter is FieldOperationParameter)
            {
                control = new FieldOperationParameterControl();
            }
            else if (parameter is OutputNameParameter)
            {
                control = new OutputNameParameterControl(batchMode);
            }
            else if (parameter is GeoProjectionParameter)
            {
                control = _context.Container.GetInstance <ProjectionParameterControl>();
            }
            else if (parameter is MultiFilenameParameter)
            {
                var p = parameter as MultiFilenameParameter;
                control = CreateInputControl(true, p.DataType, true);

                var bfpc = control as BatchFilenameParameterControl;
                if (bfpc != null)
                {
                    bfpc.MultiFile = true;
                }
            }
            else if (parameter is FilenameParameter)
            {
                var p = parameter as FilenameParameter;
                control = CreateInputControl(batchMode, p.DataType, true);
            }
            else if (parameter is FieldParameter)
            {
                control = new FieldParameterControl();
            }
            else if (parameter is DistanceParameter)
            {
                control = new DistanceParameterControl();
            }
            else if (parameter is DoubleParameter)
            {
                control = new DoubleParameterControl();
            }
            else if (parameter is StringParameter)
            {
                bool multiLine = (parameter as StringParameter).MultiLine;
                control = new StringParameterControl(multiLine);
            }
            else if (parameter is BooleanParameter)
            {
                control = new BooleanParameterControl();
            }
            else if (parameter is IntegerParameter)
            {
                control = new IntegerParameterControl();
            }
            else if (parameter is OutputLayerParameter)
            {
                var op = parameter as OutputLayerParameter;
                control = CreateOutputControl(batchMode, op.LayerType, op.SupportInMemory);
            }
            else if (parameter is OptionsParameter)
            {
                control = new ComboParameterControl();
            }
            else if (parameter is LayerParameterBase)
            {
                var lp = parameter as LayerParameterBase;
                control = CreateInputControl(batchMode, lp.DataSourceType, false);
            }

            if (control == null)
            {
                throw new ApplicationException("Failed to created control for parameter: " + parameter.DisplayName);
            }

            if (parameter.ControlHint != null && parameter.ControlHint.ControlHeight != 0)
            {
                control.Height = parameter.ControlHint.ControlHeight;
            }

            control.ParameterName = parameter.Name;

            return(control);
        }