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;
        }
Example #3
0
 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;
 }
Example #4
0
 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);
        }
Example #9
0
 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);
 }
Example #10
0
 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;
 }
Example #11
0
        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;
        }
Example #12
0
 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();
       }
 }
        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();
            }
        }
Example #14
0
 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;
 }
Example #15
0
        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);
        }
Example #16
0
 public virtual void Process(InitPlantSIArgs args)
 {
     args.SIBox = new StandaloneIconPlantBox();
 }
Example #17
0
 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);
 }
Example #18
0
 public virtual void Process(InitPlantSIArgs args)
 {
     args.SIBox = new StandaloneIconPlantBox();
 }
Example #19
0
        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);
 }
        public virtual void Process(InitPlantSIArgs args)
        {
            ISettingsBox settingsBox = args.SIBox.RelatedPlantEx.MySettingsBox.GetSubBox("StandaloneIconService");

            args.SIBox.SettingsBox = settingsBox;
        }