void AddTopLevelCategoryButtonClicked(object sender, EventArgs e)
        {
            TemplateCategoryViewModel category = viewModel.AddTopLevelCategory();

            templateCategoriesWidget.AddTopLevelCategory(category);

            topLevelCategoryWidget.SetFocusToIdTextEntry();
        }
Exemplo n.º 2
0
        public void UpdateTemplateCategoryName(TemplateCategoryViewModel category)
        {
            TreeNavigator navigator = FindCategoryNavigator(category);

            if (navigator != null)
            {
                navigator.SetValue(nameColumn, category.Name);
            }
        }
Exemplo n.º 3
0
        public void RemoveTemplateCategory(TemplateCategoryViewModel category)
        {
            TreeNavigator navigator = FindCategoryNavigator(category);

            if (navigator != null)
            {
                navigator.Remove();
            }
        }
Exemplo n.º 4
0
        public void DisplayCategory(TemplateCategoryViewModel category)
        {
            this.category = category;

            IdTextEntry.Text = category.Id;

            UpdateNameWithRaisingChangedEvent(category.Name);

            Sensitive = true;
        }
        public TemplateCategoryViewModel AddCategory(TemplateCategory category)
        {
            GetChildCategories();

            var viewModel = new TemplateCategoryViewModel(this, category);

            childCategories.Add(viewModel);

            return(viewModel);
        }
Exemplo n.º 6
0
        public void ClearCategory()
        {
            category = null;

            IdTextEntry.Text = string.Empty;

            UpdateNameWithRaisingChangedEvent(string.Empty);

            Sensitive = false;
        }
 static void ShowCategoryInfo(TemplateCategoryWidget widget, TemplateCategoryViewModel category)
 {
     if (category != null)
     {
         widget.DisplayCategory(category);
     }
     else
     {
         widget.ClearCategory();
     }
 }
Exemplo n.º 8
0
        public void AddChildTemplateCategory(
            TemplateCategoryViewModel parentCategory,
            TemplateCategoryViewModel category)
        {
            TreeNavigator navigator = FindCategoryNavigator(parentCategory);

            if (navigator != null)
            {
                AddTemplateCategory(navigator.CurrentPosition, category);
                treeView.ExpandRow(navigator.CurrentPosition, true);
            }
        }
        public TemplateCategoryViewModel(
            TemplateCategoryViewModel parentCategory,
            TemplateCategory category)
        {
            ParentCategory = parentCategory;
            Category       = category;

            IsBottomLevel = GetIsBottomLevel();
            IsTopLevel    = parentCategory == null;

            id   = category.Id;
            name = category.Name;
        }
        bool GetIsBottomLevel()
        {
            int parentCount = 0;

            TemplateCategoryViewModel currentParent = ParentCategory;

            while (currentParent != null)
            {
                parentCount++;
                currentParent = currentParent.ParentCategory;
            }

            return(parentCount == 2);
        }
        void SelectedCategoryChanged(object sender, EventArgs e)
        {
            TemplateCategoryViewModel category = templateCategoriesWidget.SelectedCategory;

            viewModel.SelectedCategory = category;

            categoryInformationVBox.Sensitive = viewModel.IsCategoryInformationEnabled;
            addCategoryButton.Sensitive       = viewModel.IsAddCategoryButtonEnabled;
            removeCategoryButton.Sensitive    = viewModel.IsRemoveCategoryButtonEnabled;

            ShowCategoryInfo(topLevelCategoryWidget, viewModel.TopLevelCategory);
            ShowCategoryInfo(secondLevelCategoryWidget, viewModel.SecondLevelCategory);
            ShowCategoryInfo(thirdLevelCategoryWidget, viewModel.ThirdLevelCategory);
        }
Exemplo n.º 12
0
        public void AddTopLevelCategory(TemplateCategoryViewModel category)
        {
            TreePosition position = AddTemplateCategory(null, category);

            treeView.ExpandRow(position, true);

            // Ensure last child is visible and selected.
            TreeNavigator navigator = treeStore.GetNavigatorAt(position);

            navigator.MoveToChild();
            navigator.MoveToChild();
            treeView.ScrollToRow(navigator.CurrentPosition);
            treeView.SelectRow(navigator.CurrentPosition);
        }
Exemplo n.º 13
0
        void TreeViewSelectionChanged(object sender, EventArgs e)
        {
            if (treeView.SelectedRows.Any())
            {
                var navigator = treeStore.GetNavigatorAt(treeView.SelectedRows [0]);
                if (navigator != null)
                {
                    SelectedCategory = navigator.GetValue(categoryColumn);
                    return;
                }
            }

            SelectedCategory = null;
        }
        public TemplateCategoryViewModel AddTopLevelCategory()
        {
            var topLevelCategory    = CreateUniqueCategory("top", "Top Level", categories);
            var secondLevelCategory = new TemplateCategory("second", "Second Level", null);
            var thirdLevelCategory  = new TemplateCategory("third", "Third Level", null);

            topLevelCategory.AddCategory(secondLevelCategory);
            secondLevelCategory.AddCategory(thirdLevelCategory);

            var viewModel = new TemplateCategoryViewModel(null, topLevelCategory);

            categories.Add(viewModel);

            return(viewModel);
        }
Exemplo n.º 15
0
        TreePosition AddTemplateCategory(
            TreePosition position,
            TemplateCategoryViewModel categoryViewModel)
        {
            TreeNavigator node = treeStore.AddNode(position);

            node.SetValue(nameColumn, categoryViewModel.GetNameWithIsNewMessage());
            node.SetValue(categoryColumn, categoryViewModel);

            foreach (TemplateCategoryViewModel childCategory in categoryViewModel.GetChildCategories())
            {
                AddTemplateCategory(node.CurrentPosition, childCategory);
            }

            return(node.CurrentPosition);
        }
        void AddCategoryButtonClicked(object sender, EventArgs e)
        {
            TemplateCategoryViewModel category = viewModel.AddCategory();

            templateCategoriesWidget.AddChildTemplateCategory(viewModel.SelectedCategory, category);
        }
        public void RemoveCategory(TemplateCategoryViewModel selectedCategory)
        {
            GetChildCategories();

            childCategories.Remove(selectedCategory);
        }
Exemplo n.º 18
0
 TreeNavigator FindCategoryNavigator(TemplateCategoryViewModel category)
 {
     return(treeStore.FindNavigators(category, categoryColumn)
            .FirstOrDefault());
 }