mattercontrol/CustomWidgets/SavePartsSheetFeedbackWindow.cs

61 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MatterHackers.Agg;
using MatterHackers.Agg.UI;
using MatterHackers.Localizations;
namespace MatterHackers.MatterControl
{
public class SavePartsSheetFeedbackWindow : SystemWindow
{
int totalParts;
int count = 0;
FlowLayoutWidget feedback = new FlowLayoutWidget(FlowDirection.TopToBottom);
public SavePartsSheetFeedbackWindow(int totalParts, string firstPartName, RGBA_Bytes backgroundColor)
: base(300, 500)
{
BackgroundColor = backgroundColor;
string savePartSheetTitle = new LocalizedString("MatterControl").Translated;
string savePartSheetTitleFull = new LocalizedString("Saving to Parts Sheet").Translated;
Title = string.Format("{0} - {1}",savePartSheetTitle, savePartSheetTitleFull) ;
this.totalParts = totalParts;
feedback.Padding = new BorderDouble(5, 5);
feedback.AnchorAll();
AddChild(feedback);
}
TextWidget CreateNextLine(string startText)
{
TextWidget nextLine = new TextWidget(startText, textColor: RGBA_Bytes.White);
nextLine.Margin = new BorderDouble(0, 2);
nextLine.HAnchor = Agg.UI.HAnchor.ParentLeft;
nextLine.AutoExpandBoundsToText = true;
return nextLine;
}
public void StartingNextPart(object sender, EventArgs e)
{
count++;
StringEventArgs stringEvent = e as StringEventArgs;
if (stringEvent != null)
{
string partDescription = string.Format("{0}/{1} '{2}'", count, totalParts, stringEvent.Data);
feedback.AddChild(CreateNextLine(partDescription));
}
}
public void DoneSaving(object sender, EventArgs e)
{
StringEventArgs stringEvent = e as StringEventArgs;
if (stringEvent != null)
{
feedback.AddChild(CreateNextLine(string.Format("{0}", stringEvent.Data)));
}
}
}
}