Exemplo n.º 1
0
        /// <summary>
        /// Подготовка списка для наполнения элемента ListViewListView
        /// </summary>
        /// <param name="processPerformer">Используемый обработчик процессов</param>
        private void PrepareListView(ProcessPerformer processPerformer)
        {
            _listViewActions = new List <ListViewAction>();

            listView.Clear();
            listView.Groups.Clear();

            CreateGroups(processPerformer);
            CreateListViewColumns();
            FillListView();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Инициализация основных объектов, обеспечивающих обработку процессов
        /// </summary>
        private void InitializeProcessObjects()
        {
            //IoC-контейнер
            var container = ContainersFactory.GetContainer();
            //Оповещатель
            var messenger = container.Resolve <IMessenger>();
            //Загрузчик процессов
            var processLoader = container.Resolve <IProcessLoader>();
            var timer         = container.Resolve <ITimer>();

            _processPerformer = new ProcessPerformer(messenger, timer, processLoader);

            messenger.OnMessengerStateChange += MessengerStateChanged;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Группировка действий по процессам
        /// </summary>
        /// <param name="processPerformer"></param>
        private void CreateGroups(ProcessPerformer processPerformer)
        {
            if (!processPerformer.IsValid)
            {
                return;
            }

            foreach (var process in processPerformer.Processes)
            {
                listView.Groups.Add(new ListViewGroup(process.Name, process.Name));
                foreach (var action in process.Actions)
                {
                    if (IsStartOrEnd(action.Name))
                    {
                        continue;
                    }
                    _listViewActions.Add(
                        new ListViewAction(action.Name, process.Name));
                }
            }
        }