示例#1
0
        protected override void OnInitialize(AsyncStatus status)
        {
            // This is a default column which already exists when the control is created.
            NameColumn = Columns[0];
            NameColumn.Title = "Name";
            NameColumn.SetWidth(150);

            TaskIdColumn = new MmcListViewColumn("Task ID", -1);
            StartColumn = new MmcListViewColumn("Start Time", -1);
            EndColumn = new MmcListViewColumn("End Time", -1);
            DurationColumn = new MmcListViewColumn("Duration", -1);
            CompletedColumn = new MmcListViewColumn("Completed", -1);

            Columns.AddRange(new MmcListViewColumn[] { TaskIdColumn, StartColumn, EndColumn,
                DurationColumn, CompletedColumn });

            Refresh();

            MMC.Action RefreshAction = new MMC.Action("Refresh",
                "Refresh the Task List", SnapInShared.Refresh, "Refresh");
            ActionsPaneItems.Add(RefreshAction);

            Mode = MmcListViewMode.Report;

            InitializeWatchers();

            base.OnInitialize(status);
        }
 internal MmcListViewColumnCollection(MmcListView listView) : base(typeof(MmcListViewColumn))
 {
     this._itemsById = new Hashtable();
     if (listView == null)
     {
         throw new ArgumentNullException("listView");
     }
     this._listView = listView;
     MmcListViewColumn column = new MmcListViewColumn(Microsoft.ManagementConsole.Internal.Utility.Resources.GetString(Microsoft.ManagementConsole.Internal.Strings.MicrosoftManagementConsoleFxColumnDefaultTitle, CultureInfo.CurrentUICulture), -1, MmcListViewColumnFormat.Left, true);
     column.ListView = this._listView;
     column.Changed += new MmcListViewColumn.ColumnChangedEventHandler(this.ItemChanged);
     this._itemsById[column.Id] = column;
     base.InnerList.Add(column);
 }
 public void Clear()
 {
     if (base.Count > 1)
     {
         MmcListViewColumn[] items = new MmcListViewColumn[base.Count - 1];
         for (int i = 1; i < base.Count; i++)
         {
             items[i - 1] = this[i];
         }
         base.InnerList.RemoveRange(1, base.Count - 1);
         try
         {
             this.OnItemsRemoved(1, items);
         }
         catch
         {
             foreach (MmcListViewColumn column in items)
             {
                 base.InnerList.Add(column);
             }
             throw;
         }
     }
 }
 public void Insert(int index, MmcListViewColumn column)
 {
     base.Insert(index, column);
 }
 public int IndexOf(MmcListViewColumn column)
 {
     return base.List.IndexOf(column);
 }
 public void CopyTo(MmcListViewColumn[] array, int index)
 {
     this.CopyTo(array, index);
 }
 public bool Contains(MmcListViewColumn column)
 {
     return base.List.Contains(column);
 }
 public void AddRange(MmcListViewColumn[] columns)
 {
     base.AddRange(columns);
 }
