protected virtual void AssignIconModifierToRequirer(InitPlantSIArgs args, INeedToModifyIcon iconRequirer) { INotifyIconChangerMaster iconChanger = HatcherGuide <INotifyIconChangerMaster> .CreateNewInstance(); iconChanger.Initialize(args.SIBox.NotifyIcon); iconRequirer.StoreIconChangingAssignee(iconChanger); }
protected virtual void ResolveISimple(InitPlantSIArgs args) { var asSimple = args.PlantEx.GetFirstWorkhorseOfType <IStandaloneIcon>(); if (asSimple == null) { return; } string niTitle; Icon niIcon; MouseEventHandler niClickHandler; if (!asSimple.GetIconInfo(out niTitle, out niIcon, out niClickHandler)) { Log.Warn("Plant inherints StandaloneIcon contract, but wouldn't like return notify icon", this); return; } if (niTitle.IsNullOrEmpty() || niIcon == null || niClickHandler == null) { Log.Warn("Plant inherints StandaloneIcon contract, but return wrong data", this); return; } var notifyIcon = new NotifyIcon(); notifyIcon.Visible = false; notifyIcon.Text = niTitle; notifyIcon.Icon = niIcon; notifyIcon.Tag = niClickHandler; notifyIcon.MouseClick += (sender, eventArgs) => Task.Factory.StartNew(() => niClickHandler(sender, eventArgs)); args.SIBox.NotifyIcon = notifyIcon; }
protected virtual void ResolveISimple(InitPlantSIArgs args) { var asSimple = args.PlantEx.GetFirstWorkhorseOfType<IStandaloneIcon>(); if (asSimple == null) { return; } string niTitle; Icon niIcon; MouseEventHandler niClickHandler; if (!asSimple.GetIconInfo(out niTitle, out niIcon, out niClickHandler)) { Log.Warn("Plant inherints StandaloneIcon contract, but wouldn't like return notify icon", this); return; } if (niTitle.IsNullOrEmpty() || niIcon == null || niClickHandler == null) { Log.Warn("Plant inherints StandaloneIcon contract, but return wrong data", this); return; } var notifyIcon = new NotifyIcon(); notifyIcon.Visible = false; notifyIcon.Text = niTitle; notifyIcon.Icon = niIcon; notifyIcon.Tag = niClickHandler; notifyIcon.MouseClick += (sender, eventArgs) => Task.Factory.StartNew(() => niClickHandler(sender, eventArgs)); args.SIBox.NotifyIcon = notifyIcon; }
protected virtual void ResolveIAdvanced(InitPlantSIArgs args) { var asAdvanced = args.PlantEx.GetFirstWorkhorseOfType<IAdvancedStandaloneIcon>(); if (asAdvanced != null) { args.SIBox.NotifyIcon = asAdvanced.GetNotifyIcon(); } }
protected virtual void ResolveIAdvanced(InitPlantSIArgs args) { var asAdvanced = args.PlantEx.GetFirstWorkhorseOfType <IAdvancedStandaloneIcon>(); if (asAdvanced != null) { args.SIBox.NotifyIcon = asAdvanced.GetNotifyIcon(); } }
public virtual void Process(InitPlantSIArgs args) { var asIconModifyRequirer = args.PlantEx.GetFirstWorkhorseOfType<INeedToModifyIcon>(); if (asIconModifyRequirer == null) { return; } this.AssignIconModifierToRequirer(args, asIconModifyRequirer); }
public virtual void Process(InitPlantSIArgs args) { if (!this.IsSIBoxValid(args.SIBox)) { args.Abort(); return; } args.SIBox.RelatedPlantEx = args.PlantEx; args.PlantEx.PutLuggage(args.LuggageName, args.SIBox); }
public virtual void Process(InitPlantSIArgs args) { var asIconModifyRequirer = args.PlantEx.GetFirstWorkhorseOfType <INeedToModifyIcon>(); if (asIconModifyRequirer == null) { return; } this.AssignIconModifierToRequirer(args, asIconModifyRequirer); }
public virtual void Process(InitPlantSIArgs args) { var contextMenu = args.SIBox.NotifyIcon.ContextMenuStrip ?? new ContextMenuStrip(); var asContextMenuExtendable = args.PlantEx.GetFirstWorkhorseOfType<IExtendContextMenu>(); if (asContextMenuExtendable != null) { this.DrawInstanceSpecificContextMenu(contextMenu, asContextMenuExtendable); } this.DrawInstanceIndependentContextMenu(contextMenu, args); args.SIBox.NotifyIcon.ContextMenuStrip = contextMenu; }
public virtual void Process(InitPlantSIArgs args) { var contextMenu = args.SIBox.NotifyIcon.ContextMenuStrip ?? new ContextMenuStrip(); var asContextMenuExtendable = args.PlantEx.GetFirstWorkhorseOfType <IExtendContextMenu>(); if (asContextMenuExtendable != null) { this.DrawInstanceSpecificContextMenu(contextMenu, asContextMenuExtendable); } this.DrawInstanceIndependentContextMenu(contextMenu, args); args.SIBox.NotifyIcon.ContextMenuStrip = contextMenu; }
public virtual void Process(InitPlantSIArgs args) { StandaloneIconPlantBox siBox = args.SIBox; this.ResolveIAdvanced(args); if (siBox.NotifyIcon != null) { return; } this.ResolveISimple(args); if (siBox.NotifyIcon == null) { args.Abort(); } }
protected virtual void DrawInstanceIndependentContextMenu(ContextMenuStrip contextMenu, InitPlantSIArgs args) { /* ToolStripItem closeComponent = contextMenu.Items.Add("Hide plant"); closeComponent.Tag = args.SIBox; closeComponent.Click += args.CloseComponentClick; */ Icon exitIcon = HatcherGuide<IResourcesManager>.Instance.GetIconResource(this.ExitEntryIconResName, null); ToolStripItem exitGardenEntry; if (exitIcon != null) { exitGardenEntry = contextMenu.Items.Add("Exit garden", exitIcon.ToBitmap()); } else { exitGardenEntry = contextMenu.Items.Add("Exit garden"); } exitGardenEntry.Tag = args.SIBox; exitGardenEntry.Click += args.ExitGardenClick; }
public static void Run(IPlantEx plantEx, string luggageName, EventHandler closeComponentClick, EventHandler exitGardenClick) { var args = new InitPlantSIArgs(plantEx, luggageName, closeComponentClick, exitGardenClick); HatcherGuide <IPipelineManager> .Instance.InvokePipeline("standaloneIconServiceInitPlant", args); }
public virtual void Process(InitPlantSIArgs args) { args.SIBox = new StandaloneIconPlantBox(); }
public static void Run(IPlantEx plantEx, string luggageName, EventHandler closeComponentClick, EventHandler exitGardenClick) { var args = new InitPlantSIArgs(plantEx, luggageName, closeComponentClick, exitGardenClick); HatcherGuide<IPipelineManager>.Instance.InvokePipeline("standaloneIconServiceInitPlant", args); }
protected virtual void DrawInstanceIndependentContextMenu(ContextMenuStrip contextMenu, InitPlantSIArgs args) { /* * ToolStripItem closeComponent = contextMenu.Items.Add("Hide plant"); * closeComponent.Tag = args.SIBox; * closeComponent.Click += args.CloseComponentClick; */ Icon exitIcon = HatcherGuide <IResourcesManager> .Instance.GetIconResource(this.ExitEntryIconResName, null); ToolStripItem exitGardenEntry; if (exitIcon != null) { exitGardenEntry = contextMenu.Items.Add("Exit garden", exitIcon.ToBitmap()); } else { exitGardenEntry = contextMenu.Items.Add("Exit garden"); } exitGardenEntry.Tag = args.SIBox; exitGardenEntry.Click += args.ExitGardenClick; }
public virtual void Process(InitPlantSIArgs args) { ISettingsBox settingsBox = args.SIBox.RelatedPlantEx.MySettingsBox.GetSubBox("StandaloneIconService"); args.SIBox.SettingsBox = settingsBox; }
protected virtual void AssignIconModifierToRequirer(InitPlantSIArgs args, INeedToModifyIcon iconRequirer) { INotifyIconChangerMaster iconChanger = HatcherGuide<INotifyIconChangerMaster>.CreateNewInstance(); iconChanger.Initialize(args.SIBox.NotifyIcon); iconRequirer.StoreIconChangingAssignee(iconChanger); }