/// <summary> /// Deletes the selected DisplaySet item /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDeleteItem_Click(object sender, EventArgs e) { // Only custom DisplaySets can be modified if (SelectedDisplaySet == null || !SelectedDisplaySet.Custom) { return; } if (gridItems.SelectedRows == null || gridItems.SelectedRows.Count != 1) { return; } int itemIndex = gridItems.SelectedRows[0].Index; try { DisplaySetItem item = SelectedDisplaySet.DisplaySetItems[itemIndex]; object[] lArgs = new object[1]; lArgs[0] = item.Alias; string errorMsg = CultureManager.TranslateStringWithParams(LanguageConstantKeys.L_CONFIRMDELETE, LanguageConstantValues.L_CONFIRMDELETE, lArgs); if (MessageBox.Show(errorMsg, CultureManager.TranslateString(LanguageConstantKeys.L_WARNING, LanguageConstantValues.L_WARNING), MessageBoxButtons.YesNo) == DialogResult.No) { return; } SelectedDisplaySet.DisplaySetItems.RemoveAt(itemIndex); } catch { } ShowDisplaySetItems(SelectedDisplaySet); }
/// <summary> /// Add a new DisplaySet item and opens the edit scenario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddItem_Click(object sender, EventArgs e) { // Only custom DisplaySets can be modified if (SelectedDisplaySet == null || !SelectedDisplaySet.Custom) { return; } try { List <string> agents = new List <string>(); agents.Add(Logics.Logic.Agent.ClassName); DisplaySetItem item = new DisplaySetItem("", "", "", ModelType.String, agents, 0, true); SelectedDisplaySet.DisplaySetItems.Add(item); EditDisplaySetItemForm form = new EditDisplaySetItemForm(); form.Initialize(item); if (form.ShowDialog() != DialogResult.OK) { SelectedDisplaySet.DisplaySetItems.Remove(item); return; } } catch { } ShowDisplaySetItems(SelectedDisplaySet); gridItems.Rows[gridItems.Rows.Count - 1].Selected = true; }
/// <summary> /// Edit the selected row in the grid /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void GridCell_DoubleClick(object sender, DataGridViewCellEventArgs e) { // Only custom DisplaySets can be modified if (SelectedDisplaySet == null || !SelectedDisplaySet.Custom) { return; } int itemIndex = e.RowIndex; try { DisplaySetItem item = SelectedDisplaySet.DisplaySetItems[itemIndex]; EditDisplaySetItemForm form = new EditDisplaySetItemForm(); form.Initialize(item); if (form.ShowDialog() != DialogResult.OK) { return; } } catch { } ShowDisplaySetItems(SelectedDisplaySet); gridItems.Rows[itemIndex].Selected = true; }
private void ItemsGrid_CellEndEdit(object sender, DataGridViewCellEventArgs e) { // Save the modified data in the Custom DisplaySet list try { if (SelectedDisplaySet == null || !SelectedDisplaySet.Custom) { return; } DisplaySetItem item = SelectedDisplaySet.DisplaySetItems[e.RowIndex]; if (item == null) { return; } object value = gridItems.Rows[e.RowIndex].Cells["dataGridViewVisible"].Value; if (value != null) { item.Visible = (bool)value; } } catch { } }
/// <summary> /// Moves Up and Doen the selected DisplaySet item /// </summary> /// <param name="moveUp"></param> private void MoveUpDown(bool moveUp, int displaySetIndex) { if (gridItems.SelectedRows == null || gridItems.SelectedRows.Count != 1) { return; } // Index of the selected item DataGridViewRow row = gridItems.SelectedRows[0]; int itemIndex = row.Index; // First line if (moveUp && itemIndex == 0) { return; } // Last line if (!moveUp && itemIndex == gridItems.Rows.Count - 1) { return; } // Move the item in the Selected DisplaySet DisplaySetItem item = SelectedDisplaySet.DisplaySetItems[itemIndex]; SelectedDisplaySet.DisplaySetItems.RemoveAt(itemIndex); if (moveUp) { SelectedDisplaySet.DisplaySetItems.Insert(itemIndex - 1, item); } else { SelectedDisplaySet.DisplaySetItems.Insert(itemIndex + 1, item); } // Update the Grid ShowDisplaySetItems(displaySetIndex); if (moveUp) { gridItems.Rows[itemIndex - 1].Selected = true; } else { gridItems.Rows[itemIndex + 1].Selected = true; } }
/// <summary> /// Receives the Query controller of the scenario to be customized /// </summary> /// <param name="queryController">Query Controller</param> public void Initialize(DisplaySetItem item) { mItem = item; ApplyMultilanguage(); LoadValues(); }
private void ConfigureScenario() { // Show or hide the Retry button. buttonRetry.Visible = mAllowRetry; // Load values and resize form if (mShowValues) { this.dataGridViewValues.Visible = true; // Load rows in the differences Grid. foreach (string key in mNewValues.Keys) { // Format the Description message string lArgName = key.Substring(0, key.IndexOf('.')); string lExpression = key.Substring(key.IndexOf('.') + 1); DisplaySetItem lSCDAttribute = null; KeyValuePair <Oid, DisplaySetInformation> lArgInfo = new KeyValuePair <Oid, DisplaySetInformation>();; if (mSCDInfo.ContainsKey(lArgName)) { lArgInfo = mSCDInfo[lArgName]; foreach (DisplaySetItem lItem in lArgInfo.Value.DisplaySetItems) { if (lItem.Name.Equals(lExpression, StringComparison.InvariantCultureIgnoreCase)) { lSCDAttribute = lItem; break; } } } string lDescription = ""; string lPreviousValue = ""; string lNewValue = ""; // Check SCD Attribute info and previous value info if (lSCDAttribute != null && lArgInfo.Key.SCDAttributesValues.ContainsKey(key)) { lDescription = CultureManager.TranslateString(lSCDAttribute.IdXML, lSCDAttribute.Alias); if (lSCDAttribute.ModelType != ModelType.Oid) { // Data valued attributes lPreviousValue = Presentation.DefaultFormats.ApplyDisplayFormat(lArgInfo.Key.SCDAttributesValues[key], lSCDAttribute.ModelType); lNewValue = Presentation.DefaultFormats.ApplyDisplayFormat(mNewValues[key], lSCDAttribute.ModelType); } else { // Object valued attributes lPreviousValue = GetInfoFromOid(lArgInfo.Key.SCDAttributesValues[key] as Oid, lSCDAttribute.SupplementaryInfo); lNewValue = GetInfoFromOid(mNewValues[key] as Oid, lSCDAttribute.SupplementaryInfo); } } object[] lRowArray = { lDescription, lPreviousValue, lNewValue }; this.dataTableValues.Rows.Add(lRowArray); } } else { // Hide Grid and resize form this.dataGridViewValues.Visible = false; this.Height -= this.dataGridViewValues.Height; } }