using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Drawing;
using VEPROMS.CSLA.Library;
using Volian.Controls.Library;
namespace Volian.Controls.Library
{
public partial class StepTabPanel : DevComponents.DotNetBar.PanelDockContainer
{
#region Private Fields
private DisplayTabControl _MyDisplayTabControl;
private StepTabRibbon _MyStepTabRibbon;
public StepTabRibbon MyStepTabRibbon
{
get { return _MyStepTabRibbon; }
set { _MyStepTabRibbon = value; }
}
private StepPanel _MyStepPanel;
private DisplayTabItem _MyDisplayTabItem;
#endregion
#region Properties
///
/// Container
///
public DisplayTabControl MyDisplayTabControl
{
get { return _MyDisplayTabControl; }
//set { _MyDisplayTabControl = value; }
}
///
/// StepPanel contained in this control.
///
public Volian.Controls.Library.StepPanel MyStepPanel
{
get { return _MyStepPanel; }
//set { _MyStepPanel = value; }
}
///
/// related DisplayTabItem
///
public DisplayTabItem MyDisplayTabItem
{
get { return _MyDisplayTabItem; }
set { _MyDisplayTabItem = value; }
}
///
/// Currently Selected ItemInfo
///
public ItemInfo SelectedItemInfo
{
get { return _MyStepPanel.SelectedItemInfo; }
set { _MyStepPanel.SelectedItemInfo = value; }
}
///
/// Currently Selected StepItem
///
public StepItem SelectedStepItem
{
//get { return _MyStepPanel._LookupStepItems[_MyStepPanel.SelectedItemInfo.ItemID]; }
get { return _MyStepPanel.SelectedStepItem; }
}
///
/// Procedure ItemInfo
///
public ItemInfo MyProcedureItemInfo
{
get { return _MyStepPanel.MyProcedureItemInfo; }
set { _MyStepPanel.MyProcedureItemInfo = value; }
}
private String _SearchString;
public String SearchString
{
get { return _SearchString; }
set { _SearchString = value; FindSearchString(); }
}
public void FindSearchString()
{
SelectedStepItem.MyStepRTB.Find(SearchString);
}
#endregion
#region Contructors
public StepTabPanel(DisplayTabControl myDisplayTabControl)
{
_MyDisplayTabControl = myDisplayTabControl;
InitializeComponent();
SetupStepTabPanel();
SetupStepPanel();
SetupStepTabRibbon();
}
#endregion
#region Private Methods - Setup
///
/// Setup StepTabRibbon
///
private void SetupStepTabRibbon()
{
_MyStepTabRibbon = new StepTabRibbon();
_MyStepTabRibbon.Dock = System.Windows.Forms.DockStyle.Top;
_MyStepTabRibbon.Location = new System.Drawing.Point(0, 0);
_MyStepTabRibbon.Name = "displayTabRibbon1";
//_MyTabRibbon.MyDisplayRTB = null;
_MyStepTabRibbon.MyStepItem = null;
this.Controls.Add(_MyStepTabRibbon);
_MyStepTabRibbon.Expanded = _MyDisplayTabControl.RibbonExpanded;
}
///
/// Setup this within control
///
private void SetupStepTabPanel()
{
Dock = System.Windows.Forms.DockStyle.Fill;
this.Enter += new EventHandler(StepTabPanel_Enter);
}
///
/// Setup StepPanel
///
private void SetupStepPanel()
{
//this.Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)));
_MyStepPanel = new Volian.Controls.Library.StepPanel(this.components);
this.Controls.Add(_MyStepPanel);
//
// _MyPanel
//
_MyStepPanel.AutoScroll = true;
_MyStepPanel.Dock = System.Windows.Forms.DockStyle.Fill;
_MyStepPanel.LinkClicked +=new Volian.Controls.Library.StepPanelLinkEvent(_MyStepPanel_LinkClicked);
_MyStepPanel.LinkActiveChanged += new Volian.Controls.Library.StepPanelLinkEvent(_MyStepPanel_LinkActiveChanged);
_MyStepPanel.LinkInsertTran += new StepPanelLinkEvent(_MyStepPanel_LinkInsertTran);
_MyStepPanel.LinkInsertRO += new StepPanelLinkEvent(_MyStepPanel_LinkInsertRO);
_MyStepPanel.LinkModifyTran += new StepPanelLinkEvent(_MyStepPanel_LinkModifyTran);
_MyStepPanel.LinkModifyRO += new StepPanelLinkEvent(_MyStepPanel_LinkModifyRO);
_MyStepPanel.ItemClick +=new Volian.Controls.Library.StepPanelEvent(_MyStepPanel_ItemClick);
_MyStepPanel.AttachmentClicked += new Volian.Controls.Library.StepPanelAttachmentEvent(_MyStepPanel_AttachmentClicked);
_MyStepPanel.ItemSelectedChanged += new ItemSelectedChangedEvent(_MyStepPanel_ItemSelectedChanged);
_MyStepPanel.ModeChange += new Volian.Controls.Library.StepPanelModeChangeEvent(_MyStepPanel_ModeChange);
}
#endregion
#region Event Handlers
private bool _ShowingItem = false;
public bool ShowingItem
{
get { return _ShowingItem; }
set { _ShowingItem = value; }
}
///
/// Occurs when the user clicks on a StepTabPanel
///
///
///
private void StepTabPanel_Enter(object sender, EventArgs e)
{
if (_ShowingItem) return;
_ShowingItem = true;
//if (ItemSelected != null)
_MyStepPanel.ItemShow();
_ShowingItem = false;
}
///
/// Occurs when the cursor moves onto or off of a link
///
///
///
void _MyStepPanel_LinkActiveChanged(object sender, StepPanelLinkEventArgs args)
{
_MyDisplayTabControl.OnLinkActiveChanged(sender, args);
}
///
/// Occurs when the user chooses to add a transition
///
///
///
void _MyStepPanel_LinkInsertTran(object sender, StepPanelLinkEventArgs args)
{
_MyDisplayTabControl.OnLinkInsertTran(sender, args);
}
///
/// Occurs when the user chooses to add an RO
///
///
///
void _MyStepPanel_LinkInsertRO(object sender, StepPanelLinkEventArgs args)
{
_MyDisplayTabControl.OnLinkInsertRO(sender, args);
}
///
/// Occurs when the user chosses to modify a transition
///
///
///
void _MyStepPanel_LinkModifyTran(object sender, StepPanelLinkEventArgs args)
{
_MyDisplayTabControl.OnLinkModifyTran(sender, args);
}
///
/// Occurs when the user chooses to Modify an RO
///
///
///
void _MyStepPanel_LinkModifyRO(object sender, StepPanelLinkEventArgs args)
{
_MyDisplayTabControl.OnLinkModifyRO(sender, args);
}
///
/// Occurs when the Selected Item changes
///
///
///
void _MyStepPanel_ItemSelectedChanged(object sender, ItemSelectedChangedEventArgs args)
{
//_MyTabRibbon.MyDisplayRTB = args.MyDisplayItem.MyDisplayRTB;
_MyStepTabRibbon.MyStepItem = args.MyStepItem;
_MyDisplayTabControl.OnItemSelectedChanged(sender, args);
}
// Occurs when the Mode Changes
void _MyStepPanel_ModeChange(object sender, StepRTBModeChangeEventArgs args)
{
_MyDisplayTabControl.OnModeChange(sender, args);
}
///
/// Occurs when the user clicks on the Attachment Expander
///
///
///
void _MyStepPanel_AttachmentClicked(object sender, StepPanelAttachmentEventArgs args)
{
_MyDisplayTabControl.OpenItem(args.MyStepItem.MyItemInfo);
}
///
/// Occurs when the user clicks on the tab next to an item
///
///
///
void _MyStepPanel_ItemClick(object sender, StepPanelEventArgs args)
{
_MyDisplayTabControl.OnItemClick(sender, args);
}
///
/// Occurs when the user clicks on an item
///
///
///
void _MyStepPanel_LinkClicked(object sender, StepPanelLinkEventArgs args)
{
if (args.MyLinkText.LinkInfoText.IndexOf("Transition") > -1)
_MyDisplayTabControl.OpenItem(args.MyLinkText.MyTranToItemInfo);
else
Console.WriteLine("Bring Up roeditor"); //TODO: Need to bring up roeditor or infopanel
}
#endregion
}
}