예제 #1
0
        public MetadataViewContent(MetadataView view)
        {
            DebugHelper.AssertUIThread();

            if (view == null)
            {
                throw new ArgumentNullException("view");
            }

            this.MetadataInfo = MetadataViewContent.emptyMetadataInfo;

            this.view = view;

            this.InitializeComponent();

            this.GotFocus += MetadataViewContent_GotFocus;

            this.PublicMetadataItemsControl.AddHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(MetadataItemsControl_DragDelta), true);
            this.PublicMetadataItemsControl.AddHandler(Thumb.DragStartedEvent, new DragStartedEventHandler(MetadataItemsControl_DragStarted), true);
            this.PublicMetadataItemsControl.AddHandler(Thumb.DragCompletedEvent, new DragCompletedEventHandler(MetadataItemsControl_DragCompleted), true);

            this.PersonalMetadataItemsControl.AddHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(MetadataItemsControl_DragDelta), true);
            this.PersonalMetadataItemsControl.AddHandler(Thumb.DragStartedEvent, new DragStartedEventHandler(MetadataItemsControl_DragStarted), true);
            this.PersonalMetadataItemsControl.AddHandler(Thumb.DragCompletedEvent, new DragCompletedEventHandler(MetadataItemsControl_DragCompleted), true);
        }
        public MetadataViewContent(MetadataView view)
        {
            DebugHelper.AssertUIThread();

            if (view == null)
            {
                throw new ArgumentNullException("view");
            }

            this.MetadataInfo = MetadataViewContent.emptyMetadataInfo;

            this.view = view;

            this.InitializeComponent();

            this.GotFocus += MetadataViewContent_GotFocus;

            this.PublicMetadataItemsControl.AddHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(MetadataItemsControl_DragDelta), true);
            this.PublicMetadataItemsControl.AddHandler(Thumb.DragStartedEvent, new DragStartedEventHandler(MetadataItemsControl_DragStarted), true);
            this.PublicMetadataItemsControl.AddHandler(Thumb.DragCompletedEvent, new DragCompletedEventHandler(MetadataItemsControl_DragCompleted), true);

            this.PersonalMetadataItemsControl.AddHandler(Thumb.DragDeltaEvent, new DragDeltaEventHandler(MetadataItemsControl_DragDelta), true);
            this.PersonalMetadataItemsControl.AddHandler(Thumb.DragStartedEvent, new DragStartedEventHandler(MetadataItemsControl_DragStarted), true);
            this.PersonalMetadataItemsControl.AddHandler(Thumb.DragCompletedEvent, new DragCompletedEventHandler(MetadataItemsControl_DragCompleted), true);
        }