示例#9
0
 private void SynchronizeColumns(MmcListViewColumn[] items, int index, ColumnCollectionChangeType changeType)
 {
     if (items == null)
     {
         throw new ArgumentNullException("items");
     }
     ISnapInPlatform snapInPlatform = base.SnapIn.SnapInPlatform;
     if (snapInPlatform == null)
     {
         throw Microsoft.ManagementConsole.Internal.Utility.CreateClassNotInitializedException("MmcListView", "SynchronizeColumns");
     }
     if (items.Length < 1)
     {
         TraceSources.ExecutiveSource.TraceEvent(TraceEventType.Verbose, 12, "Empty column update for view {0}.", new object[] { base.ViewInstanceId });
     }
     else
     {
         UpdateColumnsCommand command = new UpdateColumnsCommand();
         command.ViewInstanceId = base.ViewInstanceId;
         command.ChangeType = changeType;
         command.Index = index;
         ColumnData[] data = new ColumnData[items.Length];
         for (int i = 0; i < items.Length; i++)
         {
             data[i] = items[i].Data;
         }
         command.SetData(data);
         snapInPlatform.ProcessCommand(command);
     }
 }
 public void Remove(MmcListViewColumn column)
 {
     base.List.Remove(column);
 }
 protected override void OnItemsRemoved(int index, object[] items)
 {
     if (index == 0)
     {
         throw new ArgumentException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.ColumnCollectionOnItemsRemovedFirstColumn), "index");
     }
     if ((this._listView != null) && (this._listView.ResultNodes.Count != 0))
     {
         throw new InvalidOperationException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.ColumnCollectionOnItemsRemovedResultNode));
     }
     foreach (MmcListViewColumn column in items)
     {
         column.Changed -= new MmcListViewColumn.ColumnChangedEventHandler(this.ItemChanged);
         column.ListView = null;
         this._itemsById.Remove(column.Id);
     }
     MmcListViewColumn[] destinationArray = new MmcListViewColumn[items.Length];
     Array.Copy(items, destinationArray, items.Length);
     this.Notify(index, destinationArray, ColumnCollectionChangeType.Remove);
 }
 protected override void OnItemsAdded(int index, object[] items)
 {
     if (index == 0)
     {
         throw new ArgumentException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.ColumnCollectionOnItemsAddedIndexError), "index");
     }
     if ((this._listView != null) && (this._listView.ResultNodes.Count != 0))
     {
         throw new InvalidOperationException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.ColumnCollectionOnItemsAddedInvalidOperationResultNode));
     }
     foreach (MmcListViewColumn column in items)
     {
         if (column == null)
         {
             throw Microsoft.ManagementConsole.Internal.Utility.CreateArgumentException("items[x]", Microsoft.ManagementConsole.Internal.Strings.ArgumentExceptionNullValue, new object[0]);
         }
         if (column.ListView != null)
         {
             throw new InvalidOperationException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.ColumnCollectionOnItemsAddedInvalidOperationInsertTwice));
         }
     }
     foreach (MmcListViewColumn column2 in items)
     {
         column2.Changed += new MmcListViewColumn.ColumnChangedEventHandler(this.ItemChanged);
         column2.ListView = this._listView;
         this._itemsById[column2.Id] = column2;
     }
     MmcListViewColumn[] destinationArray = new MmcListViewColumn[items.Length];
     Array.Copy(items, destinationArray, items.Length);
     this.Notify(index, destinationArray, ColumnCollectionChangeType.Add);
 }
 private void Notify(int index, MmcListViewColumn[] columns, ColumnCollectionChangeType action)
 {
     if (this.ItemsChanged != null)
     {
         this.ItemsChanged(this, new ColumnCollectionEventArgs(index, columns, action));
     }
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="status">asynchronous status to update the console</param>
        protected override void OnInitialize(AsyncStatus status)
        {
            // Create a set of columns for use in the list view
            DescriptionColumn = new MmcListViewColumn("Description ", 300);
            StatusColumn = new MmcListViewColumn("Status", -1);
            StartupType = new MmcListViewColumn("Startup Type", -1);
            LogOnAs = new MmcListViewColumn("Log On As", -1);

            Columns.AddRange(new MmcListViewColumn[] { DescriptionColumn, StatusColumn, StartupType, LogOnAs });
            Columns[0].Title = "Service ";
            Columns[0].SetWidth(200);

            // load the list with values
            Refresh();

            // Add a view Action.
            Action ViewAction = new Action("Refresh", "refresh", -1, "Refresh");
            ViewAction.Checked = true;
            ActionsPaneItems.Add(ViewAction);

            Mode = MmcListViewMode.LargeIcon;

            base.OnInitialize(status);
        }
 public void InsertRange(int index, MmcListViewColumn[] columns)
 {
     base.InsertRange(index, columns);
 }
 public void Add(MmcListViewColumn column)
 {
     base.List.Add(column);
 }
 public ColumnCollectionEventArgs(int index, MmcListViewColumn[] items, ColumnCollectionChangeType changeType)
 {
     this._index = index;
     this._items = items;
     this._changeType = changeType;
 }
示例#18
0
 internal override void InternalInitialize()
 {
     MmcListViewDescription viewDescription = base.ViewDescription as MmcListViewDescription;
     if (viewDescription == null)
     {
         throw new InvalidOperationException(Microsoft.ManagementConsole.Internal.Utility.FormatResourceString("Microsoft.ManagementConsole.ViewDescription.InvalidViewDescription", new object[] { "MmcListView", "MmcListViewDescription" }));
     }
     this._options = viewDescription.Options;
     if (this._mode != MmcListViewMode.Report)
     {
         this.SynchronizeMode(this._mode);
     }
     if (this._columns != null)
     {
         this.SynchronizeColumns(new MmcListViewColumn[] { this._columns[0] }, 0, ColumnCollectionChangeType.Modify);
         int length = this._columns.Count - 1;
         if (length > 0)
         {
             MmcListViewColumn[] sourceArray = this._columns.ToArray();
             MmcListViewColumn[] destinationArray = new MmcListViewColumn[length];
             Array.Copy(sourceArray, 1, destinationArray, 0, length);
             this.SynchronizeColumns(destinationArray, 1, ColumnCollectionChangeType.Add);
         }
     }
     if ((this._resultNodes != null) && (this._resultNodes.Count > 0))
     {
         this.SynchronizeResultNodes(this.ResultNodes.ToArray(), 0, ResultNodeCollectionChangeType.Add);
     }
     if (this._pendingSortCommand != null)
     {
         bool descending = this._pendingSortCommand.Descending;
         int[] ids = new int[this.ResultNodes.Count];
         for (int i = 0; i < this.ResultNodes.Count; i++)
         {
             int index = descending ? ((this.ResultNodes.Count - i) - 1) : i;
             ids[index] = this.ResultNodes[i].Id;
         }
         this._pendingSortCommand.ViewInstanceId = base.ViewInstanceId;
         this._pendingSortCommand.SetIds(ids);
         base.SnapIn.SnapInPlatform.ProcessCommand(this._pendingSortCommand);
         this._pendingSortCommand = null;
     }
 }