static void CategoryTreeViewItemGUI( Rect rowRect, float rowHeight, ChangeCategoryTreeViewItem item, int solvedChildrenCount, bool isSelected, bool isFocused) { Texture icon = GetCategoryIcon(item.Category.CategoryType); string label = item.Category.GetHeaderText(); DefaultStyles.label = GetCategoryStyle( item.Category, solvedChildrenCount, isSelected); DrawTreeViewItem.ForCategoryItem( rowRect, rowHeight, item.depth, icon, label, isSelected, isFocused); DefaultStyles.label = UnityStyles.Tree.Label; }
static void RepositoryListViewItemCellGUI( Rect rect, RepositoryListViewItem item, RepositoriesListColumn column, float rowHeight, bool isSelected, bool isFocused) { if (column == RepositoriesListColumn.Name) { DrawTreeViewItem.ForItemCell( rect, rowHeight, 0, Images.GetImage(Images.Name.IconRepository), null, item.Repository.Name, isSelected, isFocused, false, false); return; } DrawTreeViewItem.ForSecondaryLabel( rect, item.Repository.Server, isSelected, isFocused, false); }
protected override void RowGUI(RowGUIArgs args) { DrawTreeViewItem.InitializeStyles(); if (args.item is ChangeCategoryTreeViewItem) { CategoryTreeViewItemGUI( args.rowRect, rowHeight, (ChangeCategoryTreeViewItem)args.item, args.selected, args.focused); return; } if (args.item is ChangeTreeViewItem) { ChangeTreeViewItemGUI( mWkInfo.ClientPath, this, mPendingChangesTree, (ChangeTreeViewItem)args.item, args); return; } base.RowGUI(args); }
static void ClientDiffTreeViewItemGUI( Rect rowRect, float rowHeight, UnityDiffTree diffTree, ClientDiffTreeViewItem item, bool isSelected, bool isFocused) { string label = ClientDiffView.GetColumnText( item.Difference.DiffWithMount.Mount.RepSpec, item.Difference.DiffWithMount.Difference, PlasticLocalization.GetString(PlasticLocalization.Name.PathColumn)); if (diffTree.HasMeta(item.Difference)) { label = string.Concat(label, UnityConstants.TREEVIEW_META_LABEL); } Texture icon = GetClientDiffIcon( item.Difference.DiffWithMount.Difference.IsDirectory, label); DrawTreeViewItem.ForItemCell( rowRect, rowHeight, item.depth, icon, null, label, isSelected, isFocused, false, false); }
static void CategoryTreeViewItemGUI( Rect rowRect, float rowHeight, ChangeCategoryTreeViewItem item, bool isSelected, bool isFocused) { Texture icon = GetCategoryIcon(item.Category); string label = item.Category.GetHeaderText(); bool wasChecked = item.Category.IsChecked(); bool hadCheckedChildren = item.Category.GetCheckedChangesCount() > 0; bool isChecked = DrawTreeViewItem.ForCheckableCategoryItem( rowRect, rowHeight, item.depth, icon, label, isSelected, isFocused, wasChecked, hadCheckedChildren); if (!wasChecked && isChecked) { item.Category.UpdateCheckedState(true); return; } if (wasChecked && !isChecked) { item.Category.UpdateCheckedState(false); return; } }
static void IncomingChangeTreeViewItemCellGUI( string wkPath, Rect rect, float rowHeight, UnityIncomingChangesTree incomingChangesTree, IncomingChangesTreeView treeView, ChangeTreeViewItem item, Action onCheckedNodeChanged, IncomingChangesTreeColumn column, bool isSelected, bool isFocused, bool isCurrentConflict, bool isSolvedConflict) { IncomingChangeInfo incomingChange = item.ChangeInfo; string label = incomingChange.GetColumnText( IncomingChangesTreeHeaderState.GetColumnName(column)); if (column == IncomingChangesTreeColumn.Path) { if (incomingChangesTree.HasMeta(item.ChangeInfo)) { label = string.Concat(label, UnityConstants.TREEVIEW_META_LABEL); } Texture icon = GetIcon(wkPath, incomingChange); GetChangesOverlayIcon.Data overlayIconData = GetChangesOverlayIcon.ForGluonIncomingChange( incomingChange, isSolvedConflict); bool wasChecked = incomingChange.IsChecked(); bool isChecked = DrawTreeViewItem.ForCheckableItemCell( rect, rowHeight, item.depth, icon, overlayIconData, label, isSelected, isFocused, isCurrentConflict, wasChecked); incomingChange.UpdateCheckedState(isChecked); if (wasChecked != isChecked) { UpdateCheckStateForSelection(treeView, item); onCheckedNodeChanged(); } return; } if (column == IncomingChangesTreeColumn.Size) { DrawTreeViewItem.ForSecondaryLabelRightAligned( rect, label, isSelected, isFocused, isCurrentConflict); return; } DrawTreeViewItem.ForSecondaryLabel( rect, label, isSelected, isFocused, isCurrentConflict); }
static void CategoryTreeViewItemGUI( PendingChangesTreeView treeView, Rect rowRect, float rowHeight, ChangeCategoryTreeViewItem item, bool isSelected, bool isFocused) { Texture icon = GetCategoryIcon(item.Category); string label = item.Category.CategoryName; string secondaryLabel = item.Category.GetCheckedChangesText(); bool wasChecked = item.Category.IsChecked(); bool hadCheckedChildren = item.Category.GetCheckedChangesCount() > 0; bool isChecked = DrawTreeViewItem.ForCheckableCategoryItem( rowRect, rowHeight, item.depth, icon, label, secondaryLabel, isSelected, isFocused, wasChecked, hadCheckedChildren); if (wasChecked != isChecked) { item.Category.UpdateCheckedState(isChecked); treeView.SelectionChanged(); } }
static void ErrorListViewItemCellGUI( Rect rect, float rowHeight, WorkspaceInfo wkInfo, HashSet <ErrorMessage> checkedErrors, ErrorListViewItem item, Action onCheckedErrorChanged, UpdateReportListColumn column, bool isSelected, bool isFocused) { ErrorMessage errorMessage = item.ErrorMessage; string label = GetColumnText( wkInfo, errorMessage, UpdateReportListHeaderState.GetColumnName(column)); bool wasChecked = checkedErrors.Contains(errorMessage); bool isChecked = DrawTreeViewItem.ForCheckableItemCell( rect, rowHeight, 0, null, null, label, isSelected, isFocused, false, wasChecked); if (wasChecked != isChecked) { UpdateCheckState( checkedErrors, errorMessage, isChecked); onCheckedErrorChanged(); } }
static void UpdateReportListViewItemCellGUI( Rect rect, string wkPath, UpdateReportLineListViewItem item, ErrorsListColumn column, float rowHeight, bool isSelected, bool isFocused, int totalLinesCount, Action onCheckedReportLineChanged, HashSet <UpdateReportLineListViewItem> checkedLines) { string label = WorkspacePath.GetWorkspaceRelativePath( wkPath, item.ReportLine.ItemPath); bool wasChecked = checkedLines.Contains(item); bool isChecked = DrawTreeViewItem.ForCheckableItemCell( rect, rowHeight, 0, null, null, label, isSelected, isFocused, false, wasChecked); if (wasChecked != isChecked) { UpdateCheckedState(checkedLines, item, isChecked); onCheckedReportLineChanged(); } }
static void HistoryListViewItemCellGUI( Rect rect, float rowHeight, string wkPath, RepositorySpec repSpec, HistoryListViewItem item, HistoryListColumn column, Action avatarLoadedAction, bool isSelected, bool isFocused, bool isBoldText) { string columnText = HistoryInfoView.GetColumnText( wkPath, repSpec, item.Revision, HistoryListHeaderState.GetColumnName(column)); if (column == HistoryListColumn.Changeset) { DrawTreeViewItem.ForItemCell( rect, rowHeight, 0, GetRevisionIcon(item.Revision), null, columnText, isSelected, isFocused, isBoldText, false); return; } if (column == HistoryListColumn.CreatedBy) { DrawTreeViewItem.ForItemCell( rect, rowHeight, -1, GetAvatar.ForEmail(columnText, avatarLoadedAction), null, columnText, isSelected, isFocused, isBoldText, false); return; } if (column == HistoryListColumn.Branch) { DrawTreeViewItem.ForSecondaryLabel( rect, columnText, isSelected, isFocused, isBoldText); return; } DrawTreeViewItem.ForLabel( rect, columnText, isSelected, isFocused, isBoldText); }
static void IncomingChangeTreeViewItemCellGUI( string wkPath, Rect rect, float rowHeight, UnityIncomingChangesTree incomingChangesTree, IncomingChangesTreeView treeView, ChangeTreeViewItem item, IncomingChangesTreeColumn column, bool isSelected, bool isFocused, bool isCurrentConflict, bool isSolvedConflict) { IncomingChangeInfo incomingChange = item.ChangeInfo; string label = incomingChange.GetColumnText( IncomingChangesTreeHeaderState.GetColumnName(column)); if (column == IncomingChangesTreeColumn.Path) { if (incomingChangesTree.HasMeta(item.ChangeInfo)) { label = string.Concat(label, UnityConstants.TREEVIEW_META_LABEL); } Texture icon = GetIcon(wkPath, incomingChange); GetChangesOverlayIcon.Data overlayIconData = GetChangesOverlayIcon.ForPlasticIncomingChange( incomingChange, isSolvedConflict); DrawTreeViewItem.ForItemCell( rect, rowHeight, item.depth, icon, overlayIconData, label, isSelected, isFocused, isCurrentConflict, false); return; } if (column == IncomingChangesTreeColumn.Size) { DrawTreeViewItem.ForSecondaryLabelRightAligned( rect, label, isSelected, isFocused, isCurrentConflict); return; } DrawTreeViewItem.ForSecondaryLabel( rect, label, isSelected, isFocused, isCurrentConflict); }
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); }
protected override void RowGUI(RowGUIArgs args) { DrawTreeViewItem.InitializeStyles(); if (args.item is MergeCategoryTreeViewItem) { MergeCategoryTreeViewItemGUI( args.rowRect, rowHeight, (MergeCategoryTreeViewItem)args.item, args.selected, args.focused); return; } if (args.item is ChangeCategoryTreeViewItem) { ChangeCategoryTreeViewItemGUI( args.rowRect, rowHeight, (ChangeCategoryTreeViewItem)args.item, args.selected, args.focused); return; } if (args.item is ClientDiffTreeViewItem) { float itemWidth; ClientDiffTreeViewItemGUI( args.rowRect, rowHeight, mDiffTree, (ClientDiffTreeViewItem)args.item, args.selected, args.focused, out itemWidth); float rowWidth = baseIndent + args.item.depth * depthIndentWidth + itemWidth + UnityConstants.TREEVIEW_ROW_WIDTH_OFFSET; if (rowWidth > mLargestRowWidth) { mLargestRowWidth = rowWidth; } return; } base.RowGUI(args); }
protected override void RowGUI(RowGUIArgs args) { DrawTreeViewItem.InitializeStyles(); if (args.item is ChangeCategoryTreeViewItem) { ChangeCategoryTreeViewItem categoryItem = (ChangeCategoryTreeViewItem)args.item; CategoryTreeViewItemGUI( args.rowRect, rowHeight, categoryItem, GetSolvedChildrenCount(categoryItem.Category, mSolvedFileConflicts), args.selected, args.focused); return; } if (args.item is ChangeTreeViewItem) { ChangeTreeViewItem changeTreeViewItem = (ChangeTreeViewItem)args.item; IncomingChangeInfo changeInfo = changeTreeViewItem.ChangeInfo; bool isCurrentConflict = IsCurrent.Conflict( changeInfo, mIncomingChangesTree.GetMetaChange(changeInfo), mSolvedFileConflicts); bool isSolvedConflict = IsSolved.Conflict( changeInfo, mIncomingChangesTree.GetMetaChange(changeInfo), mSolvedFileConflicts); IncomingChangeTreeViewItemGUI( mWkInfo.ClientPath, mIncomingChangesTree, this, changeTreeViewItem, args, isCurrentConflict, isSolvedConflict); return; } base.RowGUI(args); }
protected override void BeforeRowsGUI() { int firstRowVisible; int lastRowVisible; GetFirstAndLastVisibleRows(out firstRowVisible, out lastRowVisible); GUI.DrawTexture(new Rect(0, firstRowVisible * rowHeight, GetRowRect(0).width, (lastRowVisible * rowHeight) + 1000), Images.GetTreeviewBackgroundTexture()); DrawTreeViewItem.InitializeStyles(); base.BeforeRowsGUI(); }
protected override void RowGUI(RowGUIArgs args) { DrawTreeViewItem.InitializeStyles(); if (args.item is ChangeCategoryTreeViewItem) { CategoryTreeViewItemGUI( args.rowRect, rowHeight, (ChangeCategoryTreeViewItem)args.item, mOnCheckedNodeChanged, mSolvedConflicts.Count, args.selected, args.focused); return; } if (args.item is ChangeTreeViewItem) { ChangeTreeViewItem changeTreeViewItem = (ChangeTreeViewItem)args.item; IncomingChangeInfo changeInfo = changeTreeViewItem.ChangeInfo; IncomingChangeInfo metaChangeInfo = mIncomingChangesTree.GetMetaChange( changeInfo); bool isCurrentConflict = IsCurrentConflict( changeInfo, metaChangeInfo, mCurrentConflict); bool isSolvedConflict = IsSolvedConflict( changeInfo, metaChangeInfo, mSolvedConflicts); IncomingChangeTreeViewItemGUI( mWkInfo.ClientPath, mIncomingChangesTree, this, changeTreeViewItem, mOnCheckedNodeChanged, args, isCurrentConflict, isSolvedConflict); return; } base.RowGUI(args); }
static void CategoryTreeViewItemGUI( Rect rowRect, float rowHeight, ChangeCategoryTreeViewItem item, Action onCheckedNodeChanged, int solvedConflictsCount, bool isSelected, bool isFocused) { Texture icon = GetCategoryIcon(item.Category.CategoryType); string label = item.Category.CategoryName; string infoLabel = item.Category.GetCheckedChangesText(); bool wasChecked = item.Category.IsChecked(); bool hadCheckedChildren = item.Category.GetCheckedChangesCount() > 0; DefaultStyles.label = GetCategoryStyle( item.Category, solvedConflictsCount, isSelected); bool isChecked = DrawTreeViewItem.ForCheckableCategoryItem( rowRect, rowHeight, item.depth, icon, label, infoLabel, isSelected, isFocused, wasChecked, hadCheckedChildren); DefaultStyles.label = UnityStyles.Tree.Label; if (!wasChecked && isChecked) { item.Category.UpdateCheckedState(true); onCheckedNodeChanged(); return; } if (wasChecked && !isChecked) { item.Category.UpdateCheckedState(false); onCheckedNodeChanged(); return; } }
void DoListViewItem( Rect itemRect, Texture fileIcon, string label, AssetsOverlays.AssetStatus statusToDraw) { Texture overlayIcon = DrawAssetOverlay.DrawOverlayIcon. GetOverlayIcon(statusToDraw); itemRect = DrawTreeViewItem.DrawIconLeft( itemRect, UnityConstants.TREEVIEW_ROW_HEIGHT, fileIcon, overlayIcon); GUI.Label(itemRect, label); }
static void ChangesetsListViewItemCellGUI( Rect rect, float rowHeight, ViewQueryResult queryResult, ChangesetListViewItem item, ChangesetsListColumn column, Action avatarLoadedAction, bool isSelected, bool isFocused, bool isBoldText) { string columnText = RepObjectInfoView.GetColumnText( queryResult.GetRepositorySpec(item.ObjectInfo), queryResult.GetRepObjectInfo(item.ObjectInfo), ChangesetsListHeaderState.GetColumnName(column)); if (column == ChangesetsListColumn.CreatedBy) { DrawTreeViewItem.ForItemCell( rect, rowHeight, -1, GetAvatar.ForEmail(columnText, avatarLoadedAction), null, columnText, isSelected, isFocused, isBoldText, false); return; } if (column == ChangesetsListColumn.Branch || column == ChangesetsListColumn.Repository || column == ChangesetsListColumn.Guid) { DrawTreeViewItem.ForSecondaryLabel( rect, columnText, isSelected, isFocused, isBoldText); return; } DrawTreeViewItem.ForLabel( rect, columnText, isSelected, isFocused, isBoldText); }
static void MergeCategoryTreeViewItemGUI( Rect rowRect, float rowHeight, MergeCategoryTreeViewItem item, bool isSelected, bool isFocused) { Texture icon = Images.GetImage(Images.Name.IconMergeCategory); string label = item.Category.GetHeaderText(); DrawTreeViewItem.ForCategoryItem( rowRect, rowHeight, item.depth, icon, label, isSelected, isFocused); }
static void ChangeCategoryTreeViewItemGUI( Rect rowRect, float rowHeight, ChangeCategoryTreeViewItem item, bool isSelected, bool isFocused) { Texture icon = GetChangeCategoryIcon(item.Category); string label = item.Category.GetHeaderText(); DrawTreeViewItem.ForCategoryItem( rowRect, rowHeight, item.depth, icon, label, isSelected, isFocused); }
protected override void RowGUI(RowGUIArgs args) { DrawTreeViewItem.InitializeStyles(); if (args.item is BranchListViewItem) { BranchListViewItem branchListViewItem = (BranchListViewItem)args.item; BranchInfo branchInfo = (BranchInfo)branchListViewItem.ObjectInfo; BranchesListViewItemGUI( mQueryResult, rowHeight, branchListViewItem, args, branchInfo.BranchId == mLoadedBranchId, Repaint); return; } base.RowGUI(args); }
protected override void RowGUI(RowGUIArgs args) { DrawTreeViewItem.InitializeStyles(); if (args.item is ChangesetListViewItem) { ChangesetListViewItem changesetListViewItem = (ChangesetListViewItem)args.item; ChangesetInfo changesetInfo = (ChangesetInfo)changesetListViewItem.ObjectInfo; ChangesetsListViewItemGUI( mQueryResult, rowHeight, changesetListViewItem, args, changesetInfo.ChangesetId == mLoadedChangesetId, Repaint); return; } base.RowGUI(args); }
protected override void RowGUI(RowGUIArgs args) { DrawTreeViewItem.InitializeStyles(); if (args.item is MergeCategoryTreeViewItem) { MergeCategoryTreeViewItemGUI( args.rowRect, rowHeight, (MergeCategoryTreeViewItem)args.item, args.selected, args.focused); return; } if (args.item is ChangeCategoryTreeViewItem) { ChangeCategoryTreeViewItemGUI( args.rowRect, rowHeight, (ChangeCategoryTreeViewItem)args.item, args.selected, args.focused); return; } if (args.item is ClientDiffTreeViewItem) { ClientDiffTreeViewItemGUI( args.rowRect, rowHeight, mDiffTree, (ClientDiffTreeViewItem)args.item, args.selected, args.focused); return; } base.RowGUI(args); }
static void ErrorListViewItemCellGUI( Rect rect, ErrorListViewItem item, ErrorsListColumn column, bool isSelected, bool isFocused) { ErrorMessage errorMessage = item.ErrorMessage; string label = column == ErrorsListColumn.Path ? errorMessage.Path : errorMessage.Error; if (column == ErrorsListColumn.Path) { DrawTreeViewItem.ForLabel( rect, label, isSelected, isFocused, false); return; } DrawTreeViewItem.ForSecondaryLabel( rect, label, isSelected, isFocused, false); }
static void IncomingChangeTreeViewItemCellGUI( string wkPath, Rect rect, float rowHeight, UnityIncomingChangesTree incomingChangesTree, IncomingChangesTreeView treeView, ChangeTreeViewItem item, IncomingChangesTreeColumn column, bool isSelected, bool isFocused, bool isCurrentConflict, bool isSolvedConflict) { MergeChangeInfo incomingChange = item.ChangeInfo; string label = incomingChange.GetColumnText( IncomingChangesTreeHeaderState.GetColumnName(column)); if (column == IncomingChangesTreeColumn.Path) { if (incomingChangesTree.HasMeta(item.ChangeInfo)) { label = string.Concat(label, UnityConstants.TREEVIEW_META_LABEL); } Texture icon = GetIcon(wkPath, incomingChange); Texture overlayIcon = GetChangesOverlayIcon.ForPlasticIncomingChange( incomingChange, isSolvedConflict); DrawTreeViewItem.ForItemCell( rect, rowHeight, item.depth, icon, overlayIcon, label, isSelected, isFocused, isCurrentConflict, false); return; } if (column == IncomingChangesTreeColumn.Size) { // If there is a meta file, add the meta file to the file size so that it is consistent // with the Incoming Changes overview if (incomingChangesTree.HasMeta(item.ChangeInfo)) { MergeChangeInfo metaFileInfo = incomingChangesTree.GetMetaChange(incomingChange); long metaFileSize = metaFileInfo.GetSize(); long fileSize = incomingChange.GetSize(); label = SizeConverter.ConvertToSizeString(fileSize + metaFileSize); } DrawTreeViewItem.ForSecondaryLabelRightAligned( rect, label, isSelected, isFocused, isCurrentConflict); return; } DrawTreeViewItem.ForSecondaryLabel( rect, label, isSelected, isFocused, isCurrentConflict); }
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); }