internal override List <int> GetTypeSpecificIntelliItems(SystemTreeListTag systemTag) { List <int> specficIntelliItems = null; string valType = _parameterRows[systemTag.GetSystemRow().ID].ValueType.ToLower(); if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.VARorIL).ToLower()) { specficIntelliItems = new List <int>(); specficIntelliItems.Add(FormulaEditorManager._intelliContainsStandardVar); specficIntelliItems.Add(FormulaEditorManager._intelliContainsDefVar); specficIntelliItems.Add(FormulaEditorManager._intelliContainsDefConst); specficIntelliItems.Add(FormulaEditorManager._intelliContainsDefIL); specficIntelliItems.Add(FormulaEditorManager._intelliContainsUpRateFactor); } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.VAR).ToLower()) { specficIntelliItems = new List <int>(); specficIntelliItems.Add(FormulaEditorManager._intelliContainsStandardVar); specficIntelliItems.Add(FormulaEditorManager._intelliContainsDefVar); specficIntelliItems.Add(FormulaEditorManager._intelliContainsDefConst); if (GetDefaultParameterRow().Name.ToLower() != DefPar.Common.Output_Var.ToLower() && GetDefaultParameterRow().Name.ToLower() != DefPar.Common.Output_Add_Var.ToLower()) { specficIntelliItems.Add(FormulaEditorManager._intelliContainsUpRateFactor); } } if (IsDefTUMember()) { specficIntelliItems = new List <int>() { FormulaEditorManager._intelliContainsDefTUMembers } } ; if (IsUprateFactor()) { specficIntelliItems = new List <int>() { FormulaEditorManager._intelliContainsUpRateFactor } } ; return(specficIntelliItems); }
internal abstract RepositoryItem GetEditor(TreeListNode senderNode, TreeListColumn senderColumn); //policy / function: return combo-box-editor with on/off/..., parameter: return editor specific to parameter type internal virtual List <int> GetTypeSpecificIntelliItems(SystemTreeListTag systemTag) { return(null); } //parameter returns intelli-items specific to parameter type (e.g. only variables for output_var)
internal override RepositoryItem GetEditor(TreeListNode senderNode, TreeListColumn senderColumn) { RepositoryItem editor = null; SystemTreeListTag systemTag = senderColumn.Tag as SystemTreeListTag; if (systemTag == null) { return(null); } if (!_parameterRows.ContainsKey(systemTag.GetSystemRow().ID)) { return(null); } string valType = _parameterRows[systemTag.GetSystemRow().ID].ValueType.ToLower(); if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.BOOLEAN).ToLower()) { editor = _mainForm.YesNoEditorCombo; } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.FORMULA).ToLower()) { editor = _mainForm.GetFormulaEditorManager().CreateEditor(senderNode, senderColumn); } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.CONDITION).ToLower()) { editor = _mainForm.GetFormulaEditorManager().CreateEditor(senderNode, senderColumn); } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.CATEG).ToLower()) { editor = GetCategoriesEditor(); } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.IL).ToLower()) { editor = systemTag.GetILEditor(); } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.VAR).ToLower()) { editor = _mainForm.GetFormulaEditorManager().CreateEditor(senderNode, senderColumn); } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.TU).ToLower()) { editor = systemTag.GetTUEditor(); } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.TEXT).ToLower()) { if (IsUprateFactor() || IsDefTUMember()) // to allow for suggesting uprating-factors resp. DefTU/Members via intelliSense { editor = _mainForm.GetFormulaEditorManager().CreateEditor(senderNode, senderColumn); } } if (valType == DefinitionAdmin.ParTypeToString(DefPar.PAR_TYPE.VARorIL).ToLower()) { editor = _mainForm.GetFormulaEditorManager().CreateEditor(senderNode, senderColumn); } //allows free editing or add-on parameters, otherwise e.g. taxunits could not be set, as they may be defined in an other country and not in the add-on-system if (_mainForm._isAddOn) { editor = _mainForm.GetFormulaEditorManager().CreateEditor(senderNode, senderColumn); } //special handling for IlArithOp/ILName: showing ils would not offer the ils generated by IlArithOp/Out_ILName if (GetFunctionName().ToLower() == DefFun.IlArithOp.ToLower() && GetParameterName().ToLower() == DefPar.IlArithOp.ILName.ToLower()) { editor = _mainForm.GetFormulaEditorManager().CreateEditor(senderNode, senderColumn); } return(editor); }