/// <summary> /// Harom adattablat allit elo : /// 1. UserControlBeallitottValtozasok /// 2. UserControlValtozastBeallit /// 3. UserControlValtozasraErzekeny /// A tablak minden sora egy-egy UserControl-ra vonatkozik. Azokra a UserControlokra, melyek a Tervezo-vel /// a UserControlok nevei("USERCONTROLNEVEK" SQL tabla) kozt definialtak es ott az Owner alkalmazas ures vagy azonos az alkalmazas parameterevel /// Oszlopok : /// USERID: a "USERCONTROLNEVEK" ID-jenek tarolasara , /// USERCONTROLNEV : a "USERCONTROLNEVEK" SZOVEG-enek tarolasara /// A Tervezo-vel a Valtozasfajtak-ban definialt valtozasok nevei kozul mindaz, melynek Owner alkalmazasa /// ures illetve azonos az alkalmazas parameterevel "True" ill "False" tarolasara /// 1.-ben minden False-ra inicializalt /// 2.-ben azok az oszlopok tartalmaznak True-t, melyek a Valtbeallit osszefuggesben definialtak /// 3.-ban azok az oszlopok tartalmaznak True-t, melyek a Valterzekeny osszefuggesben definialtak /// Letrehozza ezenkivul a tooltiptextek tombjet a "USERCONTROLNEVEK" SQL tabla erintett sorainak /// TOOLTIP nevu oszlopanak tartalmabol /// </summary> /// <param name="fak"> /// FakUserInterface /// </param> /// <param name="alkalmazas"> /// alkalmazas neve, vagy ures /// ha ures, minden UserControlNev es minden Valtozasnev bekerul a tablakba /// </param> public static void ValtozaskezelesInit(FakUserInterface fak, string alkalmazas) { FakUserInterface = fak; Tablainfo Valtozasnevek = FakUserInterface.GetBySzintPluszTablanev("R", "USERVALTOZASNEVEK"); string[] ertek; if (alkalmazas == "") ertek = new string[] { "" }; else ertek = new string[] { alkalmazas, "" }; string[] valtozasidk = Valtozasnevek.Adattabla.GetTartal("ID", "ALKALMAZAS_ID_K", ertek); valtnevek = Valtozasnevek.Adattabla.GetTartal("SZOVEG", "ID", valtozasidk); Tablainfo UserControlok = FakUserInterface.GetBySzintPluszTablanev("R", "USERCONTROLNEVEK"); uscontnevek = UserControlok.Adattabla.GetTartal("SZOVEG", "ALKALMAZAS_ID_K", ertek); uscontnevekarray.AddRange(uscontnevek); tooltiptextek = UserControlok.Adattabla.GetTartal("TOOLTIP", "ALKALMAZAS_ID_K", ertek); string[] useridk = UserControlok.Adattabla.GetTartal("ID", "SZOVEG", uscontnevek); ColumnsRowsGyart(UserControlSajatJelzes, null, uscontnevek, useridk, null, null); UserControlSajatJelzesView.Table = UserControlSajatJelzes; UserControlSajatJelzesView.Sort = "USERCONTROLNEV"; Tablainfo Beallitinfo = FakUserInterface.GetOsszef("R", "Valtbeallit"); Tablainfo Erzekenyinfo = FakUserInterface.GetOsszef("R", "Valterzekeny"); ColumnsRowsGyart(UserControlValtozastBeallit, Beallitinfo, uscontnevek, useridk, valtozasidk, valtnevek); ColumnsRowsGyart(UserControlValtozasraErzekeny, Erzekenyinfo, uscontnevek, useridk, valtozasidk, valtnevek); ColumnsRowsGyart(UserControlBeallitottValtozasok, null, uscontnevek, useridk, valtozasidk, valtnevek); UserControlValtozastBeallitView.Table = UserControlValtozastBeallit; UserControlValtozastBeallitView.Sort = "USERCONTROLNEV"; UserControlValtozasraErzekenyView.Table = UserControlValtozasraErzekeny; UserControlValtozasraErzekenyView.Sort = "USERCONTROLNEV"; UserControlBeallitottValtozasokView.Table = UserControlBeallitottValtozasok; UserControlBeallitottValtozasokView.Sort = "USERCONTROLNEV"; }
/// <summary> /// /// </summary> /// <param name="fakuserinterface"></param> /// <param name="parentvezerles"></param> /// <param name="menuindex"></param> /// <param name="kezszint"></param> /// <param name="hozfer"></param> /// <param name="letezousercontnevek"></param> public Vezerloinfo(FakUserInterface fakuserinterface, Vezerloinfo parentvezerles, int menuindex, ref Base.KezSzint kezszint, ref Base.HozferJogosultsag hozfer,ArrayList letezousercontnevek) { Fak = fakuserinterface; KezeloiSzint = kezszint; HozferJog = hozfer; Vezerloinfo vez = parentvezerles; ParentVezerles = vez; usernevek = vez.usernevek; Parameterek = vez.Parameterek; Teljeshonap = vez.Teljeshonap; Teljesev = vez.Teljesev; Csakegyhonap = vez.Csakegyhonap; termtabinfo = vez.termtabinfo; menuitemek = vez.menuitemek; almenuitemek = vez.almenuitemek; //usernevusernev = vez.usernevusernev; usernevallapoterzekeny = vez.usernevallapoterzekeny; usernevmenuitemek = vez.usernevmenuitemek; usernevalmenuitemek = vez.usernevalmenuitemek; menuitemalmenuitemek = vez.menuitemalmenuitemek; usercontlistakep = vez.usercontlistakep; allapotok = vez.allapotok; OsszesAllapotId = vez.OsszesAllapotId; OsszesAllapotNev = vez.OsszesAllapotNev; MenuNevek = new string[] { vez.MenuNevek[menuindex] }; Name = parentvezerles.Name + "Alvez" + menuindex.ToString(); string[] menuidk = Fak.GetTartal(menuitemek, "SORSZAM", "SZOVEG", MenuNevek); string[] useridk = Fak.GetSzurtOsszefIdk(usernevmenuitemek, new object[] { "", menuidk }); string[] usernev = Fak.GetTartal(usernevek, "SZOVEG", "ID", useridk); ControlNevek = new ArrayList(usernev); Parameterek = new Base.Parameterezes[ControlNevek.Count]; Teljeshonap = new bool[ControlNevek.Count]; Teljesev = new bool[ControlNevek.Count]; Csakegyhonap = new bool[ControlNevek.Count]; Parameterez = new Parameterez[ControlNevek.Count]; Listae = new bool[ControlNevek.Count]; Adatszolge=new bool[ControlNevek.Count]; string[] almenuidk = Fak.GetSzurtOsszefIdk(usernevalmenuitemek, new object[] { useridk, "" }); string[] all = null; Tablainfo igenneminfo = Fak.GetKodtab("R", "9997"); // ArrayList ar = new ArrayList(OsszesAllapotId); for (int i = 0; i < usernev.Length; i++) { fakuserinterface.ProgressRefresh(); string egynev = usernev[i]; string[] id = Fak.GetTartal(usernevek, "ID", "SZOVEG", egynev); string[] paramok = Fak.GetTartal(usernevek, "PARAMETEREZES", "ID", id); string[] teljeshonap = Fak.GetTartal(usernevek, "TELJESHONAP", "ID", id); string[] teljesev = Fak.GetTartal(usernevek, "TELJESEV", "ID", id); string[] csakegyhonap = Fak.GetTartal(usernevek, "CSAKEGYHONAP", "ID", id); Parameterek[i] = (Base.Parameterezes)Convert.ToInt16(paramok[0]); Teljeshonap[i] = teljeshonap[0] == "I"; Teljesev[i] = teljesev[0] == "I"; Csakegyhonap[i] = csakegyhonap[0] == "I"; if (Parameterek[i] != Base.Parameterezes.Nincsparameterezes) { Parameterez[i] = new Parameterez(); Parameterez[i].Paramfajta = Parameterek[i]; Parameterez[i].TeljesHonap = Teljeshonap[i]; Parameterez[i].TeljesEv = Teljesev[i]; if (Teljesev[i]) Parameterez[i].CsakEgyHonap = true; else Parameterez[i].CsakEgyHonap = Csakegyhonap[i]; Parameterez[i].Dock = DockStyle.Fill; } string[] lekerdezendoidk = Fak.GetSzurtOsszefIdk(usernevallapoterzekeny, new object[] { id, "" }); all = new string[] { "" }; if(lekerdezendoidk!=null) all = Fak.GetTartal(allapotok, "SZOVEG", "ID", lekerdezendoidk); LekerdezendoAllapotNevek.Add(all); string[] listakepidk = Fak.GetSzurtOsszefIdk(usercontlistakep, new object[] { id, "" }); Listae[i] = listakepidk!=null; if (listakepidk != null) { Tablainfo listainfo = Fak.GetBySzintPluszTablanev("R", "LISTAK"); Tablainfo specadatszolgnevek = Fak.GetBySzintPluszTablanev("R", "SPECADATSZOLGNEVEK"); Tablainfo adatszolginfo = Fak.GetBySzintPluszTablanev("R", "USERADATSZOLG"); Osszefinfo adatszolgspecfix = Fak.GetOsszef("R", "AdatszolgSpecfix").Osszefinfo; string listanev = Fak.GetTartal(listainfo, "SZOVEG", "ID", listakepidk)[0]; string[] adatszolgnevek = Fak.GetTartal(listainfo, "ADATSZOLGNEV", "SZOVEG", listanev); Adatszolge[i] = adatszolgnevek[0] != ""; if (Parameterez[i] != null) { Parameterez[i].UserContId = id[0]; Parameterez[i].UserContListakep = usercontlistakep; Parameterez[i].ListaInfo = listainfo; Parameterez[i].UserAdatSzolgInfo = adatszolginfo; Parameterez[i].SpecAdatSzolgnevInfo = specadatszolgnevek; string[] spec = new string[specadatszolgnevek.DataView.Count]; for (int j = 0; j < spec.Length; j++) spec[j] = specadatszolgnevek.DataView[j]["SZOVEG"].ToString(); Parameterez[i].SpecFixertekNevek = new ArrayList(spec); Parameterez[i].AdatszolgSpecfix = adatszolgspecfix; Parameterez[i].Listae = Listae[i]; Parameterez[i].ListaNev = listanev; Parameterez[i].Adatszolge = Adatszolge[i]; } } if (Parameterez[i] != null) { Parameterez par = Parameterez[i]; par.FakUserInterface = Fak; TabControl tabcont = par.tabControl1; tabcont.Controls.Remove(par.listapage); tabcont.Controls.Remove(par.adatbevitelpage); if (Listae[i]) par.ListaAdatbevPage = par.listapage; else { par.ListaAdatbevPage = par.adatbevitelpage; par.label1.Text=""; } tabcont.Controls.Add(par.ListaAdatbevPage); Base.Parameterezes egypar = Parameterek[i]; par.Paramfajta = egypar; switch (egypar) { case Base.Parameterezes.Datum: par.VanDatum = true; tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.egyszeruparampage); tabcont.Controls.Remove(par.osszetettparampage); par.datumparampanel.Controls.Remove(par.datumparamvalasztekpanel); par.datumparamvalasztek.Visible = false; par.TolLabel = par.datumparamtollabel; par.TolPicker = par.datumparamtol; par.IgLabel=par.datumparamiglabel; par.IgPicker=par.datumparamig; if (!Listae[i]) { par.datumparamlista.Text = "Adatbevitel"; par.label1.Text=""; } par.AlapertButtonok=new ToolStripButton[] {par.datumparamalapert}; par.ListaButtonok = new ToolStripButton[] { par.datumparamlista }; par.OkButtonok = new ToolStripButton[] { par.datumparamok }; if (par.TeljesEv) par.datumparamtol.CustomFormat = "yyyy"; else if (!par.TeljesHonap) { par.datumparamtol.CustomFormat = "yyyyMMMMMMMMMMM.dd"; par.datumparamig.CustomFormat = "yyyyMMMMMMMMMMM.dd"; } // par.IgPicker.CustomFormat = par.datumparamtol.CustomFormat; // par.TolPicker.ShowUpDown = par.TeljesHonap || par.TeljesEv; // par.IgPicker.ShowUpDown= par.TeljesHonap || par.TeljesEv; break; case Base.Parameterezes.Datumpluszvalasztek: par.VanDatum = true; par.VanValasztek = true; tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.egyszeruparampage); tabcont.Controls.Remove(par.osszetettparampage); par.TolLabel = par.datumparamtollabel; par.TolPicker = par.datumparamtol; par.IgLabel=par.datumparamiglabel; par.IgPicker=par.datumparamig; par.Valasztek = par.datumparamvalasztek; if(!Listae[i]) { par.datumparamlista.Text = "Adatbevitel"; par.label1.Text=""; } par.AlapertButtonok = new ToolStripButton[] { par.datumparamalapert }; par.ListaButtonok = new ToolStripButton[] { par.datumparamlista }; par.OkButtonok = new ToolStripButton[] { par.datumparamok }; if (par.TeljesEv) par.datumparamtol.CustomFormat = "yyyy"; else if (!par.TeljesHonap) par.datumparamtol.CustomFormat = "yyyyMMMMMMMMMMM.dd"; par.IgPicker.CustomFormat = par.datumparamtol.CustomFormat; // par.TolPicker.ShowUpDown = par.TeljesHonap || par.TeljesEv; // par.IgPicker.ShowUpDown= par.TeljesHonap || par.TeljesEv; break; case Base.Parameterezes.Listaparamok: par.VanLista = true; par.listaparamdatumpanel.Visible = false; par.listaparamtoolstrip.Visible = false; tabcont.Controls.Remove(par.datumparampage); tabcont.Controls.Remove(par.egyszeruparampage); tabcont.Controls.Remove(par.osszetettparampage); break; case Base.Parameterezes.ListaparamokpluszDatum: par.VanDatum = true; par.VanLista = true; tabcont.Controls.Remove(par.datumparampage); tabcont.Controls.Remove(par.egyszeruparampage); tabcont.Controls.Remove(par.osszetettparampage); break; case Base.Parameterezes.Egyszeruszures: par.VanEgyszeru = true; tabcont.Controls.Remove(par.datumparampage); tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.osszetettparampage); par.egyszeruparampanel.Controls.Remove(par.egyszeruparamdatumpanel); if (!Listae[i]) { par.egyszeruparamalsolista.Text = "Adatbevitel"; par.label1.Text=""; } par.AlapertButtonok = new ToolStripButton[] { par.egyszeruparamalapert }; par.MindButtonok = new ToolStripButton[] { par.egyszeruparamalsomind }; par.EgysemButtonok = new ToolStripButton[] { par.egyszeruparamalsoegysem }; par.OkButtonok = new ToolStripButton[] { par.egyszeruparamalsook }; par.ListaButtonok = new ToolStripButton[] { par.egyszeruparamalsolista }; break; case Base.Parameterezes.EgyszeruszurespluszDatum: par.VanDatum = true; par.VanEgyszeru = true; tabcont.Controls.Remove(par.datumparampage); tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.osszetettparampage); par.TolLabel = par.egyszeruparamtollabel; par.TolPicker = par.egyszeruparamtol; par.IgLabel=par.egyszeruparamiglabel; par.IgPicker=par.egyszeruparamig; if (!Listae[i]) { par.egyszeruparamlista.Text = "Adatbevitel"; par.egyszeruparamalsolista.Text = "Adatbevitel"; par.label1.Text=""; } par.AlapertButtonok = new ToolStripButton[] { par.egyszeruparamalapert,null}; par.MindButtonok = new ToolStripButton[] { null, par.egyszeruparamalsomind }; par.EgysemButtonok = new ToolStripButton[] { null, par.egyszeruparamalsoegysem }; par.ListaButtonok = new ToolStripButton[] { par.egyszeruparamlista, par.egyszeruparamalsolista }; par.OkButtonok = new ToolStripButton[] { par.egyszeruparamok, par.egyszeruparamalsook }; if (par.TeljesEv) par.egyszeruparamtol.CustomFormat = "yyyy"; else if (!par.TeljesHonap) par.datumparamtol.CustomFormat = "yyyyMMMMMMMMMMM.dd"; par.IgPicker.CustomFormat = par.datumparamtol.CustomFormat; // par.TolPicker.ShowUpDown = par.TeljesHonap || par.TeljesEv; // par.IgPicker.ShowUpDown= par.TeljesHonap || par.TeljesEv; break; case Base.Parameterezes.Osszetettszures: par.VanOsszetett = true; tabcont.Controls.Remove(par.datumparampage); tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.egyszeruparampage); par.osszetettparampanel.Controls.Remove(par.osszetettparamdatumpanel); par.MindButtonok = new ToolStripButton[] { par.osszetettparamkozepsomind}; par.EgysemButtonok = new ToolStripButton[] { par.osszetettparamkozepsoegysem}; par.ListaButtonok = new ToolStripButton[] { par.osszetettparamkozepsolista}; par.OkButtonok = new ToolStripButton[] { par.osszetettparamkozepsook}; par.Radiobuttonok = new RadioButton[]{par.radioButton1,par.radioButton2,par.radioButton3, par.radioButton4,par.radioButton5}; par.RadiobuttonViewk = new DataView[5]; par.RadiobuttonAllapotok = new bool[5]; break; case Base.Parameterezes.OsszetettszurespluszDatum: par.VanDatum = true; par.VanOsszetett = true; tabcont.Controls.Remove(par.datumparampage); tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.egyszeruparampage); par.TolLabel = par.osszetettparamtollabel; par.TolPicker = par.osszetettparamtol; par.IgLabel=par.osszetettparamiglabel; par.IgPicker=par.osszetettparamig; if (!Listae[i]) { par.osszetettparamlista.Text = "Adatbevitel"; par.label1.Text=""; } par.AlapertButtonok = new ToolStripButton[] { par.osszetettparamalapert}; par.MindButtonok = new ToolStripButton[] {null,par.osszetettparamkozepsomind}; par.EgysemButtonok = new ToolStripButton[] { null,par.osszetettparamkozepsoegysem}; par.OkButtonok = new ToolStripButton[] { par.osszetettparamfelsook, par.osszetettparamkozepsook }; par.ListaButtonok = new ToolStripButton[] { par.osszetettparamlista, par.osszetettparamkozepsolista }; par.Radiobuttonok = new RadioButton[]{par.radioButton1,par.radioButton2,par.radioButton3, par.radioButton4,par.radioButton5}; par.RadiobuttonViewk= new DataView[5]; par.RadiobuttonAllapotok = new bool[5]; if (par.TeljesEv) par.osszetettparamtol.CustomFormat = "yyyy"; else if (!par.TeljesHonap) par.datumparamtol.CustomFormat = "yyyyMMMMMMMMMMM.dd"; // par.TolPicker.ShowUpDown = par.TeljesHonap || par.TeljesEv; // par.IgPicker.ShowUpDown= par.TeljesHonap || par.TeljesEv; par.IgPicker.CustomFormat = par.datumparamtol.CustomFormat; break; } if (par.OkButtonok != null) { par.OkVolt = new bool[par.OkButtonok.Length]; for (int ii = 0; ii < par.OkVolt.Length; ii++) par.OkVolt[ii] = true; } if (par.TolPicker != null) { if (par.CsakEgyHonap) { par.TolLabel.Text = "Adja meg a kivánt dátumot:"; if (par.TeljesEv) par.TolLabel.Text = "Adja meg a kivánt évet:"; par.IgPicker.Visible = false; par.IgLabel.Visible = false; par.IgLabel = null; par.IgPicker = null; } } Fak.EventTilt = true; par.tabControl1.SelectedIndex = 1; Fak.EventTilt = false; } } LetezoUserControlNevek = parentvezerles.LetezoUserControlNevek; UserContHozferJogok = parentvezerles.UserContHozferJogok; OsszesControlNev = parentvezerles.OsszesControlNev; OsszesLetezoControl = parentvezerles.OsszesLetezoControl; if (vez.AlmenuNevek.Count > menuindex) { AlmenuNevek.Add(vez.AlmenuNevek[menuindex]); AlmenuUserControlNevek.Add(vez.AlmenuUserControlNevek[menuindex]); DropItemek.Add(vez.DropItemek[menuindex]); EredetiDropEnablek.Add(vez.EredetiDropEnablek[menuindex]); TabPagek.Add(vez.TabPagek[menuindex]); } else { AlmenuNevek.Add(null); AlmenuUserControlNevek.Add(null); DropItemek.Add(null); EredetiDropEnablek.Add(null); TabPagek.Add(null); } parentvezerles.ChildVezerloinfoCollection.Add(this); LetezoControlok = new Base[ControlNevek.Count]; vez.LekerdezendoAllapotNevek.Add(LekerdezendoAllapotNevek); }
/// <summary> /// /// </summary> /// <param name="fakuserinterface"></param> /// <param name="control"></param> /// <param name="controlnev"></param> /// <param name="menuindex"></param> /// <param name="almenuindex"></param> /// <param name="parentvezerles"></param> /// <param name="kezszint"></param> /// <param name="hozfer"></param> /// <param name="letezousercontnevek"></param> public void VezerlesInit(FakUserInterface fakuserinterface, Base control, string controlnev, int menuindex, int almenuindex, Vezerloinfo parentvezerles, ref Base.KezSzint kezszint, ref Base.HozferJogosultsag hozfer, ArrayList letezousercontnevek,ref Base.HozferJogosultsag[] conthozferek) { Fak = fakuserinterface; fakuserinterface.ProgressRefresh(); Name = controlnev + "Vez"; KezeloiSzint = kezszint; HozferJog = hozfer; ArrayList menunevek = new ArrayList(); string[] menuidk = null; string[] menuitemidk = null; string[] useridk = null; string[] usernev = null; string[] almenuidk = null; string[] almenuitemidk = null; string[] hivottnevek = null; string[] hivottnevidk = null; string id; Vezerloinfo vez = null; string usernevfilter = ""; if (control != null) usernevfilter = ((VezerloAlapControl)control).UserNevFilter; else if (parentvezerles != null && parentvezerles.Control != null) usernevfilter = ((VezerloAlapControl)parentvezerles.Control).UserNevFilter; if (usernevfilter == "") { if (Fak.Alkalmazas != "TERVEZO") usernevfilter = "ALKALMAZAS_ID=" + Fak.AlkalmazasId; else usernevfilter = "ALKALMAZAS_ID=0"; } if (parentvezerles == null) { if (Fak.Alkalmazas != "TERVEZO") { LetezoUserControlNevek = letezousercontnevek; UserContHozferJogok = conthozferek; } usernevek = Fak.GetBySzintPluszTablanev("R", "USERCONTROLNEVEK"); Parameterek = new Base.Parameterezes[usernevek.DataView.Count]; Teljeshonap = new bool[usernevek.DataView.Count]; Teljesev = new bool[usernevek.DataView.Count]; Csakegyhonap = new bool[usernevek.DataView.Count]; allapotok = Fak.GetBySzintPluszTablanev("R", "USERALLAPOTOK"); menuitemek = Fak.GetKodtab("R", "Menupontok"); almenuitemek = Fak.GetKodtab("R", "Almenupontok"); usernevusernev = Fak.GetOsszef("R", "UserContStru").Osszefinfo; usernevallapoterzekeny = Fak.GetOsszef("R", "Alkalmallapoterzekeny").Osszefinfo; usernevmenuitemek = Fak.GetOsszef("R", "UserContMenu").Osszefinfo; usernevalmenuitemek = Fak.GetOsszef("R", "UserContAlmenu").Osszefinfo; menuitemalmenuitemek = Fak.GetOsszef("R", "MenuAlmenu").Osszefinfo; usercontlistakep = Fak.GetOsszef("R", "UserContListakep").Osszefinfo; OsszesAllapotId = Fak.GetTartal(allapotok, "ID", "SZOVEG", ""); OsszesAllapotNev = Fak.GetTartal(allapotok, "SZOVEG", "ID", ""); termtabinfo = Fak.GetBySzintPluszTablanev("R", "TABLANEVEK"); } else { vez = parentvezerles; Hivo = parentvezerles.Control; LetezoUserControlNevek = vez.LetezoUserControlNevek; UserContHozferJogok = vez.UserContHozferJogok; usernevek = vez.usernevek; Parameterek = vez.Parameterek; Teljeshonap = vez.Teljeshonap; Teljesev = vez.Teljesev; Csakegyhonap = vez.Csakegyhonap; allapotok = vez.allapotok; termtabinfo = vez.termtabinfo; menuitemek = vez.menuitemek; almenuitemek = vez.almenuitemek; usernevusernev = vez.usernevusernev; usernevallapoterzekeny = vez.usernevallapoterzekeny; usernevmenuitemek = vez.usernevmenuitemek; usernevalmenuitemek = vez.usernevalmenuitemek; menuitemalmenuitemek = vez.menuitemalmenuitemek; usercontlistakep = vez.usercontlistakep; OsszesAllapotId = vez.OsszesAllapotId; OsszesAllapotNev = vez.OsszesAllapotNev; OsszesControlNev = vez.OsszesControlNev; OsszesLetezoControl = vez.OsszesLetezoControl; } Fak.ProgressRefresh(); if (control != null) { if (OsszesControlNev.IndexOf(control.Name) == -1) { OsszesControlNev.Add(control.Name); OsszesLetezoControl.Add(control); if (control.Name == "Formvezerles") { parentvezerles.LetezoUserControlNevek.Add(control.Name); ArrayList ar = new ArrayList(parentvezerles.LetezoControlok); ar.Add(control); parentvezerles.LetezoControlok = (Base[])ar.ToArray(typeof(Base)); } } MenuStrip = control.MenuStrip; if (MenuStrip != null) { MenuItemek = new ToolStripMenuItem[MenuStrip.Items.Count]; MenuNevek = new string[MenuItemek.Length]; for (int i = 0; i < MenuItemek.Length; i++) { Fak.ProgressRefresh(); MenuItemek[i] = (ToolStripMenuItem)MenuStrip.Items[i]; MenuNevek[i] = MenuItemek[i].Text; ArrayList droparray = new ArrayList(); ArrayList almenuar = new ArrayList(); ArrayList tabpagear = new ArrayList(); for (int j = 0; j < MenuItemek[i].DropDownItems.Count; j++) { droparray.Add(MenuItemek[i].DropDownItems[j]); string nev = MenuItemek[i].DropDownItems[j].Text; almenuar.Add(nev); TabPage p = new TabPage(nev); //p.AutoScroll = true; //p.AutoScrollMargin = new Size(3, 3); tabpagear.Add(p); } string[] almenuks = (string[])almenuar.ToArray(typeof(string)); DropItemek.Add((ToolStripMenuItem[])droparray.ToArray(typeof(ToolStripMenuItem))); AlmenuNevek.Add(almenuks); TabPage[] pagek = (TabPage[])tabpagear.ToArray(typeof(TabPage)); TabPagek.Add(pagek); EredetiDropEnablek.Add(new bool[almenuks.Length]); } for (int i = 0; i < MenuNevek.Length; i++) { Fak.ProgressRefresh(); menuidk = Fak.GetTartal(menuitemek, "SORSZAM", "SZOVEG", MenuNevek[i]); if (menuidk != null) { hivottnevidk = Fak.GetSzurtOsszefIdk(usernevmenuitemek, new object[] { "", menuidk }); if (hivottnevidk != null) hivottnevek = Fak.GetTartal(usernevek, "SZOVEG", "ID", hivottnevidk); } TabPage[] pagek = (TabPage[])TabPagek[i]; if (menuidk == null) AlmenuUserControlNevek.Add(null); else { almenuidk = Fak.GetSzurtOsszefIdk(menuitemalmenuitemek, new object[] { menuidk, "" }); if (almenuidk == null) AlmenuUserControlNevek.Add(null); else { useridk = Fak.GetSzurtOsszefIdk(usernevalmenuitemek, new object[] { "", almenuidk }); if (useridk == null) AlmenuUserControlNevek.Add(null); else { string[] usernevpagek = new string[pagek.Length]; if (Fak.Alkalmazas == "TERVEZO" || control.Name == "Formvezerles") usernev = Fak.GetTartal(usernevek, "SZOVEG", "ID", useridk); else usernev = hivottnevek; bool multi = false; if (usernev.Length > usernevpagek.Length) { multi = true; MultiUser.Add(usernev); ArrayList tooltipek = new ArrayList(); for (int j = 0; j < usernev.Length; j++) { int k = Valtozaskezeles.uscontnevekarray.IndexOf(usernev[j]); string tooltipszov = Valtozaskezeles.tooltiptextek[k]; tooltipek.Add(tooltipszov); if (OsszesControlNev.IndexOf(usernev[j]) == -1) { OsszesControlNev.Add(usernev[j]); OsszesLetezoControl.Add(null); } } MultiUserToolTip.Add((string[])tooltipek.ToArray(typeof(string))); AlmenuUserControlNevek.Add(new string[] { usernev[0] }); } else { MultiUser.Add(null); MultiUserToolTip.Add(null); for (int j = 0; j < usernev.Length; j++) usernevpagek[j] = usernev[j]; for (int j = usernev.Length; j < pagek.Length; j++) usernevpagek[j] = usernev[usernev.Length - 1]; usernev = usernevpagek; for (int j = 0; j < usernev.Length; j++) { int k = Valtozaskezeles.uscontnevekarray.IndexOf(usernev[j]); string toolstripszov = Valtozaskezeles.tooltiptextek[k]; pagek[j].ToolTipText = toolstripszov; } AlmenuUserControlNevek.Add(usernev); } if (multi) { if (Parameterek.Length != OsszesControlNev.Count) { Parameterek = new Base.Parameterezes[OsszesControlNev.Count]; Parameterez = new Parameterez[OsszesControlNev.Count]; Teljeshonap = new bool[OsszesControlNev.Count]; Teljesev = new bool[OsszesControlNev.Count]; Csakegyhonap = new bool[OsszesControlNev.Count]; Listae = new bool[OsszesControlNev.Count]; } for (int k = 0; k < usernev.Length; k++) { string egynev = usernev[k]; int j = OsszesControlNev.IndexOf(egynev); string[] id1 = Fak.GetTartal(usernevek, "ID", "SZOVEG", egynev); string[] paramok = Fak.GetTartal(usernevek, "PARAMETEREZES", "ID", id1); string[] teljeshonap = Fak.GetTartal(usernevek, "TELJESHONAP", "ID", id1); string[] teljesev = Fak.GetTartal(usernevek, "TELJESEV", "ID", id1); string[] csakegyhonap = Fak.GetTartal(usernevek, "CSAKEGYHONAP", "ID", id1); Parameterek[j] = (Base.Parameterezes)Convert.ToInt16(paramok[0]); Teljeshonap[j] = teljeshonap[0] == "I"; Teljesev[j] = teljesev[0] == "I"; Csakegyhonap[j] = csakegyhonap[0] == "I"; if (Parameterek[j] != Base.Parameterezes.Nincsparameterezes) { Parameterez[j] = new Parameterez(); Parameterez[j].Paramfajta = Parameterek[j]; Parameterez[j].TeljesHonap = Teljeshonap[j]; Parameterez[j].TeljesEv = Teljesev[j]; if (Teljesev[j]) Parameterez[j].CsakEgyHonap = true; else Parameterez[j].CsakEgyHonap = Csakegyhonap[j]; Parameterez[j].Dock = DockStyle.Fill; Parameterez par = Parameterez[j]; par.FakUserInterface = Fak; TabControl tabcont = par.tabControl1; tabcont.Controls.Remove(par.listapage); tabcont.Controls.Remove(par.adatbevitelpage); if (Listae[i]) par.ListaAdatbevPage = par.listapage; else { par.ListaAdatbevPage = par.adatbevitelpage; par.label1.Text = ""; } tabcont.Controls.Add(par.ListaAdatbevPage); Base.Parameterezes egypar = Parameterek[j]; par.Paramfajta = egypar; switch (egypar) { case Base.Parameterezes.Datum: par.VanDatum = true; tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.egyszeruparampage); tabcont.Controls.Remove(par.osszetettparampage); par.datumparampanel.Controls.Remove(par.datumparamvalasztekpanel); par.datumparamvalasztek.Visible = false; par.TolLabel = par.datumparamtollabel; par.TolPicker = par.datumparamtol; par.IgLabel = par.datumparamiglabel; par.IgPicker = par.datumparamig; if (!Listae[i]) { par.datumparamlista.Text = "Adatbevitel"; par.label1.Text = ""; } par.AlapertButtonok = new ToolStripButton[] { par.datumparamalapert }; par.ListaButtonok = new ToolStripButton[] { par.datumparamlista }; par.OkButtonok = new ToolStripButton[] { par.datumparamok }; if (par.TeljesEv) { par.datumparamtol.CustomFormat = "yyyy"; par.datumparamtol.Format = System.Windows.Forms.DateTimePickerFormat.Custom; } // par.TolPicker.ShowUpDown = par.TeljesHonap || par.TeljesEv; // par.IgPicker.ShowUpDown= par.TeljesHonap || par.TeljesEv; break; case Base.Parameterezes.Datumpluszvalasztek: par.VanDatum = true; par.VanValasztek = true; tabcont.Controls.Remove(par.listaparampage); tabcont.Controls.Remove(par.egyszeruparampage); tabcont.Controls.Remove(par.osszetettparampage); par.TolLabel = par.datumparamtollabel; par.TolPicker = par.datumparamtol; par.IgLabel = par.datumparamiglabel; par.IgPicker = par.datumparamig; par.Valasztek = par.datumparamvalasztek; if (!Listae[i]) { par.datumparamlista.Text = "Adatbevitel"; par.label1.Text = ""; } par.AlapertButtonok = new ToolStripButton[] { par.datumparamalapert }; par.ListaButtonok = new ToolStripButton[] { par.datumparamlista }; par.OkButtonok = new ToolStripButton[] { par.datumparamok }; if (par.TeljesEv) { par.datumparamtol.CustomFormat = "yyyy"; par.datumparamtol.Format = System.Windows.Forms.DateTimePickerFormat.Custom; } // par.TolPicker.ShowUpDown = par.TeljesHonap || par.TeljesEv; // par.IgPicker.ShowUpDown= par.TeljesHonap || par.TeljesEv; break; } if (par.OkButtonok != null) { par.OkVolt = new bool[par.OkButtonok.Length]; for (int ii = 0; ii < par.OkVolt.Length; ii++) par.OkVolt[ii] = true; } if (par.TolPicker != null) { if (par.CsakEgyHonap) { par.TolLabel.Text = "Adja meg a kivánt dátumot:"; if (par.TeljesEv) par.TolLabel.Text = "Adja meg a kivánt évet:"; par.IgPicker.Visible = false; par.IgLabel.Visible = false; par.IgLabel = null; par.IgPicker = null; } } Fak.EventTilt = true; par.tabControl1.SelectedIndex = 0; Fak.EventTilt = false; } } } } } } } } MenuPanel = control.MenuPanel; TreePanel = control.TreePanel; TreeView = control.TreeView; TabControl = control.TabControl; Control = control; } if (menuindex != -1) { hivottnevek = new string[] { controlnev }; ControlNevek = new ArrayList(hivottnevek); usernevek.DataView.RowFilter = usernevfilter; id = Fak.GetTartal(usernevek, "ID", "SZOVEG", controlnev)[0]; hivottnevidk = Fak.GetSzurtOsszefIdk(usernevusernev, new object[] { id, "" }); if (control == null) { MenuNevek = new string[] { parentvezerles.MenuNevek[menuindex] }; AlmenuNevek.Add(parentvezerles.AlmenuNevek[menuindex]); AlmenuUserControlNevek.Add(parentvezerles.AlmenuUserControlNevek[menuindex]); DropItemek.Add(parentvezerles.DropItemek[menuindex]); TabPagek.Add(parentvezerles.TabPagek[menuindex]); EredetiDropEnablek.Add(parentvezerles.EredetiDropEnablek[menuindex]); Name = parentvezerles.Name + "Alvez" + controlnev + almenuindex.ToString(); ControlNevek = AlmenuUserControlNevek; if (ControlNevek.Count != 0) LetezoControlok = new Base[((string[])ControlNevek[0]).Length]; } } else { usernevek.DataView.RowFilter = usernevfilter; id = Fak.GetTartal(usernevek, "ID", "SZOVEG", controlnev)[0]; hivottnevidk = Fak.GetSzurtOsszefIdk(usernevusernev, new object[] { id, "" }); hivottnevek = null; almenuitemidk = null; if (hivottnevidk != null) { usernevek.DataView.RowFilter = usernevfilter; hivottnevek = Fak.GetTartal(usernevek, "SZOVEG", "ID", hivottnevidk); } else { hivottnevidk = new string[] { id }; hivottnevek = new string[] { controlnev }; } ControlNevek = new ArrayList(hivottnevek); if (control == null) { menuitemidk = Fak.GetSzurtOsszefIdk(usernevmenuitemek, new object[] { id, "" }); if (menuitemidk != null) { MenuNevek = Fak.GetTartal(menuitemek, "SZOVEG", "SORSZAM", menuitemidk); menunevek = new ArrayList(MenuNevek); } else { foreach (string nev in hivottnevek) { Fak.ProgressRefresh(); usernevek.DataView.RowFilter = usernevfilter; string[] egyid = Fak.GetTartal(usernevek, "ID", "SZOVEG", nev); menuitemidk = Fak.GetSzurtOsszefIdk(usernevmenuitemek, new object[] { egyid[0], "" }); if (menuitemidk != null) { string[] mennevek = Fak.GetTartal(menuitemek, "SZOVEG", "SORSZAM", menuitemidk); foreach (string mennev in mennevek) { if (menunevek.IndexOf(mennev) == -1) menunevek.Add(mennev); } } } if (menunevek.Count != 0) MenuNevek = (string[])menunevek.ToArray(typeof(string)); } if (MenuStrip != null && MenuNevek.Length != MenuStrip.Items.Count) { Fak.BajVan = true; FakPlusz.MessageBox.Show(" paraméterezett menüneveinek száma:" + MenuNevek.Length.ToString() + "" + MenuStrip.Items.Count.ToString(), controlnev); } for (int i = 0; i < menunevek.Count; i++) { Fak.ProgressRefresh(); string keres = menunevek[i].ToString(); id = Fak.GetTartal(menuitemek, "SORSZAM", "SZOVEG", keres)[0]; almenuitemidk = Fak.GetSzurtOsszefIdk(menuitemalmenuitemek, new object[] { new string[] { id }, "" }); string[] almenunevek = null; if (almenuitemidk != null) { almenunevek = Fak.GetTartal(almenuitemek, "SZOVEG", "SORSZAM", almenuitemidk); AlmenuNevek.Add(almenunevek); string[] tooltipszovegek = null; string[] almenucontnevek = null; string[] almenucontnevidk = Fak.GetSzurtOsszefIdk(usernevalmenuitemek, new object[] { hivottnevidk, almenuitemidk }); if (almenucontnevidk != null) { almenucontnevidk = Fak.GetTartal(usernevalmenuitemek.tabinfo, "SORSZAM1", "SORSZAM", almenucontnevidk); usernevek.DataView.RowFilter = usernevfilter; almenucontnevek = Fak.GetTartal(usernevek, "SZOVEG", "ID", almenucontnevidk); tooltipszovegek = new string[almenucontnevek.Length]; for (int jj = 0; jj < almenucontnevek.Length; jj++) { int k = Valtozaskezeles.uscontnevekarray.IndexOf(almenucontnevek[jj]); tooltipszovegek[jj] = Valtozaskezeles.tooltiptextek[k]; } AlmenuUserControlNevek.Add(almenucontnevek); } else AlmenuUserControlNevek.Add(null); DropItemek.Add(new ToolStripMenuItem[almenunevek.Length]); EredetiDropEnablek.Add(new bool[almenunevek.Length]); TabPage[] tabpagek = new TabPage[almenunevek.Length]; for (int j = 0; j < almenunevek.Length; j++) { tabpagek[j] = new TabPage(almenunevek[j]); //tabpagek[j].AutoScroll = true; //tabpagek[j].AutoScrollMargin = new Size(3, 3); if (tooltipszovegek != null && tooltipszovegek.Length > j) tabpagek[j].ToolTipText = tooltipszovegek[j]; } TabPagek.Add(tabpagek); } else { TabPagek.Add(null); AlmenuNevek.Add(null); DropItemek.Add(null); EredetiDropEnablek.Add(null); AlmenuUserControlNevek.Add(null); } } } if (ControlNevek.Count != 0) LetezoControlok = new Base[ControlNevek.Count]; } if (control != null) { for (int i = 0; i < AlmenuUserControlNevek.Count; i++) { string[] nevek = (string[])AlmenuUserControlNevek[i]; if (nevek != null) { for (int j = 0; j < nevek.Length; j++) { string egynev = nevek[j]; if (OsszesControlNev.IndexOf(egynev) == -1) { OsszesControlNev.Add(egynev); OsszesLetezoControl.Add(null); } } } } } ParentVezerles = parentvezerles; if (parentvezerles != null) parentvezerles.ChildVezerloinfoCollection.Add(this); }
private void FormvezerlesInit(FakUserInterface fak, Panel treepanel, Panel menupanel, Vezerloinfo parent, int almenuindex, ref Base.KezSzint kezelesiszint, ref Base.HozferJogosultsag hozfer) { InitializeComponent(); FakUserInterface = fak; Alkalmazas = "TERVEZO"; fak.ProgressRefresh(); ParentVezerles = parent; Hivo = parent.Control; KezeloiSzint = kezelesiszint; HozferJog = hozfer; TreePanel = treepanel; MenuPanel = menupanel; SajatPanel = panel1; MenuStrip = menuStrip1; tabControl1.Dock = DockStyle.Fill; TabControl = tabControl1; TabControl.ShowToolTips = true; TabControl.Deselecting += TabControl_Deselecting; TabControl.Selected += TabControl_Selected; TabControl.Dock = DockStyle.Fill; SajatPanel.Controls.Add(TabControl); UserNevFilter = "ALKALMAZAS_ID=0"; Vezerles = new Vezerloinfo(fak, this, -1, parent, ref kezelesiszint, ref hozfer, new ArrayList()); if (almenuindex != -1) parent.ChildVezerloinfoCollection[almenuindex].AktivControl = this; Tablainfo alkalminfo = fak.GetKodtab("R", "Alkalm"); if (!Tervezoe) { Tablainfo usernevek = fak.GetBySzintPluszTablanev("R", "USERCONTROLNEVEK"); usernevek.DataView.RowFilter = UserNevFilter; Osszefinfo usernevusernev = fak.GetOsszef("R", "UserContStru").Osszefinfo; string userid = fak.GetTartal(usernevek, "ID", "SZOVEG", "Formvezerles")[0]; string[] useridk = fak.GetSzurtOsszefIdk(usernevusernev, new object[] { userid, "" }); string[] userek = fak.GetTartal(usernevek, "SZOVEG", "ID", useridk); Vezerles.ControlNevek = new ArrayList(userek); usernevek.DataView.RowFilter = ""; } int db = alkalminfo.DataView.Count + 1; szovegek = new string[db]; TabPage[] adatbtabpagek = new TabPage[db]; ToolStripMenuItem[] adatbdropok = new ToolStripMenuItem[db]; string[] adatbalmenunevek = new string[db]; TabPage[] leirotabpagek = new TabPage[db]; ToolStripMenuItem[] leirodropok = new ToolStripMenuItem[db]; string[] leiroalmenunevek = new string[db]; szovegek[0] = "TERVEZO"; adatbtabpagek[0] = ((TabPage[])Vezerles.TabPagek[2])[0]; adatbdropok[0] = ((ToolStripMenuItem[])Vezerles.DropItemek[2])[0]; adatbalmenunevek[0] = ((string[])Vezerles.AlmenuUserControlNevek[2])[0]; leirotabpagek[0] = ((TabPage[])Vezerles.TabPagek[3])[0]; leirodropok[0] = ((ToolStripMenuItem[])Vezerles.DropItemek[3])[0]; leiroalmenunevek[0] = ((string[])Vezerles.AlmenuUserControlNevek[3])[0]; Vezerloinfo alvez; for (int i = 0; i < alkalminfo.DataView.Count; i++) { DataRow dr = alkalminfo.DataView[i].Row; string szov = dr["SZOVEG"].ToString(); szovegek[i + 1] = szov; ToolStripMenuItem egyitem = new ToolStripMenuItem("Adatbázisinfo " + szov); Adatbazisinfo.DropDownItems.Add(egyitem); adatbdropok[i + 1] = egyitem; adatbtabpagek[i + 1] = new TabPage(egyitem.Text); adatbalmenunevek[i + 1] = adatbalmenunevek[0]; egyitem = new ToolStripMenuItem("Leirások, megjegyzések " + szov); Leirasok.DropDownItems.Add(egyitem); leirodropok[i + 1] = egyitem; leirotabpagek[i + 1] = new TabPage(egyitem.Text); leiroalmenunevek[i + 1] = leiroalmenunevek[0]; } Vezerles.TabPagek[2] = adatbtabpagek; Vezerles.DropItemek[2] = adatbdropok; Vezerles.AlmenuUserControlNevek[2] = adatbalmenunevek; Vezerles.TabPagek[3] = leirotabpagek; Vezerles.DropItemek[3] = leirodropok; Vezerles.AlmenuUserControlNevek[3] = leiroalmenunevek; for (int j = 0; j < Vezerles.ControlNevek.Count; j++) { fak.ProgressRefresh(); string contnev = Vezerles.ControlNevek[j].ToString(); if (contnev != "TervTreeView") { alvez = new Vezerloinfo(fak, contnev, j, Vezerles, ref KezeloiSzint, ref HozferJog, new ArrayList()); ChildVezerlesek.Add(alvez); } else { AktivPanel = SajatPanel; if (!Tervezoe) AktivPanel = MenuPanel; fak.ProgressRefresh(); terv = new TervTreeView(fak, treepanel, AktivPanel, Vezerles, ref KezeloiSzint, ref HozferJog); ChildVezerlesek.Add(terv.Vezerles); } } if (!Tervezoe) this.Controls.Remove(menuStrip1); MenuPanel.Controls.Add(this); this.Dock = DockStyle.Fill; }