186 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			186 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.ComponentModel;
 | |
| using System.Runtime.InteropServices;
 | |
| using System.Drawing.Text;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace DevComponents.DotNetBar.Layout
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// Represents class with static functions that provide commonly used utility functions when working with
 | |
| 	/// Bar objects and items hosted by Bar object.
 | |
| 	/// </summary>
 | |
| 	internal class BarUtilities
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Gets or sets whether StringFormat internally used by all DotNetBar controls to render text is GenericDefault. Default value is false
 | |
|         /// which indicates that GenericTypographic is used.
 | |
|         /// </summary>
 | |
|         public static bool UseGenericDefaultStringFormat
 | |
|         {
 | |
|             get { return TextDrawing.UseGenericDefault; }
 | |
|             set { TextDrawing.UseGenericDefault = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the anti-alias text rendering hint that will be used to render text on controls that have AntiAlias property set to true.
 | |
|         /// </summary>
 | |
|         public static TextRenderingHint AntiAliasTextRenderingHint
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return DisplayHelp.AntiAliasTextRenderingHint;
 | |
|             }
 | |
|             set
 | |
|             {
 | |
|             	DisplayHelp.AntiAliasTextRenderingHint = value;
 | |
|             }
 | |
|         }
 | |
| 
 | |
| #if FRAMEWORK20
 | |
|         /// <summary>
 | |
|         /// Gets or sets whether .NET Framework TextRenderer class is used for text rendering instead of Graphics.DrawString. 
 | |
|         /// Default value is false. 
 | |
|         /// Using TextRenderer will disable the Fade and Animation effects on controls because of issues in TextRenderer when drawing text on transparent
 | |
|         /// surfaces.
 | |
|         /// </summary>
 | |
|         public static bool UseTextRenderer
 | |
|         {
 | |
|             get { return TextDrawing.UseTextRenderer; }
 | |
|             set { TextDrawing.UseTextRenderer = value; }
 | |
|         }
 | |
| #endif
 | |
| 
 | |
| 
 | |
|         private static bool _AlwaysGenerateAccessibilityFocusEvent = false;
 | |
|         /// <summary>
 | |
|         /// Gets or sets whether items always generate the Focus accessibility event when mouse enters the item. Default value is false which indicates
 | |
|         /// that focus event will be raised only when item is on menu bar.
 | |
|         /// </summary>
 | |
|         public static bool AlwaysGenerateAccessibilityFocusEvent
 | |
|         {
 | |
|             get { return _AlwaysGenerateAccessibilityFocusEvent; }
 | |
|             set
 | |
|             {
 | |
|                 _AlwaysGenerateAccessibilityFocusEvent = value;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         internal static bool IsModalFormOpen
 | |
|         {
 | |
|             get
 | |
|             {
 | |
| #if (FRAMEWORK20)
 | |
|                 for (int i = 0; i < System.Windows.Forms.Application.OpenForms.Count; i++)
 | |
|                 {
 | |
|                     System.Windows.Forms.Form form = System.Windows.Forms.Application.OpenForms[i];
 | |
|                     if (form.Modal) return true;
 | |
|                 }
 | |
| #endif
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private static bool _AutoRemoveMessageFilter = false;
 | |
|         /// <summary>
 | |
|         /// Gets or sets whether Application Message Filter that is registered by popup controls
 | |
|         /// is automatically unregistered when last control is disposed. Default value is false and
 | |
|         /// in most cases should not be changed.
 | |
|         /// </summary>
 | |
|         public static bool AutoRemoveMessageFilter
 | |
|         {
 | |
|             get { return _AutoRemoveMessageFilter; }
 | |
|             set { _AutoRemoveMessageFilter = value; }
 | |
|         }
 | |
| 
 | |
|         private static int _TextMarkupCultureSpecific = 3;
 | |
|         /// <summary>
 | |
|         /// Get or sets the text-markup padding for text measurement when running on Japanese version of Windows.
 | |
|         /// </summary>
 | |
|         public static int TextMarkupCultureSpecificPadding
 | |
|         {
 | |
|             get { return _TextMarkupCultureSpecific; }
 | |
|             set
 | |
|             {
 | |
|                 _TextMarkupCultureSpecific = value;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private static bool _DisposeItemImages = false;
 | |
|         /// <summary>
 | |
|         /// Gets or sets whether Image and Icon resources assigned to items and controls are automatically disposed when
 | |
|         /// control or item is disposed. Default value is false.
 | |
|         /// </summary>
 | |
|         public static bool DisposeItemImages
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return _DisposeItemImages;
 | |
|             }
 | |
|             set
 | |
|             {
 | |
|                 _DisposeItemImages = value;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Disposes image reference and sets it to null.
 | |
|         /// </summary>
 | |
|         /// <param name="image">Reference to image to dispose.</param>
 | |
|         internal static void DisposeImage(ref System.Drawing.Image image)
 | |
|         {
 | |
|             if (image == null) return;
 | |
|             image.Dispose();
 | |
|             image = null;
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// Disposes image reference and sets it to null.
 | |
|         /// </summary>
 | |
|         /// <param name="image">Reference to image to dispose.</param>
 | |
|         internal static void DisposeImage(ref System.Drawing.Icon icon)
 | |
|         {
 | |
|             if (icon == null) return;
 | |
|             icon.Dispose();
 | |
|             icon = null;
 | |
|         }
 | |
| 
 | |
|         #region Delayed Invoke
 | |
|         /// <summary>
 | |
|         /// Invokes the method asynchronously using the WinForms Timer.
 | |
|         /// </summary>
 | |
|         /// <param name="method">Method to invoke.</param>
 | |
|         public static void InvokeDelayed(MethodInvoker method)
 | |
|         {
 | |
|             InvokeDelayed(method, 10);
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// Invokes the method asynchronously using the WinForms Timer.
 | |
|         /// </summary>
 | |
|         /// <param name="method">Method to invoke.</param>
 | |
|         /// <param name="delayInterval">Time in milliseconds after which method is invoked.</param>
 | |
|         public static void InvokeDelayed(MethodInvoker method, int delayInterval)
 | |
|         {
 | |
|             Timer delayedInvokeTimer = new Timer();
 | |
|             delayedInvokeTimer = new Timer();
 | |
|             delayedInvokeTimer.Tag = method;
 | |
|             delayedInvokeTimer.Interval = delayInterval;
 | |
|             delayedInvokeTimer.Tick += new EventHandler(DelayedInvokeTimerTick);
 | |
|             delayedInvokeTimer.Start();
 | |
|         }
 | |
|         private static void DelayedInvokeTimerTick(object sender, EventArgs e)
 | |
|         {
 | |
|             Timer timer = (Timer)sender;
 | |
|             MethodInvoker method = (MethodInvoker)timer.Tag;
 | |
|             timer.Stop();
 | |
|             timer.Dispose();
 | |
|             method.Invoke();
 | |
|         }
 | |
|         #endregion
 | |
|     }
 | |
| 
 | |
| 	internal class BarPropertyBagKeys
 | |
| 	{
 | |
| 		public static string AutoHideSetting="autohide";
 | |
| 	}
 | |
| }
 |