/// <summary> /// Invoke the editor /// </summary> /// <param name="qc">QueryColumn to edit</param> /// <returns></returns> public static bool Edit( QueryColumn qc) { //if (DebugMx.True) return CriteriaYesNo.Edit(qc); if (qc.MetaColumn.DictionaryMultipleSelect) { return(CriteriaDictMultSelect.Edit(qc)); } else if (Lex.Eq(qc.MetaColumn.Dictionary, "yes_no")) { return(CriteriaYesNo.Edit(qc)); } MetaColumn mc = qc.MetaColumn; if (Instance == null) { Instance = new CriteriaDialog(); } if (Instance.Visible) { return(false); // catch 2nd of two quick single-clicks & ignore } new JupyterGuiConverter().ConvertFormOrUserControl(Instance, true); Instance.Setup(qc); Instance.Qc = qc; Form activeForm = SessionManager.ActiveForm; DialogResult dr = Instance.ShowDialog(SessionManager.ActiveForm); if (activeForm != null) { activeForm.BringToFront(); } if (dr == DialogResult.OK) { return(true); } else { return(false); } }
/// Edit criteria for a query column /// </summary> /// <param name="qc"></param> /// <returns>True if criteria has been successfully edited</returns> public static bool EditCriteria( QueryColumn qc) { MetaColumn mc = qc.MetaColumn; Query Query = qc.QueryTable.Query; bool sameQ = Query == QueriesControl.Instance.CurrentQuery; // debug if (Lex.Contains(qc.MetaColumn.ColumnMap, ToolUtil.ToolParametersColumnMapValue)) { DialogResult dr = ToolHelper.InvokeToolCriteriaEditor(qc); return(dr == DialogResult.OK); } try { if (!mc.IsSearchable) { MessageBoxMx.ShowError("The " + qc.ActiveLabel + " data item is not currently searchable."); return(false); } if (mc.IsKey) // edit key criteria { qc.CopyCriteriaFromQueryKeyCriteria(); // be sure qc is in sync with Query.KeyCriteria if (!CriteriaCompoundId.Edit(qc)) { return(false); } qc.CopyCriteriaToQueryKeyCritera(); // update Query.KeyCriteria return(true); } switch (mc.DataType) { // Compound Number criteria case MetaColumnType.CompoundId: if (!CriteriaCompoundId.Edit(qc)) { return(false); } else { break; } // Structure criteria case MetaColumnType.Structure: if (!CriteriaStructure.Edit(qc)) { return(false); } break; // Mol. formula criteria case MetaColumnType.MolFormula: if (!CriteriaMolFormula.Edit(qc)) { return(false); } break; // General criteria case MetaColumnType.Integer: case MetaColumnType.Number: case MetaColumnType.QualifiedNo: case MetaColumnType.String: case MetaColumnType.Date: case MetaColumnType.DictionaryId: if (!CriteriaDialog.Edit(qc)) { return(false); } else { break; } default: MessageBoxMx.ShowError("The " + qc.ActiveLabel + " data item is not currently searchable."); return(false); } return(true); } catch (Exception ex) { string msg = "Unexpected error editing criteria: \r\n\r\n" + DebugLog.FormatExceptionMessage(ex); ServicesLog.Message(msg); MessageBoxMx.ShowError(msg); return(false); } }
/// <summary> /// Edit General Criteria proxy /// </summary> /// <param name="qc"></param> /// <returns></returns> public static bool GetGeneralCriteria( QueryColumn qc) { return(CriteriaDialog.Edit(qc)); }