예제 #3
0
        public static MetadataView CreateView(IServiceProvider serviceProvider)
        {
            DebugHelper.AssertUIThread();

            MetadataView value = new MetadataView(serviceProvider);

            return(value);
        }
        public View CreateView(IServiceProvider serviceProvider)
        {
            DebugHelper.AssertUIThread();

            MetadataView view = MetadataView.CreateView(serviceProvider);

            if (view != null)
            {
                this.metadataViews.Add(view);
                view.Closed += MetadataView_Closed;
            }

            return(view);
        }
        public string GetUniqueTitle(MetadataView metadataViewIgnore)
        {
            DebugHelper.AssertUIThread();

            HashSet <string> existingTitles = new HashSet <string>();

            foreach (MetadataView metadataView in this.metadataViews)
            {
                if (metadataView != metadataViewIgnore)
                {
                    string title = metadataView.Title;
                    if (title != null)
                    {
                        title = title.Trim().ToUpper(CultureInfo.CurrentCulture);
                        existingTitles.Add(title);
                    }
                }
            }

            string value = Strings.MetadataView_Title;

            if (existingTitles.Contains(value.Trim().ToUpper(CultureInfo.CurrentCulture)))
            {
                string formatString = Strings.MetadataView_Title_Format;
                int    i            = 2;

                while (true)
                {
                    value = String.Format(CultureInfo.CurrentCulture, formatString, i);

                    if (!existingTitles.Contains(value.Trim().ToUpper(CultureInfo.CurrentCulture)))
                    {
                        break;
                    }

                    ++i;
                }
            }

            return(value);
        }
        public static MetadataView CreateView(IServiceProvider serviceProvider)
        {
            DebugHelper.AssertUIThread();

            MetadataView value = new MetadataView(serviceProvider);

            return value;
        }
        private void ShowMetadata(MetadataView view, MetadataInfo metadataInfo)
        {
            DebugHelper.AssertUIThread();

            this.IsFileTabOpen = false;

            if ((metadataInfo != null) && (view != null))
            {
                MetadataViewContent viewContent = view.ViewContent as MetadataViewContent;
                if (viewContent != null)
                {
                    using (WaitCursor waitCursor = new WaitCursor(this))
                    {
                        viewContent.MetadataInfo = metadataInfo;
                    }
                }
            }
        }
        public string GetUniqueTitle(MetadataView metadataViewIgnore)
        {
            DebugHelper.AssertUIThread();

            HashSet<string> existingTitles = new HashSet<string>();

            foreach (MetadataView metadataView in this.metadataViews)
            {
                if (metadataView != metadataViewIgnore)
                {
                    string title = metadataView.Title;
                    if (title != null)
                    {
                        title = title.Trim().ToUpper(CultureInfo.CurrentCulture);
                        existingTitles.Add(title);
                    }
                }
            }

            string value = Strings.MetadataView_Title;
            if (existingTitles.Contains(value.Trim().ToUpper(CultureInfo.CurrentCulture)))
            {
                string formatString = Strings.MetadataView_Title_Format;
                int i = 2;

                while (true)
                {
                    value = String.Format(CultureInfo.CurrentCulture, formatString, i);

                    if (!existingTitles.Contains(value.Trim().ToUpper(CultureInfo.CurrentCulture)))
                    {
                        break;
                    }

                    ++i;
                }
            }

            return value;
        }
        public IEnumerable <MetadataView> GetMetadataViews(Window window)
        {
            DebugHelper.AssertUIThread();

            if (window == null)
            {
                throw new ArgumentNullException("window");
            }

            while (window.Owner != null)
            {
                window = window.Owner;
            }

            IEnumerable <MetadataView> value = null;

            ToolsUIWindow toolsWindow = window as ToolsUIWindow;

            if (toolsWindow != null)
            {
                LayoutTabControl tabControl = toolsWindow.LayoutTabControl;

                if (tabControl != null)
                {
                    int layoutIndex = tabControl.SelectedIndex;

                    List <MetadataView> activeTab = new List <MetadataView>();
                    List <MetadataView> otherTabs = new List <MetadataView>();
                    List <MetadataView> temp      = new List <MetadataView>();

                    for (int i = 0; i < tabControl.Items.Count; ++i)
                    {
                        List <MetadataView> list = (i == layoutIndex) ? activeTab : temp;

                        LayoutInstance layout = tabControl.Items[i] as LayoutInstance;
                        if (layout != null)
                        {
                            foreach (View v in layout.FindViews("MetadataView"))
                            {
                                MetadataView mv = v as MetadataView;

                                if (mv != null)
                                {
                                    list.Add(mv);
                                }
                            }
                        }

                        if ((i != layoutIndex) && (list.Count > 0))
                        {
                            if (otherTabs.Count > 0)
                            {
                                otherTabs.Add(null);
                            }

                            otherTabs.AddRange(list.OrderBy(mv => mv.Title));

                            list.Clear();
                        }
                    }

                    List <MetadataView> metadataViews = new List <MetadataView>();

                    if (activeTab.Count > 0)
                    {
                        metadataViews.AddRange(activeTab.OrderBy(mv => mv.Title));

                        if (otherTabs.Count > 0)
                        {
                            metadataViews.Add(null);
                        }
                    }

                    metadataViews.AddRange(otherTabs);
                    value = metadataViews;
                }
            }

            return(value);
        }