/// <summary> create controllers. </summary> /// <param name="bg"> for sequential background execution. </param> /// <param name="nameModel"> one or more name/db model pairs. </param> public Switcher(WorkQueue bg, params object[] nameModel) { controller = new Controller[nameModel.Length/2]; name = new string[controller.Length]; for (int n = 0; n < controller.Length; ++n) { name[n] = (string)nameModel[2 * n]; controller[n] = new Controller((IModel<string>)nameModel[2 * n + 1], bg); } }
/// <summary> connect to database, start background thread. </summary> /// <param name="db"> database. </param> /// <param name="bg"> for sequential background execution. </param> public Controller(IModel<string> db, WorkQueue bg) { this.db = db; this.bg = bg; }
/// <summary> create and connect controllers. </summary> /// <param name="enable"> controls user interaction in view. </param> /// <param name="io"> current/size/search/enter/remove fields. </param> /// <param name="click"> add to eventhandlers, null to skip. </param> /// <param name="bg"> for sequential background execution. </param> /// <param name="nameModel"> one or more name/db model pairs. </param> public Switcher(Enable enable, IAccess[] io, SetClick[] click, WorkQueue bg, params object[] nameModel) : this(bg, nameModel) { Connect(enable, io, click); }
/// <summary> connect to database and view, post current count. </summary> /// <param name="db"> database. </param> /// <param name="bg"> for sequential background execution. </param> /// <param name="enable"> controls user interaction in view. </param> /// <param name="io"> access to current/size/search/enter/remove fields (can be null). </param> public Controller(IModel<string> db, WorkQueue bg, Enable enable, params IAccess[] io) : this(db, bg) { Connect(enable, io); }