private void AddCustomButton
        (
            MedicalViewerActionType action,
            WorkstationMenuProperties newMenuProperties,
            ToolStripDropDownItem item
        )
        {
            CustomToolStripButton newActionItem;


            newActionItem = new CustomToolStripButton(newMenuProperties);

            item.DropDownItems.Add(newActionItem);

            ViewerContainer.State.ActiveWorkstation.AddToolbarActivatedButtonLeftAction(item, action);

            ViewerContainer.StripItemFeatureExecuter.SetItemFeature(newActionItem);
        }
        void view_AddSelectedAction(object sender, EventArgs e)
        {
            MedicalViewerActionType action = View.SelectedAction;
            ApplyActionCommand      actionCommand;

            if (!ViewerContainer.State.MedicalViewerCellActions.Contains(action))
            {
                AddActionToCurrentCells(action);

                ViewerContainer.State.MedicalViewerCellActions.Add(action);
            }

            ViewerContainer.State.WorkstationActionDisplayName [action] = View.ActionDisplayName;

            __ActionsEditorState.CustomActions.Add(action);

            actionCommand = new ApplyActionCommand(View.FeatureId, ViewerContainer, action, View.SelectedMouseButton, ApplyActionFlags.Viewer2D);

            if (View.SelectedMouseButton == MedicalViewerMouseButtons.Left)
            {
                WorkstationMenuProperties newMenuProperties;


                newMenuProperties           = new WorkstationMenuProperties(ViewerContainer.State.WorkstationActionDisplayName [action], View.ToolStipItemImage, View.ToolStipItemAlternativeImage);
                newMenuProperties.FeatureId = View.FeatureId;

                __ActionsEditorState.ActionAssociatedFeature [action] = View.FeatureId;

                ViewerContainer.FeaturesFactory.RegisterCommand(actionCommand);

                ToolStripItem[] parentItems = GetAnnotationOrRegionsParnetItems(action);

                if (null != parentItems)
                {
                    foreach (ToolStripDropDownItem item in parentItems)
                    {
                        if (ViewerContainer.State.ActiveWorkstation.IsToolbarActivatedButtonLeftAction(item))
                        {
                            if (item is CustomToolStripSplitButton)
                            {
                                AddCustomMenuItem(action, newMenuProperties, item);
                            }
                            else
                            {
                                AddCustomButton(action, newMenuProperties, item);
                            }
                        }
                        else
                        {
                            AddDesignerItem(action, newMenuProperties, item);
                        }
                    }
                }
                else
                {
                    CustomToolStripSplitButton annotationToolbarItem = null;
                    CustomToolStripButton      newActionItem;



                    newActionItem = new CustomToolStripButton(newMenuProperties);

                    foreach (CustomToolStripSplitButton annotationItem in ToolStripMenuProperties.Instance.AnnotationstoolStripSplitButton.AssociatedItems.OfType <CustomToolStripSplitButton> ( ))
                    {
                        if (annotationItem.Owner == ViewerContainer.State.ActiveWorkstation.ViewerToolbar)
                        {
                            annotationToolbarItem = annotationItem;

                            break;
                        }
                    }

                    if (null != annotationToolbarItem)
                    {
                        ViewerContainer.State.ActiveWorkstation.ViewerToolbar.Items.Insert(ViewerContainer.State.ActiveWorkstation.ViewerToolbar.Items.IndexOf(annotationToolbarItem) - 1,
                                                                                           newActionItem);
                    }
                    else
                    {
                        ViewerContainer.State.ActiveWorkstation.ViewerToolbar.Items.Add(newActionItem);
                    }

                    ViewerContainer.State.ActiveWorkstation.AddToolbarActivatedButtonLeftAction(newActionItem, action);

                    ViewerContainer.StripItemFeatureExecuter.SetItemFeature(newActionItem);
                }
            }

            if (actionCommand.CanExecute( ))
            {
                actionCommand.Execute( );
            }

            SetActionInformation(View, ViewerContainer, View.SelectedAction);
        }