Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1238 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
78 changed files with 2303 additions and 1170 deletions
@ -0,0 +1,80 @@
@@ -0,0 +1,80 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Helmut |
||||
* Date: 03.03.2006 |
||||
* Time: 08:28 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Drawing; |
||||
using System.Windows.Forms; |
||||
namespace SharpReport.Designer |
||||
{ |
||||
/// <summary>
|
||||
/// Description of ControlHelper.
|
||||
/// </summary>
|
||||
public class ControlHelper{ |
||||
Control control; |
||||
|
||||
public ControlHelper(Control control){ |
||||
if (control == null) { |
||||
throw new ArgumentNullException("control"); |
||||
} |
||||
this.control = control; |
||||
} |
||||
|
||||
public Rectangle BuildFocusRectangle { |
||||
get { |
||||
return new Rectangle(this.control.ClientRectangle.Left, |
||||
this.control.ClientRectangle.Top, |
||||
this.control.ClientRectangle.Width -1, |
||||
this.control.ClientRectangle.Height -1); |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
public void DrawEdges (PaintEventArgs e) { |
||||
|
||||
int arc = 5; |
||||
Rectangle r = this.BuildFocusRectangle; |
||||
using (Pen p = new Pen (Color.Black)) { |
||||
|
||||
e.Graphics.DrawRectangle (p, |
||||
r); |
||||
} |
||||
|
||||
using (Pen pb = new Pen(this.control.BackColor)){ |
||||
//top
|
||||
|
||||
int leftLine = r.Left + arc; |
||||
int rightLine = r.Left + r.Width - arc; |
||||
int botLine = r.Top + r.Height; |
||||
//top
|
||||
e.Graphics.DrawLine (pb, |
||||
leftLine,r.Top, |
||||
rightLine, r.Top); |
||||
|
||||
//bottom
|
||||
e.Graphics.DrawLine (pb, |
||||
leftLine,botLine, |
||||
rightLine,botLine); |
||||
//left
|
||||
|
||||
int top = r.Top + arc; |
||||
int down = r.Top + r.Height - arc; |
||||
e.Graphics.DrawLine(pb, |
||||
r.Left,top, |
||||
r.Left,down); |
||||
//right
|
||||
e.Graphics.DrawLine(pb, |
||||
r.Left + r.Width,top, |
||||
r.Left + r.Width,down); |
||||
|
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,74 @@
@@ -0,0 +1,74 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Helmut |
||||
* Date: 01.03.2006 |
||||
* Time: 14:29 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Drawing; |
||||
using System.ComponentModel; |
||||
using System.Windows.Forms; |
||||
|
||||
using SharpReportCore; |
||||
|
||||
namespace SharpReport.Designer{ |
||||
|
||||
/// <summary>
|
||||
/// Description of ReportTableControl.
|
||||
/// </summary>
|
||||
|
||||
public class ReportRowControl:ReportControlBase{ |
||||
ControlHelper controlHelper; |
||||
|
||||
public ReportRowControl():base(){ |
||||
InitializeComponent(); |
||||
this.SetStyle(ControlStyles.DoubleBuffer | |
||||
ControlStyles.UserPaint | |
||||
ControlStyles.AllPaintingInWmPaint | |
||||
ControlStyles.ResizeRedraw, |
||||
true); |
||||
this.UpdateStyles(); |
||||
|
||||
this.Size = new Size((GlobalValues.PreferedSize.Width * 2) + 10, |
||||
GlobalValues.PreferedSize.Height + 10); |
||||
|
||||
controlHelper = new ControlHelper((Control)this); |
||||
} |
||||
#region overrides
|
||||
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e){ |
||||
base.OnPaint(e); |
||||
TextDrawer tx = new TextDrawer(); |
||||
|
||||
tx.DrawString(e.Graphics,this.Name, |
||||
this.Font, |
||||
new SolidBrush(this.ForeColor), |
||||
new Rectangle(1,0,e.ClipRectangle.Width,(int)this.Font.GetHeight(e.Graphics) + 2), |
||||
new StringFormat()); |
||||
} |
||||
|
||||
public override string ToString() { |
||||
return this.Name; |
||||
} |
||||
|
||||
#endregion
|
||||
|
||||
#region Windows Forms Designer generated code
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent() { |
||||
//
|
||||
// ReportRectangleControl
|
||||
//
|
||||
this.BackColor = System.Drawing.Color.White; |
||||
this.Name = "RowItem"; |
||||
this.Size = new System.Drawing.Size(72, 40); |
||||
} |
||||
#endregion
|
||||
} |
||||
} |
@ -0,0 +1,192 @@
@@ -0,0 +1,192 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Helmut |
||||
* Date: 01.03.2006 |
||||
* Time: 14:35 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.ComponentModel; |
||||
|
||||
using SharpReport.Designer; |
||||
using SharpReportCore; |
||||
|
||||
namespace SharpReport.ReportItems |
||||
{ |
||||
|
||||
/// <summary>
|
||||
/// Description of ReportTableItem.
|
||||
/// </summary>
|
||||
public class ReportRowItem : RowItem ,IDesignable{ |
||||
private ReportRowControl visualControl; |
||||
private bool initDone; |
||||
|
||||
#region Constructor
|
||||
public ReportRowItem():this (GlobalValues.UnboundName){ |
||||
} |
||||
|
||||
public ReportRowItem (string tableName):base(tableName) { |
||||
Setup(); |
||||
} |
||||
|
||||
#endregion
|
||||
|
||||
#region Setup
|
||||
private void Setup(){ |
||||
|
||||
visualControl = new ReportRowControl(); |
||||
|
||||
this.visualControl.Click += new EventHandler(OnControlSelect); |
||||
this.visualControl.VisualControlChanged += new EventHandler (OnControlChanged); |
||||
this.visualControl.FontChanged += new EventHandler (OnControlChanged); |
||||
this.visualControl.ForeColorChanged += new EventHandler (OnControlChanged); |
||||
|
||||
this.visualControl.BackColorChanged += new EventHandler (OnAppereanceChanged); |
||||
|
||||
base.PropertyChanged += new PropertyChangedEventHandler (BasePropertyChange); |
||||
|
||||
base.Items.Added += OnAdd; |
||||
base.Items.Removed += OnRemove; |
||||
ItemsHelper.UpdateControlFromTextBase (this.visualControl,this); |
||||
this.initDone = true; |
||||
} |
||||
#endregion
|
||||
|
||||
|
||||
#region Events for Childs
|
||||
private void ChildSelected(object sender, EventArgs e){ |
||||
if (Selected != null) |
||||
Selected(sender,e); |
||||
} |
||||
|
||||
private void OnChildControlChanged (object sender, EventArgs e) { |
||||
ItemsHelper.UpdateBaseFromTextControl (this.visualControl,this); |
||||
this.HandlePropertyChanged("OnChildControlChanged"); |
||||
} |
||||
|
||||
private void ChildPropertyChange (object sender, PropertyChangedEventArgs e){ |
||||
if (initDone == true) { |
||||
ItemsHelper.UpdateControlFromTextBase (this.visualControl,this); |
||||
} |
||||
} |
||||
|
||||
#endregion
|
||||
|
||||
private void UpdateChilds () { |
||||
foreach (BaseReportItem br in this.Items) { |
||||
br.BackColor = this.BackColor; |
||||
} |
||||
} |
||||
|
||||
#region EventHandling for this Class
|
||||
|
||||
private void OnAdd (object sender, CollectionItemEventArgs<IItemRenderer> e){ |
||||
IDesignable des = e.Item as IDesignable; |
||||
if (des != null) { |
||||
this.visualControl.Controls.Add (des.VisualControl); |
||||
des.Selected += ChildSelected; |
||||
des.PropertyChanged += ChildPropertyChange; |
||||
} |
||||
} |
||||
|
||||
private void OnRemove (object sender, CollectionItemEventArgs<IItemRenderer> e){ |
||||
|
||||
IDesignable des = e.Item as IDesignable; |
||||
if (des != null) { |
||||
this.visualControl.Controls.Remove(des.VisualControl); |
||||
des.Selected -= ChildSelected; |
||||
this.HandlePropertyChanged("OnChildControlRemoved"); |
||||
} |
||||
} |
||||
|
||||
|
||||
private void BasePropertyChange (object sender, PropertyChangedEventArgs e){ |
||||
if (initDone == true) { |
||||
ItemsHelper.UpdateControlFromTextBase (this.visualControl,this); |
||||
} |
||||
} |
||||
|
||||
|
||||
private void OnControlChanged (object sender, EventArgs e) { |
||||
ItemsHelper.UpdateBaseFromTextControl (this.visualControl,this); |
||||
this.HandlePropertyChanged("OnControlChanged"); |
||||
} |
||||
|
||||
private void OnAppereanceChanged (object sender, EventArgs e) { |
||||
ItemsHelper.UpdateBaseFromTextControl (this.visualControl,this); |
||||
UpdateChilds(); |
||||
this.HandlePropertyChanged("OnControlChanged"); |
||||
} |
||||
private void OnControlSelect(object sender, EventArgs e){ |
||||
if (Selected != null) |
||||
Selected(this,e); |
||||
} |
||||
|
||||
/// <summary>
|
||||
/// A Property in ReportItem has changed, inform the Designer
|
||||
/// to set the View's 'IsDirtyFlag' to true
|
||||
/// </summary>
|
||||
|
||||
protected void HandlePropertyChanged(string info) { |
||||
if ( !base.Suspend) { |
||||
if (PropertyChanged != null) { |
||||
PropertyChanged (this,new PropertyChangedEventArgs(info)); |
||||
} |
||||
} |
||||
|
||||
} |
||||
#endregion
|
||||
|
||||
#region IDesignable
|
||||
|
||||
[System.Xml.Serialization.XmlIgnoreAttribute] |
||||
[Browsable(false)] |
||||
public ReportObjectControlBase VisualControl { |
||||
get { |
||||
return visualControl; |
||||
} |
||||
} |
||||
|
||||
public new event PropertyChangedEventHandler PropertyChanged; |
||||
public event EventHandler <EventArgs> Selected; |
||||
#endregion
|
||||
|
||||
#region overrides
|
||||
|
||||
public override string ToString(){ |
||||
return this.Name; |
||||
} |
||||
|
||||
#endregion
|
||||
|
||||
/* |
||||
#region IDisposable
|
||||
public override void Dispose(){ |
||||
this.Dispose(true); |
||||
GC.SuppressFinalize(this); |
||||
} |
||||
|
||||
~ReportRowItem() |
||||
{ |
||||
Dispose(false); |
||||
} |
||||
|
||||
protected override void Dispose(bool disposing){ |
||||
try { |
||||
if (disposing) { |
||||
|
||||
} |
||||
} finally { |
||||
if (this.visualControl != null) { |
||||
this.visualControl.Dispose(); |
||||
this.visualControl = null; |
||||
} |
||||
base.Dispose(); |
||||
} |
||||
} |
||||
#endregion
|
||||
*/ |
||||
} |
||||
} |
@ -0,0 +1,170 @@
@@ -0,0 +1,170 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Peter |
||||
* Date: 03.03.2006 |
||||
* Time: 09:00 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Drawing; |
||||
using System.ComponentModel; |
||||
using System.Collections.Generic; |
||||
using System.Windows.Forms; |
||||
|
||||
namespace SharpReportCore{ |
||||
/// <summary>
|
||||
/// Description of BaseRowItem.
|
||||
/// </summary>
|
||||
|
||||
public class RowItem:BaseReportItem,IContainerItem{ |
||||
private string tableName; |
||||
|
||||
ReportItemCollection items; |
||||
Padding padding; |
||||
|
||||
public RowItem():this (String.Empty){ |
||||
} |
||||
|
||||
|
||||
public RowItem(string tableName){ |
||||
this.tableName = tableName; |
||||
this.Items.Added += OnAdded; |
||||
} |
||||
|
||||
void OnAdded (object sender, CollectionItemEventArgs<IItemRenderer> e){ |
||||
|
||||
System.Console.WriteLine(""); |
||||
System.Console.WriteLine("RowItem:OnAdded"); |
||||
} |
||||
|
||||
#region overrides
|
||||
private void Decorate (ReportPageEventArgs rpea,Rectangle border) { |
||||
using (SolidBrush brush = new SolidBrush(base.BackColor)) { |
||||
rpea.PrintPageEventArgs.Graphics.FillRectangle(brush,border); |
||||
} |
||||
if (base.DrawBorder == true) { |
||||
using (Pen pen = new Pen(Color.Black, 1)) { |
||||
rpea.PrintPageEventArgs.Graphics.DrawRectangle (pen,border); |
||||
} |
||||
} |
||||
} |
||||
|
||||
protected RectangleF PrepareRectangle (ReportPageEventArgs e) { |
||||
SizeF measureSize = new SizeF ((SizeF)this.Size); |
||||
RectangleF rect = base.DrawingRectangle (e,measureSize); |
||||
return rect; |
||||
} |
||||
|
||||
|
||||
public override void Render(ReportPageEventArgs rpea){ |
||||
System.Console.WriteLine("Render RowItem"); |
||||
if (rpea == null) { |
||||
throw new ArgumentNullException("rpea"); |
||||
} |
||||
|
||||
base.Render(rpea); |
||||
RectangleF rect = PrepareRectangle (rpea); |
||||
|
||||
Decorate (rpea,System.Drawing.Rectangle.Ceiling (rect)); |
||||
|
||||
foreach (BaseReportItem childItem in this.items) { |
||||
Point loc = new Point (childItem.Location.X,childItem.Location.Y); |
||||
|
||||
childItem.Location = new Point(this.Location.X + childItem.Location.X, |
||||
this.SectionOffset + this.Location.Y); |
||||
|
||||
|
||||
|
||||
childItem.Render (rpea); |
||||
childItem.Location = new Point(loc.X,loc.Y); |
||||
} |
||||
|
||||
base.NotiyfyAfterPrint (rpea.LocationAfterDraw); |
||||
} |
||||
|
||||
public override string ToString(){ |
||||
return "RowItem"; |
||||
} |
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region properties
|
||||
|
||||
public string TableName { |
||||
get { |
||||
|
||||
return tableName; |
||||
} |
||||
set { |
||||
tableName = value; |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region IContainerControl
|
||||
|
||||
public Padding Padding { |
||||
get { |
||||
return padding; |
||||
} |
||||
set { |
||||
padding = value; |
||||
} |
||||
} |
||||
|
||||
public bool IsValidChild(BaseReportItem childControl){ |
||||
// BaseDataItem bdi = childControl as BaseDataItem;
|
||||
BaseReportItem bdi = childControl as BaseDataItem; |
||||
if (bdi != null) { |
||||
return true; |
||||
} else { |
||||
return false; |
||||
} |
||||
} |
||||
|
||||
public ReportItemCollection Items{ |
||||
get { |
||||
if (this.items == null) { |
||||
this.items = new ReportItemCollection(); |
||||
} |
||||
return this.items; |
||||
} |
||||
} |
||||
#endregion
|
||||
/* |
||||
#region IDisposable
|
||||
public override void Dispose(){ |
||||
this.Dispose(true); |
||||
GC.SuppressFinalize(this); |
||||
} |
||||
|
||||
~RowItem() |
||||
{ |
||||
Dispose(false); |
||||
} |
||||
|
||||
protected override void Dispose(bool disposing){ |
||||
try { |
||||
if (disposing) { |
||||
// Free other state (managed objects).
|
||||
if (this.baseDataItemCollection != null) { |
||||
this.BaseDataItemCollection.Clear(); |
||||
this.baseDataItemCollection = null; |
||||
} |
||||
} |
||||
} finally { |
||||
base.Dispose(); |
||||
} |
||||
} |
||||
#endregion
|
||||
*/ |
||||
|
||||
} |
||||
} |
@ -0,0 +1,69 @@
@@ -0,0 +1,69 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Helmut |
||||
* Date: 23.03.2006 |
||||
* Time: 13:18 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.ComponentModel; |
||||
namespace SharpReportCore |
||||
{ |
||||
/// <summary>
|
||||
/// Description of DataNavigator.
|
||||
/// </summary>
|
||||
|
||||
public class DataNavigator{ |
||||
IDataViewStrategy store; |
||||
public event EventHandler <ListChangedEventArgs> ListChanged; |
||||
public DataNavigator(IDataViewStrategy store){ |
||||
this.store = store; |
||||
this.store.ListChanged += new EventHandler<ListChangedEventArgs> (OnListChanged); |
||||
} |
||||
|
||||
private void OnListChanged (object sender,System.ComponentModel.ListChangedEventArgs e) { |
||||
if (this.ListChanged != null) { |
||||
this.ListChanged (this,e); |
||||
} |
||||
} |
||||
|
||||
public void Fill (ReportItemCollection collection) { |
||||
foreach (IItemRenderer item in collection) { |
||||
this.store.Fill(item); |
||||
} |
||||
} |
||||
|
||||
/// <summary>
|
||||
/// Indicate's if the current <see cref="GroupSeperator"></see> has ChildRows
|
||||
/// </summary>
|
||||
public bool HasChilds { |
||||
get { |
||||
return this.store.HasChilds; |
||||
} |
||||
} |
||||
|
||||
public int CurrentRow { |
||||
get {return store.CurrentRow;} |
||||
} |
||||
|
||||
public int Count { |
||||
get {return store.Count;} |
||||
} |
||||
|
||||
public bool MoveNext () { |
||||
return this.store.MoveNext(); |
||||
} |
||||
|
||||
public void Reset() { |
||||
store.Reset(); |
||||
} |
||||
|
||||
public object Current { |
||||
get { |
||||
return store.Current; |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Helmut |
||||
* Date: 12.03.2006 |
||||
* Time: 22:46 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Runtime.Serialization; |
||||
/// <summary>
|
||||
/// Description of MissingSectionException.
|
||||
/// </summary>
|
||||
namespace SharpReportCore{ |
||||
|
||||
[Serializable()] |
||||
public class MissingSectionException: System.Exception |
||||
{ |
||||
|
||||
public MissingSectionException():base(){ |
||||
|
||||
} |
||||
public MissingSectionException(string errorMessage) :base (errorMessage){ |
||||
|
||||
} |
||||
public MissingSectionException(string errorMessage, |
||||
Exception exception):base (errorMessage,exception){ |
||||
|
||||
} |
||||
|
||||
protected MissingSectionException(SerializationInfo info, |
||||
StreamingContext context) : base(info, context){ |
||||
// Implement type-specific serialization constructor logic.
|
||||
} |
||||
} |
||||
} |
||||
|
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Helmut |
||||
* Date: 06.03.2006 |
||||
* Time: 09:45 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Windows.Forms; |
||||
using System.Collections.ObjectModel; |
||||
namespace SharpReportCore |
||||
{ |
||||
/// <summary>
|
||||
/// Description of IContainerControl.
|
||||
/// </summary>
|
||||
public interface IContainerItem{ |
||||
|
||||
bool IsValidChild (BaseReportItem childControl); |
||||
|
||||
Padding Padding |
||||
{get;set;} |
||||
|
||||
ReportItemCollection Items |
||||
{get;} |
||||
} |
||||
} |
@ -0,0 +1,121 @@
@@ -0,0 +1,121 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Forstmeier Peter |
||||
* Date: 23.03.2006 |
||||
* Time: 11:18 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using System; |
||||
using System.Drawing; |
||||
|
||||
namespace SharpReportCore{ |
||||
/// <summary>
|
||||
/// Description of AbstractDataRenderer.
|
||||
/// </summary>
|
||||
public class AbstractDataRenderer : AbstractRenderer{ |
||||
DataManager dataManager; |
||||
DataNavigator navigator; |
||||
public AbstractDataRenderer(ReportModel model,DataManager dataManager):base(model){ |
||||
if (dataManager == null) { |
||||
throw new ArgumentNullException("dataManager"); |
||||
} |
||||
this.dataManager = dataManager; |
||||
} |
||||
|
||||
protected override void ReportBegin(object sender, ReportPageEventArgs e) |
||||
{ |
||||
base.ReportBegin(sender, e); |
||||
} |
||||
|
||||
|
||||
|
||||
protected override void BeginPrintPage(object sender, ReportPageEventArgs e) |
||||
{ |
||||
base.BeginPrintPage(sender, e); |
||||
} |
||||
|
||||
|
||||
protected override int RenderSection(BaseSection section, ReportPageEventArgs rpea){ |
||||
|
||||
bool hasContainer = false; |
||||
IContainerItem container = null; |
||||
foreach (BaseReportItem item in section.Items) { |
||||
container = item as IContainerItem; |
||||
if (container != null) { |
||||
hasContainer = true; |
||||
break; |
||||
} |
||||
} |
||||
if (hasContainer) { |
||||
return DoContainerControl(section,container,rpea); |
||||
} else { |
||||
return base.RenderSection(section, rpea); |
||||
} |
||||
|
||||
} |
||||
|
||||
private int DoContainerControl (BaseSection section, |
||||
IContainerItem container, |
||||
ReportPageEventArgs rpea) { |
||||
|
||||
if (container == null) { |
||||
return section.Size.Height; |
||||
} |
||||
|
||||
this.DataNavigator.Fill(container.Items); |
||||
Point drawPoint = new Point(0,0); |
||||
if (section.Visible){ |
||||
section.Render (rpea); |
||||
|
||||
foreach (BaseReportItem item in section.Items) { |
||||
if (item.Parent == null) { |
||||
item.Parent = section; |
||||
} |
||||
item.SectionOffset = section.SectionOffset; |
||||
base.DrawSingleItem (rpea,item); |
||||
drawPoint.Y = section.SectionOffset + section.Size.Height; |
||||
rpea.LocationAfterDraw = new PointF (rpea.LocationAfterDraw.X,section.SectionOffset + section.Size.Height); |
||||
|
||||
} |
||||
if ((section.CanGrow == false)&& (section.CanShrink == false)) { |
||||
return section.Size.Height; |
||||
|
||||
} |
||||
|
||||
return drawPoint.Y; |
||||
} |
||||
return drawPoint.Y; |
||||
} |
||||
|
||||
#region Properties
|
||||
|
||||
protected DataManager DataManager { |
||||
get { |
||||
return dataManager; |
||||
} |
||||
} |
||||
|
||||
protected DataNavigator DataNavigator{ |
||||
get {return this.navigator;} |
||||
set {this.navigator = value;} |
||||
} |
||||
|
||||
#endregion
|
||||
|
||||
#region IDisposable
|
||||
public override void Dispose() |
||||
{ |
||||
if (this.dataManager != null) { |
||||
this.dataManager.Dispose(); |
||||
this.dataManager = null; |
||||
} |
||||
if (this.navigator != null) { |
||||
this.navigator= null; |
||||
} |
||||
base.Dispose(); |
||||
} |
||||
#endregion
|
||||
} |
||||
} |
Binary file not shown.
Loading…
Reference in new issue