void IBlogPostEditor.OnBlogChanged(Blog newBlog)
        {
            _targetBlog = newBlog;

            if (newBlog.ClientOptions.SupportsMultipleCategories)
            {
                CategoryContext.SelectionMode = CategoryContext.SelectionModes.MultiSelect;
            }
            else
            {
                CategoryContext.SelectionMode = CategoryContext.SelectionModes.SingleSelect;
            }

            CategoryContext.SetBlogCategories(_targetBlog.Categories);
            CategoryContext.SelectedCategories = new BlogPostCategory[0];
        }
        private void AdaptToBlogOptions()
        {
            if (_targetBlog.ClientOptions.SupportsMultipleCategories)
            {
                CategoryContext.SelectionMode = CategoryContext.SelectionModes.MultiSelect;
            }
            else
            {
                CategoryContext.SelectionMode = CategoryContext.SelectionModes.SingleSelect;
            }

            CategoryContext.SupportsAddingCategories       = _targetBlog.ClientOptions.SupportsNewCategories;
            CategoryContext.SupportsHierarchicalCategories = _targetBlog.ClientOptions.SupportsHierarchicalCategories;
            CategoryContext.MaxCategoryNameLength          = _targetBlog.ClientOptions.MaxCategoryNameLength;

            // categories from blog
            CategoryContext.SetBlogCategories(_targetBlog.Categories);
        }
        void IBlogPostEditor.Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions clientOptions)
        {
            // categories from blog
            CategoryContext.SetBlogCategories(_targetBlog.Categories);

            // pickup new categories from the blog-post
            CategoryContext.SetNewCategories(editingContext.BlogPost.NewCategories);

            // combine all post categories before settting
            ArrayList selectedCategories = new ArrayList();

            selectedCategories.AddRange(editingContext.BlogPost.NewCategories);
            selectedCategories.AddRange(editingContext.BlogPost.Categories);
            _lastSelectedCategories            = new BlogPostCategory[0];
            CategoryContext.SelectedCategories = selectedCategories.ToArray(typeof(BlogPostCategory)) as BlogPostCategory[];

            toolTipCategories.SetToolTip(this, CategoryContext.FormattedCategoryList);
            _isDirty = false;
        }
 void IBlogPostEditor.OnBlogSettingsChanged(bool templateChanged)
 {
     // make sure we have the lastest categoires (in case the underlying target blog changed)
     CategoryContext.SetBlogCategories(_targetBlog.Categories);
 }