Пример #1
0
        public Custom3DToolbar( )
        {
            Items.Add(new DesignToolStripButton(ToolStripMenuProperties.Instance.Create3DVolumeToolStripButton));
            Items.Add(new DesignToolStripButton(ToolStripMenuProperties.Instance.SingleCutPlaneToolStripMenuItem));
            Items.Add(new DesignToolStripButton(ToolStripMenuProperties.Instance.DoubleCutPlaneToolStripMenuItem));
            Items.Add(new DesignToolStripButton(ToolStripMenuProperties.Instance.Rotate3DToolStripButton));

            Object3DTypeToolStripSplitButton = new CustomToolStripSplitButton(ToolStripMenuProperties.Instance.Object3DTypeToolStripSplitButton);
            MPRToolStripMenuItem             = new CustomToolStripMenuItem(ToolStripMenuProperties.Instance.MPRToolStripMenuItem);
            MIPToolStripMenuItem             = new CustomToolStripMenuItem(ToolStripMenuProperties.Instance.MIPToolStripMenuItem);
            MinMIPToolStripMenuItem          = new CustomToolStripMenuItem(ToolStripMenuProperties.Instance.MinMIPToolStripMenuItem);
            SSDToolStripMenuItem             = new CustomToolStripMenuItem(ToolStripMenuProperties.Instance.SSDToolStripMenuItem);
            VRTToolStripMenuItem             = new CustomToolStripMenuItem(ToolStripMenuProperties.Instance.VRTToolStripMenuItem);

            Object3DTypeToolStripSplitButton.DropDownItems.AddRange(new ToolStripItem[] { MPRToolStripMenuItem,
                                                                                          MIPToolStripMenuItem,
                                                                                          MinMIPToolStripMenuItem,
                                                                                          SSDToolStripMenuItem,
                                                                                          VRTToolStripMenuItem });

            Items.Add(Object3DTypeToolStripSplitButton);
        }
        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);
        }