Turning off the rooted weak event stuff

This commit is contained in:
larsbrubaker 2014-08-19 11:41:13 -07:00
parent 4b405a6aa8
commit 7d1f698141
22 changed files with 128 additions and 250 deletions

View file

@ -309,7 +309,7 @@ namespace MatterHackers.MatterControl.ContactForm
}
}
public class ContactFormWindow : SystemWindow, IReceiveRootedWeakEvent
public class ContactFormWindow : SystemWindow
{
static ContactFormWindow contactFormWindow;
static bool contactFormIsOpen;
@ -349,23 +349,25 @@ namespace MatterHackers.MatterControl.ContactForm
MinimumSize = new Vector2(500, 550);
}
event EventHandler unregisterEvents;
private void AddHandlers()
{
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
contactFormWidget.Closed += (sender, e) => { Close(); };
}
public void RootedEvent(string eventType, EventArgs e)
public override void OnClosed(EventArgs e)
{
switch (eventType)
if (unregisterEvents != null)
{
case "ThemeChanged":
this.Invalidate();
break;
default:
throw new NotImplementedException();
unregisterEvents(this, null);
}
base.OnClosed(e);
}
public void ThemeChanged(object sender, EventArgs e)
{
this.Invalidate();
}
}
}

View file

@ -69,7 +69,7 @@ namespace MatterHackers.MatterControl
}
}
public RootedObjectWeakEventHandler UpdateStatusChanged = new RootedObjectWeakEventHandler();
public RootedObjectEventHandler UpdateStatusChanged = new RootedObjectEventHandler();
static string applicationDataPath = DataStorage.ApplicationDataStorage.Instance.ApplicationUserDataPath;
static string updateFileLocation = Path.Combine(applicationDataPath, "updates");

View file

