This commit is contained in:
Jsj
2007-11-30 14:40:47 +00:00
parent 9d594d0470
commit 75590ecaed
3 changed files with 76 additions and 117 deletions

View File

@@ -31,7 +31,6 @@ namespace Volian.Controls.Library
//public delegate void vlnCSLARTBLinkEvent(object sender, vlnCSLARTBLinkEventArgs args);
public partial class DisplayItem : UserControl
{
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#region Events
//public event vlnCSLARTBLinkEvent LinkClicked;
//private void OnLinkClicked(object sender, vlnCSLARTBLinkEventArgs args)
@@ -129,13 +128,11 @@ namespace Volian.Controls.Library
{
case 0:
ItemLocation = new Point(_MyParent.ItemLocation.X + 20, _MyParent.Bottom);
if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("*0* Item {0} Parent {1}", ItemLocation, _MyParent.ItemLocation);
ItemWidth = _Panel.ToDisplay(_Layout.ColT) + _Panel.ToDisplay(_Layout.WidT);
break;
case 1:
//ItemWidth = _Panel.ToDisplay(_ColS) + _Panel.ToDisplay(_layout.WidSTableEdit, Convert.ToInt32(_layout.PMode)-1);
ItemLocation = new Point(_MyParent.ItemLocation.X + 20, _MyParent.Bottom);
if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("*1* Item {0} Parent {1}", ItemLocation, _MyParent.ItemLocation);
int borderWidth = _DisplayRTB.Width - _DisplayRTB.ClientRectangle.Width;
TextWidth = __WidthAdjust + borderWidth + _Panel.ToDisplay(_Layout.WidSTableEdit, Convert.ToInt32(_Layout.PMode) - 1);
break;
@@ -148,13 +145,11 @@ namespace Volian.Controls.Library
//ItemLocation = new Point(_MyParent.TextLeft, _MyParent.Bottom);
ItemLocation = new Point(50, _MyParent.Bottom);
ItemLocation = TableLocation(_MyParent, _Layout, ItemWidth);
if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("*2T* Item {0} Parent {1}", ItemLocation, _MyParent.ItemLocation);
}
else
{
ItemLocation = new Point(_MyParent.TextLeft, _MyParent.Bottom);
ItemWidth = _MyParent.TextWidth;
if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("*2* Item {0} Parent {1}", ItemLocation, _MyParent.ItemLocation);
}
break;
}
@@ -199,7 +194,7 @@ namespace Volian.Controls.Library
{
string line2 = Regex.Replace(line, @"\\.*? ", ""); // Remove RTF Commands
//if (line != line2)
// if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("'{0}' <> '{1}'", line, line2);
// Console.WriteLine("'{0}' <> '{1}'", line, line2);
SizeF siz = g.MeasureString(line2, fnt,pnt,StringFormat.GenericTypographic) ;
if (siz.Width+ _Panel.Settings.TableWidthAdjust > max) max = siz.Width + _Panel.Settings.TableWidthAdjust;
}
@@ -238,7 +233,7 @@ namespace Volian.Controls.Library
get { return Width - lblTab.Left; }
set
{
//if(_MyLog.IsDebugEnabled)_MyLog.Debug("ItemWidth");
//Console.Write("\r\nItemWidth");
Width = value + lblTab.Left;
}
}
@@ -247,7 +242,7 @@ namespace Volian.Controls.Library
get { return _DisplayRTB.Width; }
set
{
//if(_MyLog.IsDebugEnabled)_MyLog.Debug("TextWidth");
//Console.Write("\r\nTextWidth");
Width = value + lblTab.Left + lblTab.Width;
}
}
@@ -388,7 +383,7 @@ namespace Volian.Controls.Library
if ((Expanding != ExpandingStatus.No || Expanded) & _After != null) tmpa = _After[_After.Count - 1].BottomMost;
if (tmpr == null)
return tmpa;
//if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("Left {0}, Right {1}", tmpa.Bottom, tmpr.Bottom);
//Console.Write("\r\nLeft {0}, Right {1}", tmpa.Bottom, tmpr.Bottom);
if (tmpa.Bottom >= tmpr.Bottom)
return tmpa;
return tmpr;
@@ -481,6 +476,7 @@ namespace Volian.Controls.Library
_DisplayRTB.Top = 3;
this.Paint += new PaintEventHandler(vlnCSLARTB_Paint);
this.BackColorChanged += new EventHandler(vlnCSLARTB_BackColorChanged);
_DisplayRTB.Enter += new EventHandler(_DisplayRTB_Enter);
if (item != null)
{
_Type = (int)item.MyContent.Type;
@@ -504,7 +500,7 @@ namespace Volian.Controls.Library
}
if (expand) vlnExp.ShowExpanded();
_Panel = panel;
if(item != null)panel.ItemLookup.Add(item.ItemID, this);
panel.ItemLookup.Add(item.ItemID, this);
_Relation = relationType;
if(parent != null)RNOLevel = parent.RNOLevel;
//List<vlnCSLARTB> siblings;
@@ -562,20 +558,8 @@ namespace Volian.Controls.Library
{
Name = string.Format("Item-{0}", item.ItemID);
// Don't allow substeps to expand
switch (_Type / 10000)
{
case 1:
//CanExpand = (item.MyContent.ContentPartCount != 0);
CanExpand = true;
vlnExp.Attachment = (item.MyContent.ContentPartCount == 0);
break;
case 2:
CanExpand = TemporaryFormat.IsHigh(item); ;
break;
default:
CanExpand = false;
break;
}
CanExpand = (TemporaryFormat.IsHigh(item) || ((_Type >= 10000) && (_Type < 20000))) &&
(item.MyContent.ContentPartCount != 0);
//CanExpand = (item.MyContent.ContentPartCount != 0);
if(expand && (item.MyContent.ContentPartCount != 0)) // If it should expand and it can expand
Expand(true);
@@ -588,16 +572,16 @@ namespace Volian.Controls.Library
//BringToFront();
}
//// TIMING: vlnCSLARTB.TimeIt("CSLARTB before Controls Add");
if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("Item Location Before Control.Add = {0}", this.Location);
panel.Controls.Add(this);
if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("Item Location After Control.Add = {0}", this.Location);
// TODO: RHM - Bug in code positioning items
//if (Previous != null) Previous = Previous;
//if (MyParent != null) MyParent = MyParent;
_Loading = false;
//TabFormat = "<number> ";
//// TIMING: vlnCSLARTB.TimeIt("CSLARTB Controls Add");
}
void _DisplayRTB_Enter(object sender, EventArgs e)
{
_Panel._ItemSelected = _MyItem;
}
public void AutoExpand()
{
Expand(_Type >= 20000);
@@ -838,10 +822,6 @@ namespace Volian.Controls.Library
}
}
}
private void vlnExp_AttachmentClick(object sender, vlnExpanderEventArgs args)
{
_Panel.OnAttachmentClicked(sender, new DisplayPanelAttachmentEventArgs(this));
}
public void Expand(bool expand)
{
//// TIMING: vlnCSLARTB.TimeIt("Expand Start");
@@ -877,7 +857,7 @@ namespace Volian.Controls.Library
//if (args.Mode == vlnExpanderMode.ExpandAll)
// ExpandChildren(args);
//_Panel.ResumeLayout();
if (!vlnExp.Expanded)
if (!vlnExp.Expanded)
vlnExp.ShowExpanded();
}
Expanding = ExpandingStatus.Done;
@@ -920,7 +900,7 @@ namespace Volian.Controls.Library
get
{
//if (this.MyID == _WatchFor)
// if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("{0}", _WatchFor);
// Console.Write("\r\n {0}", _WatchFor);
DisplayItem tmp = this;
if (tmp.Next == null && FirstSibling._Relation == ChildRelation.Before)
return UpOne;
@@ -934,7 +914,7 @@ namespace Volian.Controls.Library
if (tmp.Expanding == ExpandingStatus.Expanding || tmp.Moving) // Parent Expanding or Moving - Wait
return null;
DisplayItem btm = tmp.BottomMost;
//if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("'BottomMost',{0},'{1}'", btm.MyID, btm.MyText);
//Console.Write("\r\n'BottomMost',{0},'{1}'", btm.MyID, btm.MyText);
if (this != btm)
{
if (tmp.Next != null && tmp.Next.TopMost.Top != btm.Bottom)
@@ -966,7 +946,7 @@ namespace Volian.Controls.Library
private void AdjustLocation()
{
//if (this.MyID == _WatchFor)
// if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("{0}",_WatchFor);
// Console.Write("\r\n {0}",_WatchFor);
DisplayItem tmp = NextItem;
if (tmp == null) return;
//if(tmp.Top > _Panel.Height && Bottom > _Panel.Height){
@@ -976,7 +956,7 @@ namespace Volian.Controls.Library
//}
if (tmp != null && !tmp.Moving && tmp.Top != Bottom )
{
//if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("'Adjust Location',{0},'Move',{1}", MyID, tmp.MyID);
//Console.Write("\r\n'Adjust Location',{0},'Move',{1}", MyID, tmp.MyID);
//tmp.TopMost.Top = Bottom;
_Panel.Scrolling++;
tmp.Top = Bottom;
@@ -1000,7 +980,7 @@ namespace Volian.Controls.Library
// DateTime tNow = DateTime.Now;
// if (!dicTiming.ContainsKey(p)) dicTiming[p] = 0;
// dicTiming[p] += (tNow.Ticks - tLast.Ticks);
// //if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("\t{0}\t{1:0.000}", p, tNow - tLast);
// //Console.Write("\t{0}\t{1:0.000}", p, tNow - tLast);
// tLast = tNow;
//}
//public static void TimeItList()
@@ -1009,39 +989,39 @@ namespace Volian.Controls.Library
// long total = 0;
// foreach (string s in dicTiming.Keys)
// {
// //if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("{0}\"{1}\"",sep, s);
// //Console.Write("{0}\"{1}\"",sep, s);
// total += dicTiming[s];
// //sep = "\t";
// }
// //sep = "\r\n";
// foreach (string s in dicTiming.Keys)
// {
// //if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("{0}{1}", sep, (dicTiming[s]*100)/total );
// //Console.Write("{0}{1}", sep, (dicTiming[s]*100)/total );
// //sep = "\t";
// long i = (dicTiming[s]*10000)/total;
// if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("\"{0}\"\t{1}\t{2}\t\"{3}\"", s, dicTiming[s], ((float)i) / 100, "".PadRight((int)(i / 100), 'X'));
// Console.WriteLine("\"{0}\"\t{1}\t{2}\t\"{3}\"", s, dicTiming[s], ((float)i) / 100, "".PadRight((int)(i / 100), 'X'));
// }
// //if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("\r\n{0:0.000}", tNow - tLast);
// //Console.Write("\r\n{0:0.000}", tNow - tLast);
//}
//public static void TimeItSetup()
//{
// dicTiming = new Dictionary<string, long>();
// DateTime tNow = DateTime.Now;
// // Reset all Counts
// //if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("{0:0.000}", tNow - tLast);
// //Console.Write("\r\n{0:0.000}", tNow - tLast);
// tLast = tNow;
//}
public IDisplayRTB TextBox
public DisplayRTB TextBox
{
get { return (IDisplayRTB)_DisplayRTB; }
get { return _DisplayRTB; }
}
private void vlnCSLARTB_Resize(object sender, EventArgs e)
{
//return;
//TimeIt("ResizeStart");
if (_MyItem == null) return;
//if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("'Resize',{0},{1},{2},{3},{4}", MyID, Top, Left, Height, Width);
//Console.Write("\r\n'Resize',{0},{1},{2},{3},{4}", MyID, Top, Left, Height, Width);
//SetToolTip();
AdjustLocation();
//TimeIt("ResizeEnd");
@@ -1050,7 +1030,7 @@ namespace Volian.Controls.Library
{
//return;
if (_Panel.Scrolling == 0) return;
//_MyLog.DebugFormat("'Move',{0},{1},{2},{3},{4}", MyID, Top, Left, Height, Width);
//Console.Write("'Move',{0},{1},{2},{3},{4}", MyID, Top, Left, Height, Width);
if (_MyItem == null) return;
//if (_Panel.Scrolling) return;
if (Expanding == ExpandingStatus.Expanding) return;
@@ -1065,7 +1045,7 @@ namespace Volian.Controls.Library
//if (ShowMoves)
//if (MyID == 367)
//{
// if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat(",{0},{1},{2},{3},'{4}'", MyID, tmp.MyID, Top, Left, e.GetType().Name);
// Console.Write(",{0},{1},{2},{3},'{4}'", MyID, tmp.MyID, Top, Left, e.GetType().Name);
// //ShowMoves = true;
//}
//SetToolTip();
@@ -1074,7 +1054,7 @@ namespace Volian.Controls.Library
//{
// if (_After[0].TopMost.Top != Bottom)
// {
// if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("'Adjust After',{0},'{1}'", MyID, MyText);
// Console.Write("\r\n'Adjust After',{0},'{1}'", MyID, MyText);
// _After[0].TopMost.Top = Bottom;
// }
//}
@@ -1082,7 +1062,7 @@ namespace Volian.Controls.Library
{
if (_RNO[0].TopMost.Top != Top)
{
//if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("\r\n'Adjust RNO',{0},'Move',{1}", MyID, _RNO[0].MyID);
//Console.Write("\r\n'Adjust RNO',{0},'Move',{1}", MyID, _RNO[0].MyID);
if (RNOLevel >= _Panel.MaxRNO)
{
DisplayItem tmpBottom = this;
@@ -1102,6 +1082,7 @@ namespace Volian.Controls.Library
_Moving = false;
BottomMost.AdjustLocation();
}
//private void veRichTextBoxText_LinkClicked(object sender, LinkClickedEventArgs e)
//{
// //MessageBox.Show(e.LinkText);
@@ -1109,7 +1090,7 @@ namespace Volian.Controls.Library
//}
void _DisplayRTB_LinkGoTo(object sender, System.Windows.Forms.LinkClickedEventArgs e)
{
_MyLog.DebugFormat("_DisplayRTB_LinkGoTo " + e.LinkText);
Console.WriteLine("_DisplayRTB_LinkGoTO " + e.LinkText);
_Panel.OnLinkClicked(sender, new DisplayLinkEventArgs(this, e));
}
private void lblTab_MouseDown(object sender, MouseEventArgs e)
@@ -1126,7 +1107,7 @@ namespace Volian.Controls.Library
}
private void veRichTextBoxText_Resize(object sender, EventArgs e)
{
//if(_MyLog.IsDebugEnabled)_MyLog.DebugFormat("'Resize Text',{0},{1},{2},{3},{4}", MyID, Top, Left, Height, Width);
//Console.Write("\r\n'Resize Text',{0},{1},{2},{3},{4}", MyID, Top, Left, Height, Width);
}
}
}