/// <summary> /// Создает экземпляр класса /// </summary> public GuiParams() { _left = 50; _top = 50; _width = 670; _height = 480; _splitterDistances = new Int32[] { 200, 220, 218 }; _logColumnsSize = new ListedEventsViewSettings(); _propsWidth = 530; _propsHeight = 400; _usersWidth = 532; _usersHeight = 391; _passwordHash = null; }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="lv">Представление для размещения событий</param> /// <param name="filterParams">Исходная настройка фильтра для просмотра событий</param> /// <param name="viewSettings">Ширина колонок</param> /// <param name="notifyOnReloadProgress">Сообщать о прогрессе загрузки событий</param> /// <param name="replaceControlItemIcons">Заменять иконки у элементов управления</param> public ListedEventsViewLink(ListView lv, EventLinkFilterBase filterParams, ListedEventsViewSettings viewSettings, bool notifyOnReloadProgress, bool replaceControlItemIcons) { if (lv == null) { throw new ArgumentNullException("lv"); } if (filterParams == null) { throw new ArgumentNullException("filterParams"); } _guiSyncContext = SynchronizationContext.Current; _notifyOnReloadProgress = notifyOnReloadProgress; _replaceControlItemIcons = replaceControlItemIcons; // список значков для событий _lvImages = new ImageList(); _lvImages.ColorDepth = ColorDepth.Depth32Bit; _lvImages.ImageSize = new System.Drawing.Size(16, 16); _lvImages.Images.Add(Resources.Info); _lvImages.Images.Add(Resources.Error); _lvImages.Images.Add(Resources.Warning); // меняем вид представления под отображение лога _lv = lv; _lv.BeginUpdate(); try { _lv.SmallImageList = _lvImages; _lv.LargeImageList = _lvImages; _lv.Items.Clear(); _lv.Columns.Clear(); // внешний вид и поведение _lv.GridLines = true; _lv.View = View.Details; _lv.FullRowSelect = true; _lv.MultiSelect = false; _lv.HideSelection = false; // добавляем колонки _viewSettings = viewSettings; if (_viewSettings == null) { _viewSettings = new ListedEventsViewSettings(); } _lv.Columns.Add("Дата и время", _viewSettings[0]); _lv.Columns.Add("Приложение", _viewSettings[1]); _lv.Columns.Add("Тип", _viewSettings[2]); _lv.Columns.Add("Текст", _viewSettings[3]); // вешаем обработчики событий _lv.DoubleClick += new EventHandler(OnListViewDoubleClick); _lv.ColumnClick += new ColumnClickEventHandler(OnListViewColumnClick); _lv.SelectedIndexChanged += new EventHandler(OnListViewSelectedIndexChanged); _lv.ColumnWidthChanged += new ColumnWidthChangedEventHandler(OnListViewColumnWidthChanged); } finally { _lv.EndUpdate(); } _filterParams = filterParams; // списки контролов для управления процессом просмотра логов _filterItems = new List <ToolStripItem>(); _detailsItems = new List <ToolStripItem>(); _updateItems = new List <ToolStripItem>(); _cleanupItems = new List <ToolStripItem>(); _detailedViewItems = new List <Control>(); UpdateControlsEnabled(); }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="lv">Представление для размещения событий</param> /// <param name="filterParams">Исходная настройка фильтра для просмотра событий</param> /// <param name="viewSettings">Ширина колонок</param> public ListedEventsViewLink(ListView lv, EventLinkFilterBase filterParams, ListedEventsViewSettings viewSettings) : this(lv, filterParams, viewSettings, false, true) { }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="lv">Представление для размещения событий</param> /// <param name="filterParams">Исходная настройка фильтра для просмотра событий</param> /// <param name="viewSettings">Ширина колонок</param> /// <param name="notifyOnReloadProgress">Сообщать о прогрессе загрузки событий</param> public ListedEventsViewLink(ListView lv, EventLinkFilterBase filterParams, ListedEventsViewSettings viewSettings, bool notifyOnReloadProgress) : this(lv, filterParams, viewSettings, notifyOnReloadProgress, true) { }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="lv">Представление для размещения событий</param> /// <param name="filterParams">Исходная настройка фильтра для просмотра событий</param> /// <param name="viewSettings">Ширина колонок</param> /// <param name="notifyOnReloadProgress">Сообщать о прогрессе загрузки событий</param> /// <param name="replaceControlItemIcons">Заменять иконки у элементов управления</param> public ListedEventsViewLink(ListView lv, EventLinkFilterBase filterParams, ListedEventsViewSettings viewSettings, Boolean notifyOnReloadProgress, Boolean replaceControlItemIcons) { if (lv == null) throw new ArgumentNullException("lv"); if (filterParams == null) throw new ArgumentNullException("filterParams"); _guiSyncContext = SynchronizationContext.Current; _notifyOnReloadProgress = notifyOnReloadProgress; _replaceControlItemIcons = replaceControlItemIcons; // список значков для событий _lvImages = new ImageList(); _lvImages.ColorDepth = ColorDepth.Depth32Bit; _lvImages.ImageSize = new System.Drawing.Size(16, 16); _lvImages.Images.Add(Resources.Info); _lvImages.Images.Add(Resources.Error); _lvImages.Images.Add(Resources.Warning); // меняем вид представления под отображение лога _lv = lv; _lv.BeginUpdate(); try { _lv.SmallImageList = _lvImages; _lv.LargeImageList = _lvImages; _lv.Items.Clear(); _lv.Columns.Clear(); // внешний вид и поведение _lv.GridLines = true; _lv.View = View.Details; _lv.FullRowSelect = true; _lv.MultiSelect = false; _lv.HideSelection = false; // добавляем колонки _viewSettings = viewSettings; if (_viewSettings == null) _viewSettings = new ListedEventsViewSettings(); _lv.Columns.Add("Дата и время", _viewSettings[0]); _lv.Columns.Add("Приложение", _viewSettings[1]); _lv.Columns.Add("Тип", _viewSettings[2]); _lv.Columns.Add("Текст", _viewSettings[3]); // вешаем обработчики событий _lv.DoubleClick += new EventHandler(OnListViewDoubleClick); _lv.ColumnClick += new ColumnClickEventHandler(OnListViewColumnClick); _lv.SelectedIndexChanged += new EventHandler(OnListViewSelectedIndexChanged); _lv.ColumnWidthChanged += new ColumnWidthChangedEventHandler(OnListViewColumnWidthChanged); } finally { _lv.EndUpdate(); } _filterParams = filterParams; // списки контролов для управления процессом просмотра логов _filterItems = new List<ToolStripItem>(); _detailsItems = new List<ToolStripItem>(); _updateItems = new List<ToolStripItem>(); _cleanupItems = new List<ToolStripItem>(); _detailedViewItems = new List<Control>(); UpdateControlsEnabled(); }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="lv">Представление для размещения событий</param> /// <param name="filterParams">Исходная настройка фильтра для просмотра событий</param> /// <param name="viewSettings">Ширина колонок</param> public ListedEventsViewLink(ListView lv, EventLinkFilterBase filterParams, ListedEventsViewSettings viewSettings) : this(lv, filterParams, viewSettings, false, true) { }
/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="lv">Представление для размещения событий</param> /// <param name="filterParams">Исходная настройка фильтра для просмотра событий</param> /// <param name="viewSettings">Ширина колонок</param> /// <param name="notifyOnReloadProgress">Сообщать о прогрессе загрузки событий</param> public ListedEventsViewLink(ListView lv, EventLinkFilterBase filterParams, ListedEventsViewSettings viewSettings, Boolean notifyOnReloadProgress) : this(lv, filterParams, viewSettings, notifyOnReloadProgress, true) { }