示例#1
0
        protected ToggleGroupCommandDefinitionBase(string commandName, TraceListItemType groupType)
        {
            mCommandName = commandName;

            mImageSource = new Uri(string.Format("/Modules/TraceList/Images/{0}.png",
                                                 groupType.ToString()),
                                   UriKind.Relative);
        }
        private void UpdateCommand(Command command, TraceListItemType type, bool showGroup)
        {
            int group_count = GetGroupCount(type);

            command.Enabled = group_count > 0;
            command.Checked = command.Enabled && showGroup;

            string text = string.Format("{0} {1}", group_count, type.ToDisplayString(group_count != 1));

            command.Text = command.ToolTip = text;
        }
        private int GetGroupCount(TraceListItemType type)
        {
            int count = 0;

            foreach (var item in mTraceList.Items)
            {
                if (item.ItemType == type)
                {
                    count++;
                }
            }

            return(count);
        }
示例#4
0
        public void AddItem(TraceListItemType type, long timeStamp, string sourceName, string message
                            , object[] data = null, System.Action onClick = null)
        {
            if (PauseTracing)
            {
                // #NOTE_PHXSTUDIO I think I still want to track the total number of would-be traces
                ++mItemNumber;
                TotalNumberOfTraces = mItemNumber;
                return;
            }

            var settings      = PhxStudio.Properties.Settings.Default;
            var traceSettings = settings.TraceSourceOptions;

            if (traceSettings != null)
            {
                if (traceSettings.MaxTraceListItems.IsNotNone())
                {
                    int surplus_count = Items.Count;
                    surplus_count += 1;                     // we're adding one
                    surplus_count -= traceSettings.MaxTraceListItems;
                    while (surplus_count-- > 0)
                    {
                        Items.RemoveAt(0);
                    }
                }
            }

            var item = new TraceListItem
            {
                ItemType   = type,
                Number     = ++mItemNumber,
                TimeStamp  = timeStamp,
                SourceName = sourceName,
                Message    = message,
                Data       = data,
                OnClick    = onClick,
            };

            Items.Add(item);
            TotalNumberOfTraces = mItemNumber;
        }
        public static string ToDisplayString(this TraceListItemType type, bool plural)
        {
            switch (type)
            {
            case TraceListItemType.Error:
                if (plural)
                {
                    return(nameof(TraceListItemType.Error) + "s");
                }
                else
                {
                    return(nameof(TraceListItemType.Error));
                }

            case TraceListItemType.Warning:
                if (plural)
                {
                    return(nameof(TraceListItemType.Warning) + "s");
                }
                else
                {
                    return(nameof(TraceListItemType.Warning));
                }

            case TraceListItemType.Start:
                if (plural)
                {
                    return(nameof(TraceListItemType.Start) + "s");
                }
                else
                {
                    return(nameof(TraceListItemType.Start));
                }

            case TraceListItemType.Stop:
                if (plural)
                {
                    return(nameof(TraceListItemType.Stop) + "s");
                }
                else
                {
                    return(nameof(TraceListItemType.Stop));
                }

            case TraceListItemType.Suspend:
                return(nameof(TraceListItemType.Suspend) + "ed");

            case TraceListItemType.Resume:
                if (plural)
                {
                    return(nameof(TraceListItemType.Resume) + "s");
                }
                else
                {
                    return(nameof(TraceListItemType.Resume));
                }

            case TraceListItemType.Transfer:
                if (plural)
                {
                    return(nameof(TraceListItemType.Transfer) + "s");
                }
                else
                {
                    return(nameof(TraceListItemType.Transfer));
                }

            default:
                return(type.ToString());
            }
        }