コード例 #1
0
ファイル: MainModel.cs プロジェクト: lesenpai/TPCourse
        public void AddNewTable()
        {
            var dialog      = new AddTableDialog();
            int tablesCount = TableDatas.Count;

            dialog.Init(this, _view, GetRandomTableName());

            dialog.ShowDialog();
            var result = dialog.Result;

            if (result.Success)
            {
                var tableForm = new TableForm();
                tableForm.Init(
                    result.Value,
                    _form.TableForm_FormClosed,
                    _form.TableForm_ModelChanged);
                tableForm.MdiParent = _form;

                TableDatas.Add(TableData.Get(tableForm));

                _view.AddTableButton(result.Value.Name);

                _form.IsFileSaved = false;

                tableForm.Show();
            }
        }
コード例 #2
0
ファイル: MainModel.cs プロジェクト: lesenpai/TPCourse
        /*
         *      Создание и открытие окна таблицы, TableData которой уже есть в MainModel
         */
        public void AddExistingTable(TableData tableData)
        {
            TableForm tableForm = new TableForm();

            tableForm.Init(
                tableData,
                _form.TableForm_FormClosed,
                _form.TableForm_ModelChanged);
            tableForm.MdiParent = _form;

            tableForm.Show();
        }
コード例 #3
0
        /*
         *      Обработка MouseUp по кнопку, ассоциируемой с таблицей (TableButton)
         */
        public void TableBtn_X_MouseUp(object sender, MouseEventArgs e)
        {
            var       button    = (Button)sender;
            TableForm tableForm = new TableForm();

            tableForm.Init(
                Model.TableDatas.Where(i => i.Descriptor.Name == button.Text).ElementAt(0),
                TableForm_FormClosed,
                TableForm_ModelChanged);

            switch (e.Button)
            {
            case MouseButtons.Left:
            {
                // если окно таблицы, с которой связяна эта кнопка, НЕ открыто
                if (!MdiChildren.Any(i => i.Text == button.Text))
                {
                    var tableData = TableData.Get(tableForm);
                    Model.AddExistingTable(tableData);
                }
                else
                {
                    Form mdiForm = MdiChildren.Where(i => i.Text == button.Text).ElementAt(0);
                    mdiForm.BringToFront();
                }

                break;
            }

            case MouseButtons.Right:
            {
                CtxMenuTableButtonName = button.Text;

                CtxMS_TableBtnX.Show(Cursor.Position);

                break;
            }
            }
        }