Exemplo n.º 1
0
		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;						
			}
		}
Exemplo n.º 2
0
		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);
		}