private void FRDControloAutoridade_ParentChanged(object sender, System.EventArgs e) { if (! (TopLevelControl is frmMain)) { return; } frmMain main = (frmMain)TopLevelControl; LumiSoft.UI.Controls.WOutlookBar.WOutlookBar ob = (LumiSoft.UI.Controls.WOutlookBar.WOutlookBar)(main.PanelOutlookBar.Controls[0]); var tfRow = (GISADataset.TipoFunctionRow)ob.StuckenItem.Tag; switch (tfRow.idx) { case 1: // Entidade detentora // Do nothing PanelCAIdentificacao1.VisibleEPExtensions = true; break; case 2: // Drop area 2, area 3 DropUnusedAreas(); PanelCAIdentificacao1.VisibleOnomasticoExtensions = true; break; case 3: // Conteúdos e Tipologia Informacional // Drop area 2, area 3 DropUnusedAreas(); if (SessionHelper.AppConfiguration.GetCurrentAppconfiguration().IsLicObrEnable()) PanelCAIdentificacao1.VisibleTipExtensions = true; break; } }
private void ConfigureOutlookBar() { outlookBar = new LumiSoft.UI.Controls.WOutlookBar.WOutlookBar(); Font font = new Font(new FontFamily("Arial"), 9F, FontStyle.Regular, GraphicsUnit.Point); outlookBar.Font = font; outlookBar.Dock = DockStyle.Fill; outlookBar.ImageList = new LumiSoft.UI.Controls.WOutlookBar.ImageList(); outlookBar.ImageList.Images.Add(this.ImageList1.Images[0]); outlookBar.UseStaticViewStyle = false; outlookBar.ViewStyle.BarBorderColor = Color.Transparent; outlookBar.ItemClicked += new LumiSoft.UI.Controls.WOutlookBar.ItemClickedEventHandler(OutlookBarItemClicked); outlookBar.ViewStyle.BarClientAreaColor1 = Color.FromArgb(109, 109, 109); // castanho menos escuro outlookBar.ViewStyle.BarClientAreaColor2 = Color.FromArgb(58, 58, 58); //castanho mais escuro outlookBar.ViewStyle.BarColor = SystemColors.Control; outlookBar.ViewStyle.BarHotBorderColor = Color.Transparent; outlookBar.ViewStyle.BarHotColor = Color.White; outlookBar.ViewStyle.BarHotTextColor = Color.Black; outlookBar.ViewStyle.BarItemBorderHotColor = Color.Transparent; outlookBar.ViewStyle.BarItemHotColor = Color.WhiteSmoke; //Color.FromArgb(30, 87, 114) outlookBar.ViewStyle.BarItemHotTextColor = Color.Black; outlookBar.ViewStyle.BarItemPressedColor = Color.Gainsboro; outlookBar.ViewStyle.BarItemSelectedColor = Color.LightGray; outlookBar.ViewStyle.BarItemSelectedTextColor = Color.Black; outlookBar.ViewStyle.BarItemTextColor = Color.White; outlookBar.ViewStyle.BarPressedColor = Color.WhiteSmoke; outlookBar.ViewStyle.BarTextColor = Color.Black; foreach (GISADataset.TipoFunctionGroupRow fg in GisaDataSetHelper.GetInstance().TipoFunctionGroup.Select("", "GUIOrder")) { // must exist in GisaPrincipal.TrusteePrivileges if (HasFunctionGroupAccess(fg)) { LumiSoft.UI.Controls.WOutlookBar.Bar bar = outlookBar.Bars.Add(fg.Name); bar.ItemsStyle = LumiSoft.UI.Controls.WOutlookBar.ItemsStyle.FullSelect; foreach (GISADataset.TipoFunctionRow f in GisaDataSetHelper.GetInstance().TipoFunction.Select("", "GUIOrder")) { // must exist in GisaPrincipal.TrusteePrivileges // must have at least READ privileges if (HasFunctionAccess(fg, f) && ! (supressFunction(f))) { Assembly asm = EnsureLoaded(f.ModuleName); try { Type t = CheckGuiExtension(asm, f.ClassName); Image b = null; Trace.WriteLine(string.Format("Installing {0}: {1}", fg.Name, f.Name)); try { MemberInfo prop = null; Trace.WriteLine("Looking for GetFunctionImage"); prop = t.GetMethod("GetFunctionImage", new Type[] {typeof(long)}); if (prop != null) { b = (Bitmap)(((MethodInfo)prop).Invoke(null, new object[] {f.idx})); } else { Trace.WriteLine("Looking for FunctionImage"); prop = t.GetMember("FunctionImage", BindingFlags.Public | BindingFlags.Static | BindingFlags.GetProperty)[0]; b = (Bitmap)(((PropertyInfo)prop).GetValue(null, new object[]{})); } } catch (Exception) { Trace.WriteLine("Using default image"); b = (Image)(outlookBar.ImageList.Images[0]); } LumiSoft.UI.Controls.WOutlookBar.Item tempWith1 = bar.Items.Add(f.Name, 0); tempWith1.ImageIndex = outlookBar.ImageList.Images.Add((Bitmap)b); tempWith1.Tag = f; } catch (GuiExtensionNotFoundException) { MessageBox.Show(string.Format("Não foi possível ativar a funcionalidade" + System.Environment.NewLine + "'{0}' - '{1}'" + System.Environment.NewLine + "configurada para este utilizador.", fg.Name, f.Name), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } #if ! ALLPRODUCTPERMISSIONS if (bar.Items.Count == 0) { outlookBar.Bars.Remove(bar); Trace.WriteLine("Removed " + bar.Caption + ". It had no available functions."); } #endif } } this.PanelOutlookBar.Controls.Add(outlookBar); }