private Control GetValueEditorForFilterableProperty(FilterablePropertyDescription filterableProperty, PropertyFilterOperator currentOperator) { Control result; switch (filterableProperty.GetPropertyFilterEditor(currentOperator)) { case FilterablePropertyValueEditor.DisabledTextBox: result = this.GetDisabledTextBoxEditor(filterableProperty); break; case FilterablePropertyValueEditor.ComboBox: result = this.GetComboBoxEditor(filterableProperty); break; case FilterablePropertyValueEditor.DateTimePicker: result = this.GetDateTimePickerEditor(filterableProperty); break; case FilterablePropertyValueEditor.PickerLauncherTextBox: result = this.GetPickerLauncherTextBoxEditor(filterableProperty); break; default: result = this.GetTextBoxEditor(filterableProperty); break; } return(result); }
private Control GetDateTimePickerEditor(FilterablePropertyDescription filterableProperty) { DateTimePicker dateTimePicker; if (!this.valueTypeEditors.ContainsKey(FilterablePropertyValueEditor.DateTimePicker)) { dateTimePicker = new DateTimePicker(); dateTimePicker.Name = "dateTimePicker"; dateTimePicker.Dock = DockStyle.Fill; dateTimePicker.TabIndex = 2; this.valueTypeEditors.Add(FilterablePropertyValueEditor.DateTimePicker, dateTimePicker); } else { dateTimePicker = (this.valueTypeEditors[FilterablePropertyValueEditor.DateTimePicker] as DateTimePicker); dateTimePicker.DataBindings.Clear(); } dateTimePicker.Format = DateTimePickerFormat.Custom; dateTimePicker.CustomFormat = string.Format("{0} - {1}", CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern, CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern); Binding binding = new Binding("Value", this.BindingSource, "Value", true, DataSourceUpdateMode.OnPropertyChanged); binding.NullValue = (DateTime)ExDateTime.Now; dateTimePicker.DataBindings.Add(binding); return(dateTimePicker); }
private Control GetPickerLauncherTextBoxEditor(FilterablePropertyDescription filterableProperty) { PickerLauncherTextBox pickerLauncherTextBox; if (!this.valueTypeEditors.ContainsKey(FilterablePropertyValueEditor.PickerLauncherTextBox)) { pickerLauncherTextBox = new PickerLauncherTextBox(); pickerLauncherTextBox.Name = "textboxObjectPicker"; pickerLauncherTextBox.Dock = DockStyle.Fill; pickerLauncherTextBox.TabIndex = 2; this.valueTypeEditors.Add(FilterablePropertyValueEditor.PickerLauncherTextBox, pickerLauncherTextBox); } else { pickerLauncherTextBox = (this.valueTypeEditors[FilterablePropertyValueEditor.PickerLauncherTextBox] as PickerLauncherTextBox); pickerLauncherTextBox.DataBindings.Clear(); } if (filterableProperty.ObjectPicker != null) { pickerLauncherTextBox.Picker = filterableProperty.ObjectPicker; pickerLauncherTextBox.ValueMember = (filterableProperty.ObjectPickerValueMember ?? "Name"); pickerLauncherTextBox.DisplayMember = (filterableProperty.ObjectPickerDisplayMember ?? "Name"); pickerLauncherTextBox.ValueMemberPropertyDefinition = filterableProperty.ObjectPickerValueMemberPropertyDefinition; pickerLauncherTextBox.SelectedValue = null; Binding binding = new Binding("SelectedValue", this.BindingSource, "Value", true, DataSourceUpdateMode.OnPropertyChanged); binding.DataSourceNullValue = null; pickerLauncherTextBox.DataBindings.Add(binding); } return(pickerLauncherTextBox); }
private Control GetTextBoxEditor(FilterablePropertyDescription filterableProperty) { ExchangeTextBox exchangeTextBox = this.GetDisabledTextBoxEditor(filterableProperty) as ExchangeTextBox; exchangeTextBox.Enabled = true; exchangeTextBox.FormatMode = filterableProperty.FormatMode; Binding binding = new Binding("Text", this.BindingSource, "Value", true, DataSourceUpdateMode.OnPropertyChanged); binding.BindingComplete += this.TextboxEditor_BindingCompleted; exchangeTextBox.DataBindings.Add(binding); return(exchangeTextBox); }
private Control GetDisabledTextBoxEditor(FilterablePropertyDescription filterableProperty) { ExchangeTextBox exchangeTextBox; if (!this.valueTypeEditors.ContainsKey(FilterablePropertyValueEditor.DisabledTextBox)) { exchangeTextBox = new ExchangeTextBox(); exchangeTextBox.Name = "textBoxValue"; exchangeTextBox.Dock = DockStyle.Fill; exchangeTextBox.TabIndex = 2; this.valueTypeEditors.Add(FilterablePropertyValueEditor.DisabledTextBox, exchangeTextBox); } else { exchangeTextBox = (this.valueTypeEditors[FilterablePropertyValueEditor.DisabledTextBox] as ExchangeTextBox); exchangeTextBox.DataBindings.Clear(); exchangeTextBox.Clear(); } exchangeTextBox.Enabled = false; return(exchangeTextBox); }
public DetailsTemplatesResultPane() : base(ResultPaneProfileLoader.Loader, "DetailsTemplate") { base.Name = "DetailsTemplatesResultPane"; base.Icon = Icons.DetailsTemplate; ObjectList objectList = new ObjectList(); objectList.Name = "DetailsTemplatesResultPaneDataListView"; objectList.Dock = DockStyle.Fill; objectList.ListView.IconLibrary = DetailsTemplatesResultPane.iconLibrary; objectList.ListView.ImageIndex = 0; objectList.FilterControl.ObjectSchema = ObjectSchema.GetInstance <DetailsTemplatesResultPane.DetailsTemplatesFilterSchema>(); FilterablePropertyDescription filterablePropertyDescription = new FilterablePropertyDescription(DetailsTemplatesResultPane.DetailsTemplatesFilterSchema.TemplateType, Strings.TypeColumnName, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual }); filterablePropertyDescription.FilterableListSource = new ObjectListSource(new string[] { "Contact", "Group", "Mailbox Agent", "Public Folder", "Search Dialog", "User" }); objectList.FilterControl.PropertiesToFilter.Add(filterablePropertyDescription); objectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(DetailsTemplatesResultPane.DetailsTemplatesFilterSchema.Language, Strings.LanguageColumnName, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains, PropertyFilterOperator.NotContains, PropertyFilterOperator.StartsWith, PropertyFilterOperator.EndsWith })); base.ListControl = objectList.ListView; base.FilterControl = objectList.FilterControl; base.Controls.Add(objectList); }
private Control GetComboBoxEditor(FilterablePropertyDescription filterableProperty) { ExchangeComboBox exchangeComboBox; if (!this.valueTypeEditors.ContainsKey(FilterablePropertyValueEditor.ComboBox)) { exchangeComboBox = new ExchangeComboBox(); exchangeComboBox.Name = "comboBoxValue"; exchangeComboBox.DropDownStyle = ComboBoxStyle.DropDownList; exchangeComboBox.FlatStyle = FlatStyle.System; exchangeComboBox.Dock = DockStyle.Fill; exchangeComboBox.TabIndex = 2; this.valueTypeEditors.Add(FilterablePropertyValueEditor.ComboBox, exchangeComboBox); } else { exchangeComboBox = (this.valueTypeEditors[FilterablePropertyValueEditor.ComboBox] as ExchangeComboBox); exchangeComboBox.DataBindings.Clear(); } ObjectListSource filterableListSource = filterableProperty.FilterableListSource; exchangeComboBox.DataSource = new ArrayList(filterableListSource.GetList()); exchangeComboBox.DisplayMember = "Text"; exchangeComboBox.ValueMember = "Value"; Binding binding = new Binding("SelectedValue", this.BindingSource, "Value", true, DataSourceUpdateMode.OnPropertyChanged); Type valueType = filterableProperty.ValueType; if (typeof(Enum).IsAssignableFrom(valueType)) { binding.Format += delegate(object sender, ConvertEventArgs e) { if (e.Value != null && e.Value.GetType() != valueType) { e.Value = Enum.Parse(valueType, e.Value.ToString()); } }; } exchangeComboBox.DataBindings.Add(binding); return(exchangeComboBox); }
public QueueViewerQueuesResultPane() { base.Name = "QueueViewerQueuesResultPane"; base.ObjectList.Name = "queueList"; base.ObjectList.ListView.AutoGenerateColumns = false; ExchangeColumnHeader exchangeColumnHeader = new ExchangeColumnHeader(); exchangeColumnHeader.Name = "NextHopDomain"; exchangeColumnHeader.Text = Strings.NextHopDomainColumn; exchangeColumnHeader.Default = true; ExchangeColumnHeader exchangeColumnHeader2 = new ExchangeColumnHeader(); exchangeColumnHeader2.Name = "DeliveryType"; exchangeColumnHeader2.Text = Strings.DeliveryTypeColumn; exchangeColumnHeader2.Default = true; ExchangeColumnHeader exchangeColumnHeader3 = new ExchangeColumnHeader(); exchangeColumnHeader3.Name = "Status"; exchangeColumnHeader3.Text = Strings.StatusColumn; exchangeColumnHeader3.Default = true; ExchangeColumnHeader exchangeColumnHeader4 = new ExchangeColumnHeader(); exchangeColumnHeader4.Name = "MessageCount"; exchangeColumnHeader4.Text = Strings.MessageCountColumn; exchangeColumnHeader4.Default = true; ExchangeColumnHeader exchangeColumnHeader5 = new ExchangeColumnHeader(); exchangeColumnHeader5.Name = "NextRetryTime"; exchangeColumnHeader5.Text = Strings.NextRetryTimeColumn; exchangeColumnHeader5.Default = true; ExchangeColumnHeader exchangeColumnHeader6 = new ExchangeColumnHeader(); exchangeColumnHeader6.Name = "LastRetryTime"; exchangeColumnHeader6.Text = Strings.LastRetryTimeColumn; ExchangeColumnHeader exchangeColumnHeader7 = new ExchangeColumnHeader(); exchangeColumnHeader7.Name = "LastError"; exchangeColumnHeader7.Text = Strings.LastErrorColumn; exchangeColumnHeader7.Default = true; base.ObjectList.ListView.AvailableColumns.AddRange(new ExchangeColumnHeader[] { exchangeColumnHeader, exchangeColumnHeader2, exchangeColumnHeader3, exchangeColumnHeader4, exchangeColumnHeader5, exchangeColumnHeader6, exchangeColumnHeader7 }); base.ObjectList.FilterControl.ObjectSchema = ObjectSchema.GetInstance <ExtensibleQueueInfoSchema>(); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleQueueInfoSchema.NextHopDomain, Strings.NextHopDomainColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleQueueInfoSchema.DeliveryType, Strings.DeliveryTypeColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleQueueInfoSchema.Status, Strings.StatusColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual })); FilterablePropertyDescription filterablePropertyDescription = new FilterablePropertyDescription(ExtensibleQueueInfoSchema.MessageCount, Strings.MessageCountColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual }); filterablePropertyDescription.ColumnType = typeof(uint); base.ObjectList.FilterControl.PropertiesToFilter.Add(filterablePropertyDescription); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleQueueInfoSchema.NextRetryTime, Strings.NextRetryTimeColumn, new PropertyFilterOperator[] { PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual, PropertyFilterOperator.Present, PropertyFilterOperator.NotPresent })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleQueueInfoSchema.LastRetryTime, Strings.LastRetryTimeColumn, new PropertyFilterOperator[] { PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual, PropertyFilterOperator.Present, PropertyFilterOperator.NotPresent })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleQueueInfoSchema.LastError, Strings.LastErrorColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains, PropertyFilterOperator.Present, PropertyFilterOperator.NotPresent })); base.ObjectList.ListView.SelectionNameProperty = "NextHopDomain"; base.ObjectList.ListView.SortProperty = "NextHopDomain"; base.ObjectList.ListView.ImagePropertyName = "Status"; base.ListControl.IconLibrary = QueueViewerQueuesResultPane.iconLibrary; base.SubscribedRefreshCategories.Add(RefreshCategories.Message); }
public QueueViewerMessagesResultPane() { base.Name = "QueueViewerMessagesResultPane"; base.ObjectList.Name = "messageList"; base.ObjectList.ListView.AutoGenerateColumns = false; ExchangeColumnHeader exchangeColumnHeader = new ExchangeColumnHeader(); exchangeColumnHeader.Name = "FromAddress"; exchangeColumnHeader.Text = Strings.FromAddressColumn; exchangeColumnHeader.Default = true; ExchangeColumnHeader exchangeColumnHeader2 = new ExchangeColumnHeader(); exchangeColumnHeader2.Name = "Status"; exchangeColumnHeader2.Text = Strings.StatusColumn; exchangeColumnHeader2.Default = true; ExchangeColumnHeader exchangeColumnHeader3 = new ExchangeColumnHeader(); exchangeColumnHeader3.Name = "Size"; exchangeColumnHeader3.Text = Strings.SizeColumn; exchangeColumnHeader3.Default = true; exchangeColumnHeader3.CustomFormatter = DisplayFormats.ByteQuantifiedSizeAsKb; ExchangeColumnHeader exchangeColumnHeader4 = new ExchangeColumnHeader(); exchangeColumnHeader4.Name = "SCL"; exchangeColumnHeader4.Text = Strings.SCLColumn; exchangeColumnHeader4.Default = true; ExchangeColumnHeader exchangeColumnHeader5 = new ExchangeColumnHeader(); exchangeColumnHeader5.Name = "Queue"; exchangeColumnHeader5.Text = Strings.QueueIdColumn; exchangeColumnHeader5.Default = true; ExchangeColumnHeader exchangeColumnHeader6 = new ExchangeColumnHeader(); exchangeColumnHeader6.Name = "MessageSourceName"; exchangeColumnHeader6.Text = Strings.MessageSourceNameColumn; exchangeColumnHeader6.Default = true; ExchangeColumnHeader exchangeColumnHeader7 = new ExchangeColumnHeader(); exchangeColumnHeader7.Name = "LastError"; exchangeColumnHeader7.Text = Strings.LastErrorColumn; exchangeColumnHeader7.Default = true; ExchangeColumnHeader exchangeColumnHeader8 = new ExchangeColumnHeader(); exchangeColumnHeader8.Name = "Subject"; exchangeColumnHeader8.Text = Strings.SubjectColumn; exchangeColumnHeader8.Default = true; ExchangeColumnHeader exchangeColumnHeader9 = new ExchangeColumnHeader(); exchangeColumnHeader9.Name = "SourceIP"; exchangeColumnHeader9.Text = Strings.SourceIPColumn; ExchangeColumnHeader exchangeColumnHeader10 = new ExchangeColumnHeader(); exchangeColumnHeader10.Name = "InternetMessageId"; exchangeColumnHeader10.Text = Strings.InternetMessageIdColumn; ExchangeColumnHeader exchangeColumnHeader11 = new ExchangeColumnHeader(); exchangeColumnHeader11.Name = "ExpirationTime"; exchangeColumnHeader11.Text = Strings.ExpirationTimeColumn; ExchangeColumnHeader exchangeColumnHeader12 = new ExchangeColumnHeader(); exchangeColumnHeader12.Name = "DateReceived"; exchangeColumnHeader12.Text = Strings.DateReceivedColumn; base.ObjectList.ListView.AvailableColumns.AddRange(new ExchangeColumnHeader[] { exchangeColumnHeader, exchangeColumnHeader2, exchangeColumnHeader3, exchangeColumnHeader4, exchangeColumnHeader5, exchangeColumnHeader6, exchangeColumnHeader8, exchangeColumnHeader7, exchangeColumnHeader9, exchangeColumnHeader10, exchangeColumnHeader11, exchangeColumnHeader12 }); base.ObjectList.FilterControl.ObjectSchema = ObjectSchema.GetInstance <ExtensibleMessageInfoSchema>(); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.FromAddress, Strings.FromAddressColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.Status, Strings.StatusColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual })); FilterablePropertyDescription filterablePropertyDescription = new FilterablePropertyDescription(ExtensibleMessageInfoSchema.Size, Strings.SizeColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual }); filterablePropertyDescription.ColumnType = typeof(ByteQuantifiedSize); filterablePropertyDescription.FormatMode = 6; base.ObjectList.FilterControl.PropertiesToFilter.Add(filterablePropertyDescription); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.SCL, Strings.SCLColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.Queue, Strings.QueueIdColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.MessageSourceName, Strings.MessageSourceNameColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.LastError, Strings.LastErrorColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains, PropertyFilterOperator.Present, PropertyFilterOperator.NotPresent })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.Subject, Strings.SubjectColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains, PropertyFilterOperator.Present, PropertyFilterOperator.NotPresent })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.SourceIP, Strings.SourceIPColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.InternetMessageId, Strings.InternetMessageIdColumn, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.ExpirationTime, Strings.ExpirationTimeColumn, new PropertyFilterOperator[] { PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual })); base.ObjectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(ExtensibleMessageInfoSchema.DateReceived, Strings.DateReceivedColumn, new PropertyFilterOperator[] { PropertyFilterOperator.GreaterThan, PropertyFilterOperator.GreaterThanOrEqual, PropertyFilterOperator.LessThan, PropertyFilterOperator.LessThanOrEqual })); base.ObjectList.ListView.SelectionNameProperty = "Subject"; base.ObjectList.ListView.SortProperty = "FromAddress"; base.ObjectList.ListView.ImagePropertyName = "Status"; base.ListControl.IconLibrary = QueueViewerMessagesResultPane.iconLibrary; base.SubscribedRefreshCategories.Add(RefreshCategories.Message); }