public override Control CreatePanelWidget()
        {
            viewModel = new TemplateCategoriesOptionsViewModel();
            viewModel.Load();
            var widget = new TemplateCategoriesOptionsWidget(viewModel);

            return(widget.ToGtkWidget());
        }
        public TemplateCategoriesOptionsWidget(TemplateCategoriesOptionsViewModel viewModel)
        {
            this.viewModel = viewModel;

            Build();

            AddCategories();

            addTopLevelCategoryButton.Clicked += AddTopLevelCategoryButtonClicked;
            addCategoryButton.Clicked         += AddCategoryButtonClicked;
            removeCategoryButton.Clicked      += RemoveCategoryButtonClicked;

            templateCategoriesWidget.SelectedCategoryChanged += SelectedCategoryChanged;

            topLevelCategoryWidget.NameChanged    += TemplateCategoryNameChanged;
            secondLevelCategoryWidget.NameChanged += TemplateCategoryNameChanged;
            thirdLevelCategoryWidget.NameChanged  += TemplateCategoryNameChanged;
        }