private void menuInsertChart_Click(object sender, EventArgs e) { HitLocation hl = _DrawPanel.HitContainer(_MousePosition, PointsX(_hScroll.Value), PointsY(_vScroll.Value)); if (hl == null || hl.HitContainer == null) return; // Charts aren't allowed in PageHeader or PageFooter if (_DrawPanel.InPageHeaderOrFooter(hl.HitContainer)) { MessageBox.Show(Strings.DesignCtl_Show_ChartsInsert, Strings.DesignCtl_Show_Insert); return; } _Undo.StartUndoGroup(Strings.DesignCtl_Undo_InsertChart); DialogNewChart dnc = new DialogNewChart(this._DrawPanel, hl.HitContainer); try { DialogResult dr = dnc.ShowDialog(this); if (dr != DialogResult.OK) { _Undo.EndUndoGroup(false); return; } } finally { dnc.Dispose(); } XmlNode chart; if (hl.HitContainer.Name == "Table" || hl.HitContainer.Name == "fyi:Grid") { chart = _DrawPanel.ReplaceTableMatrixOrChart(hl, dnc.ChartXml); } else chart = _DrawPanel.PasteTableMatrixOrChart(hl.HitContainer, dnc.ChartXml, hl.HitRelative); if (chart == null) { _Undo.EndUndoGroup(false); return; } _Undo.EndUndoGroup(true); ReportChanged(this, new EventArgs()); SelectionChanged(this, new EventArgs()); ReportItemInserted(this, new EventArgs()); _DrawPanel.Invalidate(); // Now bring up the property dialog //List<XmlNode> ar = new List<XmlNode>(); //ar.Add(chart); //_Undo.StartUndoGroup("Dialog"); //PropertyDialog pd = new PropertyDialog(_DrawPanel, ar, PropertyTypeEnum.ReportItems); //dr = pd.ShowDialog(this); //if (pd.Changed || dr == DialogResult.OK) //{ // _Undo.EndUndoGroup(true); // ReportChanged(this, new EventArgs()); // _DrawPanel.Invalidate(); //} //else // _Undo.EndUndoGroup(false); SetFocus(); }
private void menuInsertChart_Click(object sender, EventArgs e) { HitLocation hl = _DrawPanel.HitContainer(_MousePosition, PointsX(_hScroll.Value), PointsY(_vScroll.Value)); if (hl == null || hl.HitContainer == null) return; // Charts aren't allowed in PageHeader or PageFooter if (_DrawPanel.InPageHeaderOrFooter(hl.HitContainer)) { MessageBox.Show("Charts can only be inserted in the body of the report.", "Insert"); return; } _Undo.StartUndoGroup("Insert Chart"); DialogNewChart dnc = new DialogNewChart(this._DrawPanel, hl.HitContainer); DialogResult dr = dnc.ShowDialog(this); if (dr != DialogResult.OK) { _Undo.EndUndoGroup(false); return; } XmlNode chart; if (hl.HitContainer.Name == "Table") { chart = _DrawPanel.ReplaceTableMatrixOrChart(hl, dnc.ChartXml); } else chart = _DrawPanel.PasteTableMatrixOrChart(hl.HitContainer, dnc.ChartXml, hl.HitRelative); if (chart == null) { _Undo.EndUndoGroup(false); return; } _Undo.EndUndoGroup(true); ReportChanged(this, new EventArgs()); SelectionChanged(this, new EventArgs()); ReportItemInserted(this, new EventArgs()); _DrawPanel.Invalidate(); // Now bring up the property dialog List<XmlNode> ar = new List<XmlNode>(); ar.Add(chart); _Undo.StartUndoGroup("Dialog"); PropertyDialog pd = new PropertyDialog(_DrawPanel, ar, PropertyTypeEnum.ReportItems); dr = pd.ShowDialog(this); if (pd.Changed || dr == DialogResult.OK) { _Undo.EndUndoGroup(true); ReportChanged(this, new EventArgs()); _DrawPanel.Invalidate(); } else _Undo.EndUndoGroup(false); SetFocus(); }