Exemplo n.º 1
0
        private void AddCategoryControl(BlogPostCategoryListItem categoryListItem, PositionManager positionManager)
        {
            ICategorySelectorControl catSelector =
                CategorySelectorControlFactory.Instance.GetControl(categoryListItem.Category,
                                                                   (_categoryContext.SelectionMode ==
                                                                    CategoryContext.SelectionModes.MultiSelect));

            catSelector.SelectedChanged += new EventHandler(catSelector_SelectedChanged);

            catSelector.Control.Scale(new SizeF(scale.X, scale.Y));

            positionManager.PositionControl(catSelector.Control, categoryListItem.IndentLevel);

            categoryContainerControl.Controls.Add(catSelector.Control);

            _categoryControls.Add(catSelector.Control);
        }
        private void RefreshParentCombo()
        {
            object selectedItem = cbParent.SelectedItem;

            cbParent.Items.Clear();
            cbParent.Items.Add(new ParentCategoryComboItemNone(cbParent));
            BlogPostCategoryListItem[] categoryListItems = BlogPostCategoryListItem.BuildList(ctx.BlogCategories, true);
            foreach (BlogPostCategoryListItem categoryListItem in categoryListItems)
            {
                cbParent.Items.Add(new ParentCategoryComboItem(cbParent, categoryListItem.Category, categoryListItem.IndentLevel));
            }
            if (selectedItem != null && cbParent.Items.Contains(selectedItem))
            {
                cbParent.SelectedItem = selectedItem;
            }
            else
            {
                cbParent.SelectedIndex = 0;
            }
        }
Exemplo n.º 3
0
        private void LayoutControls(CategoryContext categoryContext, bool sizeForm, bool performRtlLayoutFixup)
        {
            ClearForm();
            SuspendLayout();

            // calculate how much room there is above me on the parent form
            int  parentControlY = _parentControl.PointToScreen(_parentControl.Location).Y;
            Form parentForm     = _parentControl.FindForm();
            int  parentFormY    = parentForm.PointToScreen(parentForm.ClientRectangle.Location).Y;
            int  maxHeight      = parentControlY - parentFormY - ScaleY(_topMargin) - ScaleY(_bottomMargin);

            // enforce additional constraint (or not, let freedom reign!)
            //maxHeight = Math.Min(maxHeight, 400) ;

            using (PositionManager positionManager = new PositionManager(ScaleX(X_MARGIN), ScaleY(Y_MARGIN + 2), ScaleY(4), ScaleX(MinDropDownWidth), categoryContainerControl.Width, maxHeight, scale))
            {
                // add 'none' if we're single selecting categories
                if (categoryContext.SelectionMode != CategoryContext.SelectionModes.MultiSelect)
                {
                    AddCategoryControl(new BlogPostCategoryListItem(new BlogPostCategoryNone(), 0), positionManager);
                }

                // add the other categories
                BlogPostCategoryListItem[] categoryListItems = BlogPostCategoryListItem.BuildList(categoryContext.Categories, true);
                foreach (BlogPostCategoryListItem categoryListItem in categoryListItems)
                {
                    AddCategoryControl(categoryListItem, positionManager);
                }

                if (sizeForm)
                {
                    PositionAndSizeForm(positionManager);
                }
            }
            if (performRtlLayoutFixup)
            {
                BidiHelper.RtlLayoutFixup(categoryContainerControl);
            }
            ResumeLayout();
        }
Exemplo n.º 4
0
        private void RefreshParentCombo()
        {
            // populate "parent" combo
            object selectedItem = comboBoxParent.SelectedItem;

            comboBoxParent.Items.Clear();
            comboBoxParent.Items.Add(new ParentCategoryComboItemNone(comboBoxParent));
            BlogPostCategoryListItem[] categoryListItems = BlogPostCategoryListItem.BuildList(_categoryContext.BlogCategories, true);
            foreach (BlogPostCategoryListItem categoryListItem in categoryListItems)
            {
                comboBoxParent.Items.Add(new ParentCategoryComboItem(comboBoxParent, categoryListItem.Category, categoryListItem.IndentLevel));
            }
            UpdateParentComboForeColor();
            if (selectedItem != null && comboBoxParent.Items.Contains(selectedItem))
            {
                comboBoxParent.SelectedItem = selectedItem;
            }
            else
            {
                comboBoxParent.SelectedIndex = 0;
            }
        }
        private void AddCategoryControl(BlogPostCategoryListItem categoryListItem, PositionManager positionManager)
        {
            ICategorySelectorControl catSelector =
                CategorySelectorControlFactory.Instance.GetControl(categoryListItem.Category,
                                                                   (_categoryContext.SelectionMode ==
                                                                    CategoryContext.SelectionModes.MultiSelect));
            catSelector.SelectedChanged += new EventHandler(catSelector_SelectedChanged);

            catSelector.Control.Scale(new SizeF(scale.X, scale.Y));

            positionManager.PositionControl(catSelector.Control, categoryListItem.IndentLevel);

            categoryContainerControl.Controls.Add(catSelector.Control);

            _categoryControls.Add(catSelector.Control);
        }