void BuildComponents( PlasticGUIClient plasticClient, EditorWindow plasticWindow) { mHelpPanel = new HelpPanel(plasticWindow); mAdvancedDropdownMenu = new GenericMenu(); mAdvancedDropdownMenu.AddItem(new GUIContent( PlasticLocalization.GetString(PlasticLocalization.Name.UndoUnchangedButton)), false, () => { }); mSearchField = new SearchField(); mSearchField.downOrUpArrowKeyPressed += SearchField_OnDownOrUpArrowKeyPressed; PendingChangesTreeHeaderState headerState = PendingChangesTreeHeaderState.Default; TreeHeaderSettings.Load(headerState, UnityConstants.PENDING_CHANGES_TABLE_SETTINGS_NAME, (int)PendingChangesTreeColumn.Item, true); mPendingChangesTreeView = new PendingChangesTreeView( mWkInfo, headerState, PendingChangesTreeHeaderState.GetColumnNames(), new PendingChangesViewMenu(this, this, this)); mPendingChangesTreeView.Reload(); mMergeLinksListView = new MergeLinksListView(); mMergeLinksListView.Reload(); }
internal PendingChangesTreeView( WorkspaceInfo wkInfo, PendingChangesTreeHeaderState headerState, List <string> columnNames, PendingChangesViewMenu menu) : base(new TreeViewState()) { mWkInfo = wkInfo; mColumnNames = columnNames; mMenu = menu; mPendingChangesTree = new UnityPendingChangesTree(); multiColumnHeader = new PendingChangesMultiColumnHeader( headerState, mPendingChangesTree); multiColumnHeader.canSort = true; multiColumnHeader.sortingChanged += SortingChanged; customFoldoutYOffset = UnityConstants.TREEVIEW_FOLDOUT_Y_OFFSET; rowHeight = UnityConstants.TREEVIEW_ROW_HEIGHT; showAlternatingRowBackgrounds = true; mCooldownFilterAction = new CooldownWindowDelayer( DelayedSearchChanged, UnityConstants.SEARCH_DELAYED_INPUT_ACTION_INTERVAL); }
internal PendingChangesTreeView( WorkspaceInfo wkInfo, PendingChangesTreeHeaderState headerState, PendingChangesViewMenu menu) : base(new TreeViewState()) { mWkInfo = wkInfo; mMenu = menu; mPendingChangesTree = new UnityPendingChangesTree(); mColumnNames = new List <string>(); mColumnNames.Add(PlasticLocalization.GetString(PlasticLocalization.Name.ItemColumn)); mColumnNames.Add(PlasticLocalization.GetString(PlasticLocalization.Name.StatusColumn)); mColumnNames.Add(PlasticLocalization.GetString(PlasticLocalization.Name.SizeColumn)); mColumnNames.Add(PlasticLocalization.GetString(PlasticLocalization.Name.ExtensionColumn)); mColumnNames.Add(PlasticLocalization.GetString(PlasticLocalization.Name.TypeColumn)); mColumnNames.Add(PlasticLocalization.GetString(PlasticLocalization.Name.DateModifiedColumn)); mColumnNames.Add(PlasticLocalization.GetString(PlasticLocalization.Name.RepositoryColumn)); multiColumnHeader = new PendingChangesMultiColumnHeader( headerState, mPendingChangesTree); multiColumnHeader.canSort = true; multiColumnHeader.sortingChanged += SortingChanged; customFoldoutYOffset = UnityConstants.TREEVIEW_FOLDOUT_Y_OFFSET; rowHeight = UnityConstants.TREEVIEW_ROW_HEIGHT; showAlternatingRowBackgrounds = true; mCooldownFilterAction = new CooldownWindowDelayer(DelayedSearchChanged, 0.25); }
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); }