Exemplo n.º 1
0
        public void AddTable(NameWithSchema table, Point?pt)
        {
            if (m_diagram.FindTable(table) != null)
            {
                return;
            }
            DiagramTableItem item = new DiagramTableItem(m_diagram);

            if (pt == null)
            {
                item.MustBePlaced = true;
            }
            else
            {
                item.X = pt.Value.X;
                item.Y = pt.Value.Y;
            }
            try
            {
                m_denyDraw = true;
                m_conn.ClearCaches();
                item.Table = (TableStructure)m_conn.GetTable(table).InvokeLoadStructure(TableStructureMembers.AllNoRefs);
            }
            finally
            {
                m_denyDraw = false;
            }
            m_diagram.Tables.Add(item);
            m_modified = true;
            drawPanel.Invalidate();
            labDragAndDrop.Visible = m_diagram.Tables.Count == 0;
            Usage.AddSub("add_table", table.ToString());
        }
Exemplo n.º 2
0
        //public override string UsageEventName
        //{
        //    get { return "editdiagram"; }
        //}

        //private void toolStripButton1_Click_1(object sender, EventArgs e)
        //{
        //    if (btnStyleProps.Checked)
        //    {
        //        if (m_propsForm == null)
        //        {
        //            m_propsForm = new PropertiesToolForm();
        //            m_propsForm.SelectedObject = m_diagram.Style;
        //            m_propsForm.FormClosing += new FormClosingEventHandler(m_propsForm_FormClosing);
        //            m_propsForm.OnChanged += new EventHandler(m_propsForm_OnChanged);
        //        }
        //        m_propsForm.Show();
        //    }
        //    else
        //    {
        //        if (m_propsForm != null) m_propsForm.Hide();
        //    }
        //}

        //void m_propsForm_OnChanged(object sender, EventArgs e)
        //{
        //    drawPanel.Invalidate();
        //}

        //void m_propsForm_FormClosing(object sender, FormClosingEventArgs e)
        //{
        //    m_propsForm.Hide();
        //    e.Cancel = true;
        //    //btnStyleProps.Checked = false;
        //}

        private void cbxStyle_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (!m_created)
            {
                return;
            }
            SetStyle(CreateSelectedStyle());
            Usage.AddSub("change_diagram_style", XmlTool.GetRegisterType(m_diagram.Style));
        }
Exemplo n.º 3
0
        public void ExportAsImage()
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Filter      = "*.PNG|*.png|*.JPG|*.jpg|*.BMP|*.bmp";
            dlg.FilterIndex = 0;
            if (dlg.ShowDialogEx() == DialogResult.OK)
            {
                Bitmap bmp = new Bitmap(m_diagram.Size.Width, m_diagram.Size.Height);
                using (Graphics g = Graphics.FromImage(bmp))
                {
                    g.FillRectangle(Brushes.White, 0, 0, bmp.Width, bmp.Height);
                    m_diagram.Draw(g);
                }
                ImageFormat[] fmts = new ImageFormat[] { ImageFormat.Png, ImageFormat.Jpeg, ImageFormat.Bmp };
                bmp.Save(dlg.FileName, fmts[dlg.FilterIndex - 1]);
                Usage.AddSub("save_as_image", Path.GetExtension(dlg.FileName), m_diagram.Tables.Count.ToString());
            }
        }
Exemplo n.º 4
0
        private void btnSynchronize_Click(object sender, EventArgs e)
        {
            if (m_dstDb == null || m_diff == null)
            {
                return;
            }

            if (objectListTables.CheckedItems.Count == 0)
            {
                StdDialog.ShowInfo("s_no_synchronize_action_checked");
                return;
            }

            try
            {
                bool ok = false;
                if (m_dstDb.DatabaseCaps.ExecuteSql)
                {
                    // synchronize using SQL dumping
                    ok = RunActionAsSql(m_diff.Actions);
                }
                else
                {
                    // synchronize using data-sources alter/create/drop methods
                    if (MessageBox.Show(Texts.Get("s_really_change_destination_structure"), VersionInfo.ProgramTitle, MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        var plan = m_diff.Actions.GetPlanForThis(m_dstDb, true);
                        var opts = CreateDbDiffOptions();
                        m_dstDb.AlterDatabase(plan, opts);
                        ok = true;
                    }
                }
                if (ok)
                {
                    RefreshData(false, true);
                    Usage.AddSub("synchronize_ok", m_src.ToString(), m_dst.ToString());
                }
            }
            catch (Exception err)
            {
                Errors.Report(err);
            }
        }