/// <summary> /// Renders the name of a model variation in the variation dropdown. /// </summary> /// <param name="cellLayout">The layout of the cell.</param> /// <param name="cell">The cell.</param> /// <param name="model">The model of the combobox.</param> /// <param name="iter">The iter pointing to the rendered row.</param> public static void RenderModelVariationName(ICellLayout cellLayout, CellRenderer cell, ITreeModel model, TreeIter iter) { CellRendererText cellText = cell as CellRendererText; if (cellText == null) { return; } string storedText = (string)model.GetValue(iter, 0); // Builtin override for the standard set name if (storedText.ToLowerInvariant().Contains("set_$defaultglobal")) { cellText.Text = "Default"; return; } string transientText = storedText.FastReplaceCaseInsensitive("set_", string.Empty); // Insert spaces between words and abbreviations transientText = Regex.Replace(transientText, @"(\B[A-Z0-9]+?(?=[A-Z][^A-Z])|\B[A-Z0-9]+?(?=[^A-Z]))", " $1"); cellText.Text = transientText; }
public static void CellDataHandler(ICellLayout layout, CellRenderer cell, ITreeModel model, TreeIter iter) { SourceRowRenderer renderer = cell as SourceRowRenderer; if (renderer == null) { return; } var type = model.GetValue(iter, (int)SourceModel.Columns.Type); if (type == null || (SourceModel.EntryType)type != SourceModel.EntryType.Source) { renderer.Visible = false; return; } Source source = model.GetValue(iter, 0) as Source; renderer.Source = source; renderer.Iter = iter; if (source == null) { return; } renderer.Visible = true; renderer.Text = source.Name; renderer.Sensitive = source.CanActivate; }
private static void Func(ICellLayout cellLayout, CellRenderer cell, ITreeModel model, TreeIter iter) { var item = (Category)model.GetValue(iter, 0); if (cell is CellRendererText value) { value.Text = item.CategoryName; } }
static public void ComboBoxCellFunc(ICellLayout cell_layout, CellRenderer cell, ITreeModel tree_model, TreeIter iter) { string name = (string)tree_model.GetValue(iter, 0); (cell as CellRendererText).Text = name; }
public static void CellDataHandler(ICellLayout layout, CellRenderer cell, ITreeModel model, TreeIter iter) { SourceRowRenderer renderer = cell as SourceRowRenderer; if (renderer == null) { return; } var type = model.GetValue (iter, (int)SourceModel.Columns.Type); if (type == null || (SourceModel.EntryType) type != SourceModel.EntryType.Source) { renderer.Visible = false; return; } Source source = model.GetValue (iter, 0) as Source; renderer.Source = source; renderer.Iter = iter; if (source == null) { return; } renderer.Visible = true; renderer.Text = source.Name; renderer.Sensitive = source.CanActivate; }
// The parent needs to be specified in advance for the CellPool public CellLayout InstantiateCellLayout(GameObject cellLayoutPrefab, int requiredPoolSize = 24) { // Get or create cell pool CellPool cellPool = null; CellLayoutPrefabsToCellPools.TryGetValue(cellLayoutPrefab, out cellPool); if (!cellPool) { // InstantiateCellPool() cellPool = ResourceCache.Inst.Create("CellPool").GetComponent <CellPool>(); cellPool.gameObject.SetActive(true); cellPool.gameObject.name = cellPool.GetType().Name + "[" + cellLayoutPrefab.name + "](Clone)"; cellPool.InitializePool(); cellPool.ScrollRecycler = this; cellPool.transform.SetParent(ScrollRect.content.parent, false); // Sibling of ScrollRecycfler CellLayoutPrefabsToCellPools[cellLayoutPrefab] = cellPool; } cellPool.SetRequiredPoolSize(requiredPoolSize); // Initialize recycler layout GameObject cellLayoutGO = UnityEngine.Object.Instantiate(cellLayoutPrefab); ICellLayout iCellLayout = cellLayoutGO.GetComponent <ICellLayout>(); ICellLayouts.Add(iCellLayout); cellLayoutGO.transform.SetParent(ScrollRect.content, false); iCellLayout.CellLayout.CellPool = cellPool; iCellLayout.CellLayout.ScrollRecycler = this; if (iCellLayout.CellLayout.CellPool.CellPrefab == null) { iCellLayout.CellLayout.CellPool.CellPrefab = iCellLayout.CellLayout.CellPrefab; } cellLayoutGO.SetActive(true); if (!cellPool.CellProxy) { // TODO: Evaluate how we want to use this // InstantiateCellLayoutProxy() //var layoutProxyRoot = new GameObject(); //{ // Copy the layout elements and rect size of the ScrollRect.content // layoutProxyRoot.transform.SetParent(ScrollRect.content, false); // var layoutProxyRootRtx = layoutProxyRoot.AddComponent<RectTransform>(); // layoutProxyRootRtx.CopyFromRectTransform(ScrollRect.content); // layoutProxyRoot.AddComponent<LayoutElement>().ignoreLayout = true; // Ignores topmost layout calculations // LayoutUtil.DuplicateLayoutElements(ScrollRect.content.gameObject, layoutProxyRoot); // layoutProxyRoot.name += "(LayoutProxy)"; //} cellPool.CellProxy = Instantiate(iCellLayout.CellLayout.CellPrefab); cellPool.CellProxy.gameObject.SetActive(true); cellPool.CellProxy.name = iCellLayout.CellLayout.CellPrefab.name + "(ProxyCell)"; cellPool.CellProxy.transform.SetParent(cellLayoutGO.transform, false); cellPool.CellProxy.transform.localPosition = Vector2.zero; var cellProxyCG = cellPool.CellProxy.GetComponent <CanvasGroup>(); if (!cellProxyCG) { cellProxyCG = cellPool.CellProxy.AddComponent <CanvasGroup>(); } cellProxyCG.alpha = 0.0f; var cellProxyLE = cellPool.CellProxy.GetComponent <LayoutElement>(); if (!cellProxyLE) { cellProxyLE = cellPool.CellProxy.AddComponent <LayoutElement>(); } } return(iCellLayout.CellLayout); }