Esempio n. 1
0
        /// <summary>Handle double clicks on cells</summary>
        private void CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            var grid = (DataGridView)sender;

            if (e.RowIndex < 0 || e.RowIndex >= Pattern.Subs.Count)
            {
                return;
            }
            if (e.ColumnIndex < 0 || e.ColumnIndex >= grid.ColumnCount)
            {
                return;
            }
            var cap = m_caps[e.RowIndex];

            ITransformSubstitution sub = Pattern.Subs.TryGetValue(cap.Key, out sub) ? sub : null;

            switch (grid.Columns[e.ColumnIndex].Name)
            {
            default: return;

            case ColumnNames.Tag:
                if (sub != null)
                {
                    m_edit_replace.SelectedText = "{" + cap.Key + "}";
                }
                break;
            }
        }
Esempio n. 2
0
        /// <summary>Handle cell values changed</summary>
        private void CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
        {
            var grid = (DataGridView)sender;

            if (e.RowIndex < 0 || e.RowIndex >= m_caps.Count)
            {
                return;
            }
            var col = grid.Columns[e.ColumnIndex];
            var cap = m_caps[e.RowIndex];

            ITransformSubstitution sub_cur = Pattern.Subs.TryGetValue(cap.Key, out sub_cur) ? sub_cur : null;

            switch (col.Name)
            {
            case ColumnNames.Type:
            {
                var cur     = (TransSubWrapper)((BindingSource)((DataGridViewComboBoxColumn)col).DataSource).Current;
                var sub_new = cur != null ? cur.Sub : null;
                if (sub_new != null && (sub_cur == null || !sub_new.Guid.Equals(sub_cur.Guid)))
                {
                    Pattern.Subs[cap.Key] = (ITransformSubstitution)Activator.CreateInstance(sub_new.GetType());
                    grid.Invalidate();
                }
            }
            break;
            }
            UpdateUI();
        }
Esempio n. 3
0
        /// <summary>Handle clicks on cells</summary>
        private void CellClick(object sender, DataGridViewCellEventArgs e)
        {
            var grid = (DataGridView)sender;

            if (e.RowIndex < 0 || e.RowIndex >= Pattern.Subs.Count)
            {
                return;
            }
            if (e.ColumnIndex < 0 || e.ColumnIndex >= grid.ColumnCount)
            {
                return;
            }
            var cap = m_caps[e.RowIndex];

            ITransformSubstitution sub = Pattern.Subs.TryGetValue(cap.Key, out sub) ? sub : null;

            switch (grid.Columns[e.ColumnIndex].Name)
            {
            default: return;

            case ColumnNames.Cfg:
                if (sub != null)
                {
                    sub.ShowConfigUI(ParentForm);
                }
                UpdateUI();
                break;
            }
        }
Esempio n. 4
0
        /// <summary>Get the cell value from the transform</summary>
        private void CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            e.Value = string.Empty;
            var grid = (DataGridView)sender;

            if (e.RowIndex < 0 || e.RowIndex >= m_caps.Count)
            {
                return;
            }
            var col = grid.Columns[e.ColumnIndex];
            var cap = m_caps[e.RowIndex];

            ITransformSubstitution sub = Pattern.Subs.TryGetValue(cap.Key, out sub) ? sub : null;

            switch (col.Name)
            {
            default:
                Debug.Assert(false, "Unknown column name");
                break;

            case ColumnNames.Tag:
                e.Value = cap.Key;
                break;

            case ColumnNames.Value:
                e.Value = cap.Value;
                break;

            case ColumnNames.Type:
                if (sub != null)
                {
                    var subs = ((BindingSource)((DataGridViewComboBoxColumn)col).DataSource).List.Cast <TransSubWrapper>();
                    e.Value = subs.FirstOrDefault(x => x.Sub.Guid == sub.Guid);
                    grid[e.ColumnIndex, e.RowIndex].ToolTipText = sub.ConfigSummary;
                }
                else
                {
                    e.Value = null;
                    grid[e.ColumnIndex, e.RowIndex].ToolTipText = null;
                }
                break;

            case ColumnNames.Cfg:
                e.Value = sub != null && sub.Configurable ? Resources.pencil : NullImage;
                break;
            }
        }
Esempio n. 5
0
 public TransSubWrapper(ITransformSubstitution sub)
 {
     Sub = sub;
 }