@ -40,7 +40,7 @@ using MatterHackers.MatterControl.VersionManagement;
namespace MatterHackers.MatterControl
{
public class UpdateControlView : FlowLayoutWidget, IReceiveRootedWeakEvent
public class UpdateControlView : FlowLayoutWidget
{
Button downloadUpdateLink;
Button checkUpdateLink;
@ -89,26 +89,13 @@ namespace MatterHackers.MatterControl
AddChild(installUpdateLink);
}
UpdateControlData.Instance.UpdateStatusChanged.Register(this, "UpdateStatusChanged");
UpdateControlData.Instance.UpdateStatusChanged.RegisterEvent(UpdateStatusChanged, ref unregisterEvents);
MinimumSize = new VectorMath.Vector2(0, 50);
UpdateStatusChanged(null, null);
}
public void RootedEvent(string eventType, EventArgs e)
{
switch (eventType)
{
case "UpdateStatusChanged":
this.UpdateStatusChanged(null, null);
break;
default:
throw new NotImplementedException();
}
}
public void CheckForUpdate(object sender, MouseEventArgs e)
{
UpdateControlData.Instance.CheckForUpdateUserRequested();

View file

@ -17,7 +17,7 @@ using MatterHackers.MatterControl.PrinterControls.PrinterConnections;
namespace MatterHackers.MatterControl
{
public class ActionBarPlus : FlowLayoutWidget, IReceiveRootedWeakEvent
public class ActionBarPlus : FlowLayoutWidget
{
QueueDataView queueDataView;
@ -41,21 +41,13 @@ namespace MatterHackers.MatterControl
this.Padding = new BorderDouble(bottom: 6);
// Add Handlers
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
this.Invalidate();
break;
default:
throw new NotImplementedException();
}
this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
this.Invalidate();
}
public override void OnClosed(EventArgs e)

View file

@ -14,7 +14,7 @@ using MatterHackers.MatterControl.PrinterCommunication;
namespace MatterHackers.MatterControl.ActionBar
{
class PrintActionRow : ActionRowBase, IReceiveRootedWeakEvent
class PrintActionRow : ActionRowBase
{
Stopwatch timeSincePrintStarted = new Stopwatch();
@ -148,7 +148,7 @@ namespace MatterHackers.MatterControl.ActionBar
cancelConnectButton.Click += (sender, e) => { UiThread.RunOnIdle(CancelConnectionButton_Click); };
reprintButton.Click += new ButtonBase.ButtonEventHandler(onReprintButton_Click);
doneWithCurrentPartButton.Click += new ButtonBase.ButtonEventHandler(onDoneWithCurrentPartButton_Click);
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public override void OnClosed(EventArgs e)
@ -160,17 +160,9 @@ namespace MatterHackers.MatterControl.ActionBar
base.OnClosed(e);
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
this.Invalidate();
break;
default:
throw new NotImplementedException();
}
this.Invalidate();
}
void onAddButton_Click(object sender, MouseEventArgs mouseEvent)

View file

@ -35,7 +35,7 @@ using MatterHackers.MatterControl.PrinterCommunication;
namespace MatterHackers.MatterControl.ActionBar
{
class TemperatureWidgetBase : GuiWidget, IReceiveRootedWeakEvent
class TemperatureWidgetBase : GuiWidget
{
protected TextWidget indicatorTextWidget;
protected TextWidget labelTextWidget;
@ -117,7 +117,7 @@ namespace MatterHackers.MatterControl.ActionBar
this.AddChild(container);
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
this.MouseEnterBounds += onEnterBounds;
this.MouseLeaveBounds += onLeaveBounds;
@ -133,18 +133,10 @@ namespace MatterHackers.MatterControl.ActionBar
base.OnClosed(e);
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
this.indicatorTextWidget.TextColor = ActiveTheme.Instance.PrimaryAccentColor;
this.Invalidate();
break;
default:
throw new NotImplementedException();
}
}
void onEnterBounds(Object sender, EventArgs e)

View file

@ -51,7 +51,7 @@ using MatterHackers.MatterControl.PrintHistory;
namespace MatterHackers.MatterControl
{
class FirstPanelTabView : TabControl, IReceiveRootedWeakEvent
class FirstPanelTabView : TabControl
{
public static int firstPanelCurrentTab = 0;
@ -97,26 +97,13 @@ namespace MatterHackers.MatterControl
QueueData.Instance.ItemAdded.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents);
QueueData.Instance.ItemRemoved.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents);
UpdateControlData.Instance.UpdateStatusChanged.Register(this, "UpdateStatusChanged");
UpdateControlData.Instance.UpdateStatusChanged.RegisterEvent(SetUpdateNotification, ref unregisterEvents);
WidescreenPanel.PreChangePannels.RegisterEvent(SaveCurrentTab, ref unregisterEvents);
SelectedTabIndex = firstPanelCurrentTab;
}
public void RootedEvent(string eventType, EventArgs e)
{
switch (eventType)
{
case "UpdateStatusChanged":
this.SetUpdateNotification(null, null);
break;
default:
throw new NotImplementedException();
}
}
void NumQueueItemsChanged(object sender, EventArgs widgetEvent)
{
string queueStringBeg = LocalizedString.Get("Queue").ToUpper();

View file

@ -50,11 +50,11 @@ using MatterHackers.Localizations;
namespace MatterHackers.MatterControl
{
public class ApplicationWidget : GuiWidget, IReceiveRootedWeakEvent
public class ApplicationWidget : GuiWidget
{
static ApplicationWidget globalInstance;
public RootedObjectWeakEventHandler ReloadAdvancedControlsPanelTrigger = new RootedObjectWeakEventHandler();
public RootedObjectWeakEventHandler CloudSyncStatusChanged = new RootedObjectWeakEventHandler();
public RootedObjectEventHandler ReloadAdvancedControlsPanelTrigger = new RootedObjectEventHandler();
public RootedObjectEventHandler CloudSyncStatusChanged = new RootedObjectEventHandler();
public SlicePresetsWindow EditMaterialPresetsWindow{ get; set;}
public SlicePresetsWindow EditQualityPresetsWindow{ get; set;}
@ -66,20 +66,12 @@ namespace MatterHackers.MatterControl
public ApplicationWidget()
{
Name = "MainSlidePanel";
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
ReloadAll(null, null);
break;
default:
throw new NotImplementedException();
}
ReloadAll(null, null);
}
WidescreenPanel widescreenPanel;

View file

@ -51,7 +51,7 @@ using MatterHackers.MatterControl.PrintHistory;
namespace MatterHackers.MatterControl
{
public class ThirdPanelTabView : GuiWidget, IReceiveRootedWeakEvent
public class ThirdPanelTabView : GuiWidget
{
event EventHandler unregisterEvents;
static int lastAdvanceControlsIndex = 0;
@ -77,7 +77,7 @@ namespace MatterHackers.MatterControl
AddChild(advancedControls2);
WidescreenPanel.PreChangePannels.RegisterEvent(SaveCurrentPanelIndex, ref unregisterEvents);
ApplicationWidget.Instance.ReloadAdvancedControlsPanelTrigger.Register(this, "ReloadAdvancedControlsPanelTrigger");
ApplicationWidget.Instance.ReloadAdvancedControlsPanelTrigger.RegisterEvent(ReloadAdvancedControlsPanelTrigger, ref unregisterEvents);
AnchorAll();
}
@ -91,18 +91,10 @@ namespace MatterHackers.MatterControl
base.OnClosed(e);
}
public void RootedEvent(string eventType, EventArgs e)
{
switch (eventType)
{
case "ReloadAdvancedControlsPanelTrigger":
UiThread.RunOnIdle(ReloadSliceSettings);
break;
default:
throw new NotImplementedException();
}
}
public void ReloadAdvancedControlsPanelTrigger(object sender, EventArgs e)
{
UiThread.RunOnIdle(ReloadSliceSettings);
}
static SliceSettingsWidgetUiState sliceSettingsUiState = new SliceSettingsWidgetUiState();
void SaveCurrentPanelIndex(object sender, EventArgs e)

View file

@ -52,7 +52,7 @@ using MatterHackers.MatterControl.PrinterCommunication;
namespace MatterHackers.MatterControl
{
public class WidescreenPanel : FlowLayoutWidget, IReceiveRootedWeakEvent
public class WidescreenPanel : FlowLayoutWidget
{
static bool leftBorderLineHiden;
static bool rightBorderLineHiden;
@ -90,21 +90,13 @@ namespace MatterHackers.MatterControl
ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent(LoadSettingsOnPrinterChanged, ref unregisterEvents);
PrinterConnectionAndCommunication.Instance.ActivePrintItemChanged.RegisterEvent(onActivePrintItemChanged, ref unregisterEvents);
ApplicationWidget.Instance.ReloadAdvancedControlsPanelTrigger.Register(this, "ReloadAdvancedControlsPanelTrigger");
ApplicationWidget.Instance.ReloadAdvancedControlsPanelTrigger.RegisterEvent(ReloadAdvancedControlsPanelTrigger, ref unregisterEvents);
this.BoundsChanged += new EventHandler(onBoundsChanges);
}
public void RootedEvent(string eventType, EventArgs e)
public void ReloadAdvancedControlsPanelTrigger(object sender, EventArgs e)
{
switch (eventType)
{
case "ReloadAdvancedControlsPanelTrigger":
UiThread.RunOnIdle(ReloadAdvancedControlsPanel);
break;
default:
throw new NotImplementedException();
}
UiThread.RunOnIdle(ReloadAdvancedControlsPanel);
}
public override void OnParentChanged(EventArgs e)

View file

@ -53,7 +53,7 @@ namespace MatterHackers.MatterControl
private int defaultThemeIndex = 1;
private int activeThemeIndex = -1;
public RootedObjectWeakEventHandler ThemeChanged = new RootedObjectWeakEventHandler();
public RootedObjectEventHandler ThemeChanged = new RootedObjectEventHandler();
public List<Theme> AvailableThemes
{

View file

@ -45,7 +45,7 @@ using MatterHackers.VectorMath;
namespace MatterHackers.MatterControl
{
public class PartThumbnailWidget : ClickWidget, IReceiveRootedWeakEvent
public class PartThumbnailWidget : ClickWidget
{
static BackgroundWorker createThumbnailWorker = null;
@ -131,7 +131,7 @@ namespace MatterHackers.MatterControl
this.Click += new ButtonEventHandler(OnMouseClick);
this.MouseEnterBounds += new EventHandler(onEnter);
this.MouseLeaveBounds += new EventHandler(onExit);
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
void item_FileHasChanged(object sender, EventArgs e)
@ -326,25 +326,17 @@ namespace MatterHackers.MatterControl
createThumbnailWorker = null;
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
//Set background color to new theme
this.normalBackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
//Set background color to new theme
this.normalBackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
//Regenerate thumbnails
// The thumbnail color is currently white and does not change with this change.
// If we eventually change the thumbnail color with the theme we will need to change this.
//this.thumbNailHasBeenRequested = false;
this.Invalidate();
break;
default:
throw new NotImplementedException();
}
//Regenerate thumbnails
// The thumbnail color is currently white and does not change with this change.
// If we eventually change the thumbnail color with the theme we will need to change this.
//this.thumbNailHasBeenRequested = false;
this.Invalidate();
}
private void OnMouseClick(object sender, MouseEventArgs e)

View file

@ -40,7 +40,7 @@ using MatterHackers.VectorMath;
namespace MatterHackers.MatterControl.CreatorPlugins
{
public class PluginChooserWindow : SystemWindow, IReceiveRootedWeakEvent
public class PluginChooserWindow : SystemWindow
{
protected TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
protected TextImageButtonFactory unlockButtonFactory = new TextImageButtonFactory();
@ -66,20 +66,12 @@ namespace MatterHackers.MatterControl.CreatorPlugins
event EventHandler unregisterEvents;
protected void AddHandlers()
{
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
UiThread.RunOnIdle(Reload);
break;
default:
throw new NotImplementedException();
}
UiThread.RunOnIdle(Reload);
}
public void TriggerReload(object sender, EventArgs e)

View file

@ -11,7 +11,7 @@ using MatterHackers.MatterControl.PrinterCommunication;
namespace MatterHackers.MatterControl
{
public class PrintProgressBar : GuiWidget, IReceiveRootedWeakEvent
public class PrintProgressBar : GuiWidget
{
double currentPercent = 0;
Stopwatch timeSinceLastUpdate = new Stopwatch();
@ -61,7 +61,7 @@ namespace MatterHackers.MatterControl
PrinterConnectionAndCommunication.Instance.WroteLine.RegisterEvent(Instance_WroteLine, ref unregisterEvents);
PrinterConnectionAndCommunication.Instance.ActivePrintItemChanged.RegisterEvent(Instance_PrintItemChanged, ref unregisterEvents);
PrinterConnectionAndCommunication.Instance.CommunicationStateChanged.RegisterEvent(Instance_PrintItemChanged, ref unregisterEvents);
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public override void OnClosed(EventArgs e)
@ -80,19 +80,11 @@ namespace MatterHackers.MatterControl
this.BackgroundColor = ActiveTheme.Instance.SecondaryAccentColor;
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
//Set background color to new theme
SetThemedColors();
this.Invalidate();
break;
default:
throw new NotImplementedException();
}
//Set background color to new theme
SetThemedColors();
this.Invalidate();
}
void Instance_PrintItemChanged(object sender, EventArgs e)

View file

@ -41,7 +41,7 @@ using MatterHackers.VectorMath;
namespace MatterHackers.MatterControl.PartPreviewWindow
{
public class PartPreviewMainWindow : SystemWindow, IReceiveRootedWeakEvent
public class PartPreviewMainWindow : SystemWindow
{
View3DTransformPart view3DTransformPart;
ViewGcodeBasic viewGcodeBasic;
@ -112,22 +112,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
event EventHandler unregisterEvents;
private void AddHandlers()
{
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
view3DTransformPart.Closed += (sender, e) => { Close(); };
viewGcodeBasic.Closed += (sender, e) => { Close(); };
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
this.Invalidate();
break;
default:
throw new NotImplementedException();
}
this.Invalidate();
}
public override void OnClosed(EventArgs e)

View file

@ -60,7 +60,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
}
}
public class View3DTransformPart : PartPreview3DWidget, IReceiveRootedWeakEvent
public class View3DTransformPart : PartPreview3DWidget
{
public WindowType windowType { get; set; }
@ -481,23 +481,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
}
}
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
processingProgressControl.fillColor = ActiveTheme.Instance.PrimaryAccentColor;
break;
default:
throw new NotImplementedException();
}
processingProgressControl.fillColor = ActiveTheme.Instance.PrimaryAccentColor;
}
void SetEditControlsBasedOnPrinterState(object sender, EventArgs e)
{
if (windowType == WindowType.Embeded)

View file

@ -12,7 +12,7 @@ using MatterHackers.VectorMath;
namespace MatterHackers.MatterControl.PartPreviewWindow
{
public class ViewControls3D : FlowLayoutWidget, IReceiveRootedWeakEvent
public class ViewControls3D : FlowLayoutWidget
{
GuiWidget partSelectSeparator;
MeshViewerWidget meshViewerWidget;
@ -96,20 +96,23 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
SetMeshViewerDisplayTheme();
partSelectButton.CheckedStateChanged += SetMeshViewerDisplayTheme;
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public void RootedEvent(string eventType, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
SetMeshViewerDisplayTheme(null, null);
break;
event EventHandler unregisterEvents;
default:
throw new NotImplementedException();
public override void OnClosed(EventArgs e)
{
if (unregisterEvents != null)
{
unregisterEvents(this, null);
}
base.OnClosed(e);
}
public void ThemeChanged(object sender, EventArgs e)
{
SetMeshViewerDisplayTheme(null, null);
}
protected void SetMeshViewerDisplayTheme(object sender = null, EventArgs e = null)

View file

@ -54,7 +54,7 @@ namespace MatterHackers.MatterControl.PrintHistory
{
public class PrintHistoryListItem : FlowLayoutWidget, IReceiveRootedWeakEvent
public class PrintHistoryListItem : FlowLayoutWidget
{
public PrintTask printTask;
public RGBA_Bytes WidgetTextColor;
@ -240,22 +240,24 @@ namespace MatterHackers.MatterControl.PrintHistory
this.Margin = new BorderDouble(6, 0, 6, 6);
}
event EventHandler unregisterEvents;
void AddHandlers()
{
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public void RootedEvent(string eventType, EventArgs e)
public override void OnClosed(EventArgs e)
{
switch (eventType)
if (unregisterEvents != null)
{
case "ThemeChanged":
this.Invalidate();
break;
default:
throw new NotImplementedException();
unregisterEvents(this, null);
}
base.OnClosed(e);
}
public void ThemeChanged(object sender, EventArgs e)
{
this.Invalidate();
}
public override void OnDraw(Graphics2D graphics2D)

View file

@ -51,7 +51,7 @@ using MatterHackers.PolygonMesh.Processors;
namespace MatterHackers.MatterControl.PrintLibrary
{
public class LibraryRowItem : ClickWidget, IReceiveRootedWeakEvent
public class LibraryRowItem : ClickWidget
{
public PrintItemWrapper printItemWrapper;
public RGBA_Bytes WidgetTextColor;
@ -209,7 +209,7 @@ namespace MatterHackers.MatterControl.PrintLibrary
event EventHandler unregisterEvents;
void AddHandlers()
{
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
//this.Click += new ButtonEventHandler(PrintLibraryListItem_Click);
viewLink.Click += new ButtonBase.ButtonEventHandler(onViewLinkClick);
removeLink.Click += new ButtonBase.ButtonEventHandler(onRemoveLinkClick);
@ -315,17 +315,9 @@ namespace MatterHackers.MatterControl.PrintLibrary
}
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
this.Invalidate();
break;
default:
throw new NotImplementedException();
}
this.Invalidate();
}
public override void OnDraw(Graphics2D graphics2D)

View file

@ -50,7 +50,7 @@ using MatterHackers.PolygonMesh;
namespace MatterHackers.MatterControl.PrintQueue
{
public class QueueRowItem : GuiWidget, IReceiveRootedWeakEvent
public class QueueRowItem : GuiWidget
{
public PrintItemWrapper PrintItemWrapper { get; set; }
public RGBA_Bytes WidgetTextColor;
@ -316,7 +316,7 @@ namespace MatterHackers.MatterControl.PrintQueue
event EventHandler unregisterEvents;
void AddHandlers()
{
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
PrintItemWrapper.SlicingOutputMessage.RegisterEvent(PrintItem_SlicingOutputMessage, ref unregisterEvents);
@ -468,23 +468,15 @@ namespace MatterHackers.MatterControl.PrintQueue
});
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
if (this.isActivePrint)
{
case "ThemeChanged":
if (this.isActivePrint)
{
//Set background and text color to new theme
this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
this.partLabel.TextColor = RGBA_Bytes.White;
this.partStatus.TextColor = RGBA_Bytes.White;
this.Invalidate();
}
break;
default:
throw new NotImplementedException();
//Set background and text color to new theme
this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
this.partLabel.TextColor = RGBA_Bytes.White;
this.partStatus.TextColor = RGBA_Bytes.White;
this.Invalidate();
}
}

View file

@ -243,7 +243,7 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
}
public class ConnectionWidgetBase : GuiWidget, IReceiveRootedWeakEvent
public class ConnectionWidgetBase : GuiWidget
{
protected GuiWidget containerWindowToClose;
protected RGBA_Bytes defaultTextColor = ActiveTheme.Instance.PrimaryTextColor;
@ -254,13 +254,14 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
protected ConnectionWindow windowController;
public ActionLinkFactory actionLinkFactory = new ActionLinkFactory();
event EventHandler unregisterEvents;
public ConnectionWidgetBase(ConnectionWindow windowController, GuiWidget containerWindowToClose)
: base()
{
this.windowController = windowController;
this.containerWindowToClose = containerWindowToClose;
ActiveTheme.Instance.ThemeChanged.Register(this, "ThemeChanged");
ActiveTheme.Instance.ThemeChanged.RegisterEvent(ThemeChanged, ref unregisterEvents);
}
public int GetPrinterRecordCount()
@ -268,18 +269,19 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
return Datastore.Instance.RecordCount("Printer");
}
public void RootedEvent(string eventType, EventArgs e)
public void ThemeChanged(object sender, EventArgs e)
{
switch (eventType)
{
case "ThemeChanged":
this.linkTextColor = ActiveTheme.Instance.PrimaryAccentColor;
this.Invalidate();
break;
this.linkTextColor = ActiveTheme.Instance.PrimaryAccentColor;
this.Invalidate();
}
default:
throw new NotImplementedException();
public override void OnClosed(EventArgs e)
{
if (unregisterEvents != null)
{
unregisterEvents(this, null);
}
base.OnClosed(e);
}
}
}

Binary file not shown.