Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ListEditorForm"/> class.
        /// </summary>
        /// <param name="initValue">The init value.</param>
        /// <param name="propertyType">Type of the property.</param>
        /// <param name="context">The context.</param>
        /// <param name="readOnly">Cannot add/remove data</param>
        public ListEditorForm(
            [CanBeNull] IList initValue,
            [NotNull] Type propertyType,
            [NotNull] ITypeDescriptorContext context,
            bool readOnly)
        {
            InitializeComponent();

            var formStateManager = new FormStateManager <ListEditorFormState>(this);

            formStateManager.RestoreState();
            FormClosed += delegate { formStateManager.SaveState(); };

            // _initValue = initValue;
            PropertyType = propertyType;
            Context      = context;
            _readOnly    = readOnly;

            _propertyGrid.ToolbarVisible = false;

            var sourceTable = new DataTable();

            sourceTable.Columns.Add(_positionColumnName, typeof(int));
            sourceTable.Columns.Add(_itemColumnName, PropertyType);

            columnPosition.DataPropertyName = _positionColumnName;
            columnItem.DataPropertyName     = _itemColumnName;

            if (initValue != null)
            {
                for (var i = 0; i < initValue.Count; i++)
                {
                    sourceTable.Rows.Add(i + 1, initValue[i]);
                }
            }

            _sourceView = new DataView(sourceTable)
            {
                AllowDelete = false,
                AllowNew    = false,
                Sort        = _positionColumnName
            };

            _dataGridView.DataSource = _sourceView;
            _suspend = false;

            string displayName = Assert.NotNull(context.PropertyDescriptor).DisplayName;

            _attributeName = displayName.Trim('[').Trim(']');

            base.Text = $@"{_attributeName} Editor";

            _textBoxItem.Text        = _attributeName;
            _textBoxDescription.Text = context.PropertyDescriptor.Description;

            EnableButtons();
        }
Пример #2
0
        public WpfHostingWinForm([NotNull] UserControl wpfControl)
        {
            _wpfControl = wpfControl;

            InitializeComponent();

            string contextId = _wpfControl.GetType().Name;

            _formStateManager = new FormStateManager <FormState>(this, contextId);
            _formStateManager.RestoreState();
        }
Пример #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TypeFinderForm"/> class.
        /// </summary>
        /// <param name="allowMultiSelection">if set to <c>true</c> the form allows to select
        /// multiple types. Otherwise only one can be selected.</param>
        /// <param name="targetType">Type of the target.</param>
        public TypeFinderForm(bool allowMultiSelection, [CanBeNull] Type targetType)
        {
            InitializeComponent();

            string contextID = targetType == null
                                                   ? string.Empty
                                                   : targetType.FullName;

            _formStateManager = new FormStateManager <TypeFinderFormState>(this, contextID);
            _formStateManager.RestoreState();

            _dataGridView.AutoGenerateColumns = false;
            _dataGridView.MultiSelect         = allowMultiSelection;

            _buttonSelectAll.Visible  = allowMultiSelection;
            _buttonSelectNone.Visible = allowMultiSelection;

            new DataGridViewFindController(_dataGridView, _dataGridViewFindToolStrip);
        }
Пример #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="QAVerificationForm"/> class.
        /// </summary>
        /// <param name="domainTransactionManager">The domain transaction manager.</param>
        public QAVerificationForm(
            [NotNull] IDomainTransactionManager domainTransactionManager)
        {
            Assert.ArgumentNotNull(domainTransactionManager, nameof(domainTransactionManager));

            _domainTransactionManager = domainTransactionManager;

            InitializeComponent();

            ComboBox.ObjectCollection items = _toolStripComboBoxView.Items;
            _viewIndexGridConditions           = items.Add("Quality Conditions");
            _viewIndexGridDatasets             = items.Add("Verified Datasets");
            _viewIndexTreeLayers               = items.Add("Quality Conditions by Dataset");
            _viewIndexTreeHierarchic           = items.Add("Quality Conditions by Involved Datasets");
            _viewIndexTreeConditionsByCategory = items.Add(("Quality Conditions by Category"));

            _toolStripComboBoxView.SelectedIndex = _viewIndexGridConditions;

            _formStateManager = new FormStateManager <QAVerificationFormState>(this);
        }
Пример #5
0
        private FinderForm([NotNull] IEnumerable <ColumnDescriptor> columnDescriptors,
                           bool allowMultipleSelection              = false,
                           bool keepFindTextBetweenCalls            = true,
                           [CanBeNull] string filterSettingsContext = null)
        {
            Assert.ArgumentNotNull(columnDescriptors, nameof(columnDescriptors));

            InitializeComponent();

            KeepFindTextBetweenCalls = keepFindTextBetweenCalls;

            _toolStripStatusLabelMessage.Text = string.Empty;

            Type   type     = typeof(T);
            string typeName = Assert.NotNull(type.FullName,
                                             "type has no name: {0}", type);

            _formStateManager = new FormStateManager <FinderFormState>(this, typeName);

            _formStateManager.RestoreState();

            if (!StringUtils.IsNullOrEmptyOrBlank(filterSettingsContext))
            {
                _contextSettingsPersister = CreateContextSettingsPersister(typeName,
                                                                           filterSettingsContext);
                _restoredContextSpecificSettings = _contextSettingsPersister.Read();
            }

            _gridHandler = new BoundDataGridHandler <T>(
                _dataGridView,
                restoreSelectionAfterUserSort: true);
            _gridHandler.SelectionChanged += _gridHandler_SelectionChanged;

            // configure the datagrid
            _dataGridView.SuspendLayout();

            _dataGridView.MultiSelect = allowMultipleSelection;

            _gridHandler.AddColumns(columnDescriptors);

            _dataGridView.AutoGenerateColumns = false;

            _findController = new DataGridViewFindController(_dataGridView,
                                                             _dataGridViewFindToolStrip);
            _findController.FindResultChanged += _findController_FindResultChanged;

            if (allowMultipleSelection)
            {
                _toolStripButtonSelectFindResultRows =
                    new ToolStripButton(LocalizableStrings.FinderForm_SelectRows)
                {
                    Enabled      = false,
                    ImageScaling = ToolStripItemImageScaling.None,
                    Image        = Resources.SelectAll
                };

                _toolStripButtonSelectFindResultRows.Click +=
                    _toolStripButtonSelectFindResultRows_Click;

                _dataGridViewFindToolStrip.Items.Add(
                    _toolStripButtonSelectFindResultRows);
            }
        }