internal static string GetColumnName(PendingChangesTreeColumn column) { switch (column) { case PendingChangesTreeColumn.Item: return(PlasticLocalization.GetString(PlasticLocalization.Name.ItemColumn)); case PendingChangesTreeColumn.Status: return(PlasticLocalization.GetString(PlasticLocalization.Name.StatusColumn)); case PendingChangesTreeColumn.Size: return(PlasticLocalization.GetString(PlasticLocalization.Name.SizeColumn)); case PendingChangesTreeColumn.Extension: return(PlasticLocalization.GetString(PlasticLocalization.Name.ExtensionColumn)); case PendingChangesTreeColumn.Type: return(PlasticLocalization.GetString(PlasticLocalization.Name.TypeColumn)); case PendingChangesTreeColumn.DateModififed: return(PlasticLocalization.GetString(PlasticLocalization.Name.DateModifiedColumn)); case PendingChangesTreeColumn.Repository: return(PlasticLocalization.GetString(PlasticLocalization.Name.RepositoryColumn)); default: return(null); } }
static void ChangeTreeViewItemGUI( string wkPath, PendingChangesTreeView treeView, UnityPendingChangesTree pendingChangesTree, ChangeTreeViewItem item, RowGUIArgs args) { for (int visibleColumnIdx = 0; visibleColumnIdx < args.GetNumVisibleColumns(); visibleColumnIdx++) { Rect cellRect = args.GetCellRect(visibleColumnIdx); PendingChangesTreeColumn column = (PendingChangesTreeColumn)args.GetColumn(visibleColumnIdx); ChangeTreeViewItemCellGUI( cellRect, treeView.rowHeight, treeView, pendingChangesTree, item, column, args.selected, args.focused); } }
static void ChangeTreeViewItemCellGUI( Rect rect, float rowHeight, PendingChangesTreeView treeView, UnityPendingChangesTree pendingChangesTree, ChangeTreeViewItem item, PendingChangesTreeColumn column, bool isSelected, bool isFocused) { PendingChangeInfo changeInfo = item.ChangeInfo; string label = changeInfo.GetColumnText( PendingChangesTreeHeaderState.GetColumnName(column)); if (column == PendingChangesTreeColumn.Item) { if (pendingChangesTree.HasMeta(changeInfo.ChangeInfo)) { label = string.Concat(label, UnityConstants.TREEVIEW_META_LABEL); } Texture icon = GetIcon(changeInfo); GetOverlayIcon.Data overlayIconData = GetOverlayIcon.ForChange(changeInfo.ChangeInfo); bool wasChecked = changeInfo.IsChecked(); bool isChecked = DrawTreeViewItem.ForCheckableItemCell( rect, rowHeight, item.depth, icon, overlayIconData, label, isSelected, isFocused, false, wasChecked); changeInfo.UpdateCheckedState(isChecked); if (wasChecked != isChecked) { UpdateCheckStateForSelection(treeView, item); } return; } if (column == PendingChangesTreeColumn.Size) { DefaultGUI.LabelRightAligned(rect, label, isSelected, isFocused); return; } DefaultGUI.Label(rect, label, isSelected, isFocused); }
static void ChangeTreeViewItemCellGUI( bool isGluonMode, IAssetStatusCache assetStatusCache, Rect rect, float rowHeight, PendingChangesTreeView treeView, UnityPendingChangesTree pendingChangesTree, ChangeTreeViewItem item, PendingChangesTreeColumn column, bool isSelected, bool isFocused) { PendingChangeInfo changeInfo = item.ChangeInfo; string label = changeInfo.GetColumnText( PendingChangesTreeHeaderState.GetColumnName(column)); DefaultStyles.label.fontSize = UnityConstants.PENDING_CHANGES_FONT_SIZE; if (column == PendingChangesTreeColumn.Item) { if (pendingChangesTree.HasMeta(changeInfo.ChangeInfo)) { label = string.Concat(label, UnityConstants.TREEVIEW_META_LABEL); } Texture icon = GetIcon(changeInfo); bool isConflicted = IsConflicted( isGluonMode, assetStatusCache, changeInfo.ChangeInfo.GetFullPath()); GetChangesOverlayIcon.Data overlayIconData = GetChangesOverlayIcon.ForPendingChange( changeInfo.ChangeInfo, isConflicted); bool wasChecked = changeInfo.IsChecked(); bool isChecked = DrawTreeViewItem.ForCheckableItemCell( rect, rowHeight, item.depth, icon, overlayIconData, label, isSelected, isFocused, false, wasChecked); changeInfo.UpdateCheckedState(isChecked); if (wasChecked != isChecked) { UpdateCheckStateForSelection(treeView, item); treeView.SelectionChanged(); } return; } if (column == PendingChangesTreeColumn.Size) { DrawTreeViewItem.ForSecondaryLabelRightAligned( rect, label, isSelected, isFocused, false); return; } DrawTreeViewItem.ForSecondaryLabel( rect, label, isSelected, isFocused, false); }