private ToDoListVersionDetailSubWindow Init(ToDoListProductDetailView _productDetailView , ToDoProduct _todoProduct, ToDoProductVersion _version) { productView = _productDetailView; todoProduct = _todoProduct; productVersion = _version; if (_version != null) { todoVersion.SetVersion(_version.version); versionNameView.Content.Val = _version.name; } else { todoVersion.SetVersion(0, 0, 0); productName = string.Empty; } UpdateMajor(); UpdateMiddle(); UpdateSmall(); return(this); }
public ToDoListFeatureView(ToDoProduct todoProduct) { product = todoProduct; isHeader = true; depth = 0; Init(); }
public static ToDoProduct AddProduct(this ToDoListCls cls, string name, string desc) { var val = new ToDoProduct(name, desc); cls.productList.Add(val); cls.Save(); return(val); }
public void OpenProductEditorWindow(ToDoProduct todoProduct = null) { //防止同一帧数内 颜色污染 EnqueueCmd(() => { ToDoListEditorProductSubWindow.Open(this, todoProduct); }); }
public static ToDoListFeaturesSubWindow Open(ToDoListFeatureView _inputView, ToDoProduct _productParent, string name = "ToDo Feature Editor") { var window = Open <ToDoListFeaturesSubWindow>(name); window.Init(_inputView, null, _productParent, true); instance = window; window.Show(); return(window); }
public static ToDoListVersionDetailSubWindow Open(ToDoListProductDetailView productDetailView, ToDoProduct todoProduct, ToDoProductVersion version = null, string name = null) { string str = name ?? (version == null ? "Version Detail Create Window" : "Version Detail Editor Window"); var window = Open <ToDoListVersionDetailSubWindow>(str) .Init(productDetailView, todoProduct, version); instance = window; window.Show(); return(window); }
public void RebuildDetailViews(ToDoProduct todoProduct) { this.todoProduct = todoProduct; detailViews.Clear(); productViews.Hide(); CreateDetailView(todoProduct, true).AddTo(detailViews); detailViews.Show(); }
public void RebuildProductViews() { productViews.Clear(); detailViews.Hide(); todoProduct = null; new ButtonView("创建产品", () => OpenProductEditorWindow(null), true).Height(40).AddTo(productViews); new SpaceView(10f).AddTo(productViews); var data = ToDoDataManager.Data.productList; for (int i = data.Count - 1; i >= 0; i--) { var product = data[i]; var title = new HorizontalLayout(); new FlexibleSpaceView().AddTo(title); new ImageButtonView(ImageButtonIcon.openIcon, () => EnqueueCmd(() => RebuildDetailViews(product))) .Width(40).Height(25).BackgroundColor(Color.black).AddTo(title); new ImageButtonView(ImageButtonIcon.editorIcon, () => OpenProductEditorWindow(product)) .Width(40).Height(25).BackgroundColor(Color.black).AddTo(title); new ImageButtonView(ImageButtonIcon.deleteIcon, () => RemoveProduct(product)).Width(25).Height(25) .BackgroundColor(Color.red).AddTo(title); var foldout = new FoldoutView(false, product.name, title).FontSize(25) .FontBold().AddTo(productViews); new SpaceView(10f).AddTo(productViews); foldout.AddFoldoutView(CreateDetailView(product, false).AddTo(detailViews)); foldout.AddFoldoutView(new SpaceView(15f)); } productViews.Show(); }
public ToDoListProductDetailView(ToDoListProductView _productView, ToDoProduct _todoProduct, bool isNewPage , Action _rebuildProductViews) : base("box") { productView = _productView; todoProduct = _todoProduct; if (isNewPage) { new LabelView(_todoProduct.name).FontBold().FontSize(30).TextMiddleCenter().AddTo(this); new SpaceView(8).AddTo(this); new ButtonView("返回", () => EnqueueCmd(_rebuildProductViews), true).FontSize(20).TextMiddleCenter() .AddTo(this); } new SpaceView(8).AddTo(this); new LabelView("描述: " + _todoProduct.description).FontBold().FontSize(25).TextMiddleLeft().MarginLeft(30) .AddTo(this); //Feature Detail------------------- new SpaceView(8).AddTo(this); new ToDoListFeatureView(todoProduct).AddTo(this); //Version Detail----------- new SpaceView(8).AddTo(this); versionDetailView = new VerticalLayout("box"); var createVersionBtn = new ButtonView("创建版本", OpenVersionDetailWindow, true) .Height(20).Width(100).FontSize(15).TextMiddleCenter(); var versionFoldout = new FoldoutView(false, "版本:", createVersionBtn) .FontSize(25).FontBold().MarginLeft(15).AddTo(this); versionFoldout.AddFoldoutView(versionDetailView); RefreshProductFoldoutDetailView(); }
private void Init(ToDoListFeatureView _inputView, ToDoFeature _featureParent, ToDoProduct _todoProduct, bool _isCreate) { inputView = _inputView; isCreate = _isCreate; featureOrParent = _featureParent; productParent = _todoProduct; EditorGUI.FocusTextInControl(null); if (isCreate) { nameInputView.Content.Val = string.Empty; descInputView.Content.Val = string.Empty; saveCreateBtn.Text = "创建"; } else { nameInputView.Content.Val = featureOrParent.name; descInputView.Content.Val = featureOrParent.description; saveCreateBtn.Text = "保存"; } }
private ToDoListEditorProductSubWindow Init(ToDoListProductView _productView, ToDoProduct todoProduct) { productView = _productView; this.todoProduct = todoProduct; Clear(); var verticalLayout = new VerticalLayout("box").AddTo(this); var productName = this.todoProduct == null ? string.Empty : this.todoProduct.name; var productDescription = this.todoProduct == null ? string.Empty : this.todoProduct.description; new LabelView("名称:").TextMiddleCenter().FontBold().FontSize(20).AddTo(verticalLayout); new TextAreaView(productName, pName => productName = pName).Height(30) .AddTo(verticalLayout); new LabelView("描述:").TextMiddleCenter().FontBold().FontSize(20).AddTo(verticalLayout); new TextAreaView(productDescription, pDesc => productDescription = pDesc) .Height(60).AddTo(verticalLayout); new ButtonView("保存", () => { SaveProduct(productName, productDescription); }, true).Height(20) .AddTo(verticalLayout); return(this); }
public ToDoListProductFoldoutDetailView(ToDoListProductDetailView _productDetailView , ToDoProduct _todoProduct, ToDoProductVersion _productVersion) : base("box") { productDetailView = _productDetailView; todoProduct = _todoProduct; productVersion = _productVersion; HorizontalLayout horView = new HorizontalLayout(); new FlexibleSpaceView().AddTo(horView); stateBoxView = new BoxView(String.Empty).Height(20).AddTo(horView); new ImageButtonView(ImageButtonIcon.editorIcon, OpenVersionDetailWindow).BackgroundColor(Color.black).Width(30).Height(20).AddTo(horView); new ImageButtonView(ImageButtonIcon.deleteIcon, DeleteItem).BackgroundColor(Color.red).Width(30).Height(20).AddTo(horView); foldoutView = new FoldoutView(false, productVersion.name + " "+ productVersion.version, horView) .FontBold().FontSize(15).MarginLeft(30).TextMiddleLeft().AddTo(this); var input = new ToDoListInputView(AddFoldoutItem); input.Show(); foldoutView.AddFoldoutView(input); RefreshStateWithView(); foreach (var todoItem in productVersion.todos) { AddToDoToFoldoutView(todoItem); } }
public void RemoveProduct(ToDoProduct todoProduct) { ToDoDataManager.Data.RemoveProduct(todoProduct); EnqueueCmd(Rebuild); }
private ToDoListProductDetailView CreateDetailView(ToDoProduct todoProduct, bool isNewPage) { return(new ToDoListProductDetailView(this, todoProduct, isNewPage, RebuildProductViews)); }
public static void RemoveProduct(this ToDoListCls cls, ToDoProduct todoProduct) { cls.productList.Remove(todoProduct); cls.Save(); }
public static ToDoListEditorProductSubWindow Open(ToDoListProductView _productView, ToDoProduct todoProduct = null, string name = "Product Editor") { var window = Open <ToDoListEditorProductSubWindow>(name).Init(_productView, todoProduct); instance = window; window.Show(); return(window); }