150 lines
4.3 KiB
C#
150 lines
4.3 KiB
C#
using Remontor.Connector;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Resources;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Remontor
|
|
{
|
|
enum BarShow
|
|
{
|
|
HideBar,
|
|
ShowHistory,
|
|
ShowWords
|
|
}
|
|
internal partial class BarSessionControl : UserControl
|
|
{
|
|
public delegate bool HideBars(BarShow state);
|
|
public HideBars hideWors;
|
|
public HideBars hideHistory;
|
|
private BarShow barShow = BarShow.HideBar;
|
|
public List<BarButtonControl> buttons;
|
|
|
|
|
|
|
|
public BarSessionControl()
|
|
{
|
|
InitializeComponent();
|
|
SConnector.Update += UpdateBar;
|
|
SConnector.UpdateMode += SetModeMonitor;
|
|
buttons = new List<BarButtonControl>();
|
|
}
|
|
|
|
public void UpdateBar(List<Connect> connects)
|
|
{
|
|
bool GreyBackground = false;
|
|
buttons.Clear();
|
|
FlowButton.Controls.Clear();
|
|
foreach (var item in connects)
|
|
{
|
|
BarButtonControl button = new BarButtonControl(item, GreyBackground);
|
|
buttons.Add(button);
|
|
GreyBackground = !GreyBackground;
|
|
FlowButton.Controls.Add(button);
|
|
}
|
|
|
|
FlowButton.Controls.Add(NewBtn);
|
|
}
|
|
|
|
|
|
|
|
private void ShowBar_Click(object sender, EventArgs e)
|
|
{
|
|
if (barShow == BarShow.ShowHistory)
|
|
{
|
|
barShow = BarShow.HideBar;
|
|
}
|
|
else
|
|
{
|
|
barShow = BarShow.ShowHistory;
|
|
}
|
|
if (hideHistory(barShow))
|
|
{
|
|
ShowBar.BackColor = SystemColors.ActiveCaption;
|
|
ShowWords.BackColor = SystemColors.Control;
|
|
}
|
|
else
|
|
{
|
|
ShowBar.BackColor = SystemColors.Control;
|
|
}
|
|
hideWors(barShow);
|
|
}
|
|
|
|
private void NewBtn_Click(object sender, EventArgs e)
|
|
{
|
|
Finder.Finder finder = new Finder.Finder();
|
|
finder.ShowDialog();
|
|
}
|
|
|
|
private void FlowButton_ControlRemoved(object sender, ControlEventArgs e)
|
|
{
|
|
if(e.Control is BarButtonControl) e.Control.Dispose();
|
|
}
|
|
|
|
private void BarSessionControl_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void ShowWords_Click(object sender, EventArgs e)
|
|
{
|
|
if (barShow == BarShow.ShowWords)
|
|
{
|
|
barShow = BarShow.HideBar;
|
|
}
|
|
else
|
|
{
|
|
barShow = BarShow.ShowWords;
|
|
}
|
|
if (hideWors(barShow))
|
|
{
|
|
ShowWords.BackColor = SystemColors.ActiveCaption;
|
|
ShowBar.BackColor = SystemColors.Control;
|
|
}
|
|
else
|
|
{
|
|
ShowWords.BackColor = SystemColors.Control;
|
|
}
|
|
hideHistory(barShow);
|
|
}
|
|
|
|
public void SetModeMonitor(IModeMon mode)
|
|
{
|
|
if (mode is OneMon) { this.OneMonBt.BackColor = SystemColors.ActiveCaption; }
|
|
else { this.OneMonBt.BackColor = SystemColors.Control; }
|
|
if (mode is DobleMonOne) { this.DobleMonOneBt.BackColor = SystemColors.ActiveCaption; }
|
|
else { this.DobleMonOneBt.BackColor = SystemColors.Control; }
|
|
if (mode is DobleMonTwo) { this.DobleMonTwoBt.BackColor = SystemColors.ActiveCaption; }
|
|
else { this.DobleMonTwoBt.BackColor = SystemColors.Control; }
|
|
if (mode is DobleMonFull) { this.DobleMonFull.BackColor = SystemColors.ActiveCaption; }
|
|
else { this.DobleMonFull.BackColor = SystemColors.Control; }
|
|
}
|
|
|
|
private void OneMonBt_Click(object sender, EventArgs e)
|
|
{
|
|
SConnector.SetModeMon(new OneMon());
|
|
}
|
|
|
|
private void DobleMonOneBt_Click(object sender, EventArgs e)
|
|
{
|
|
SConnector.SetModeMon(new DobleMonOne());
|
|
}
|
|
|
|
private void DobleMonTwoBt_Click(object sender, EventArgs e)
|
|
{
|
|
SConnector.SetModeMon(new DobleMonTwo());
|
|
}
|
|
|
|
private void DobleMonFull_Click(object sender, EventArgs e)
|
|
{
|
|
SConnector.SetModeMon(new DobleMonFull());
|
|
}
|
|
}
|
|
}
|