From: <nic...@us...> - 2014-06-16 14:56:43
|
Revision: 4839 http://sourceforge.net/p/mp-plugins/code/4839 Author: nicsergio Date: 2014-06-16 14:56:35 +0000 (Mon, 16 Jun 2014) Log Message: ----------- Modified Paths: -------------- trunk/plugins/ShortCuter&SkinEditor/Source/Common/Tools.cs trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs Modified: trunk/plugins/ShortCuter&SkinEditor/Source/Common/Tools.cs =================================================================== --- trunk/plugins/ShortCuter&SkinEditor/Source/Common/Tools.cs 2014-06-16 08:52:05 UTC (rev 4838) +++ trunk/plugins/ShortCuter&SkinEditor/Source/Common/Tools.cs 2014-06-16 14:56:35 UTC (rev 4839) @@ -1,4 +1,7 @@ using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Reflection; @@ -108,7 +111,36 @@ gp.AddArc(r.X, r.Y + r.Height - hRadius, wRadius, hRadius, 90, 90); winControl.Region = new Region(gp); } - #endregion #endregion + #region Enum con Descrizioni + public static string GetEnumDescription(Enum enumValue) //Ottenimento descrizione enumerativo + { + FieldInfo fi = enumValue.GetType().GetField(enumValue.ToString()); + + if (fi != null) + { + object[] attrs = fi.GetCustomAttributes(typeof(DescriptionAttribute), true); + if (attrs != null && attrs.Length > 0) + return ((DescriptionAttribute)attrs[0]).Description; + } + + return enumValue.ToString(); //--> se attributo non trovato: si ritorna il valore + } + public static T GetEnumFromDescription<T>(string stringValue) where T : struct //Ottenimento enumerativo da descrizione + { + foreach (object e in Enum.GetValues(typeof(T))) + if (GetEnumDescription((Enum)e).Equals(stringValue)) + return (T)e; + throw new ArgumentException("No matching enum value found."); //--> se enumerativo non trovato: eccezione + } + public static IEnumerable<string> GetEnumDescriptions(Type enumType) //Ottenimento descrizioni per riempimento liste + { + var strings = new Collection<string>(); + foreach (Enum e in Enum.GetValues(enumType)) + strings.Add(GetEnumDescription(e)); + return strings; + } + #endregion + #endregion } } Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs =================================================================== --- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs 2014-06-16 08:52:05 UTC (rev 4838) +++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs 2014-06-16 14:56:35 UTC (rev 4839) @@ -31,7 +31,7 @@ { skinItems.Populate(mySkin.SkinFiles, mySkin.SkinLinks, false, true); FormatShortCutsGrid(); - + capsLockComboBox.DataSource = Enum.GetNames(typeof(LockKeys.LockKeyActions)); capsLockComboBox.SelectedItem = Enum.GetName(typeof(LockKeys.LockKeyActions), myShortCuts.General.ForcingCapsLock); numLockComboBox.DataSource = Enum.GetNames(typeof(LockKeys.LockKeyActions)); Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs =================================================================== --- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs 2014-06-16 08:52:05 UTC (rev 4838) +++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs 2014-06-16 14:56:35 UTC (rev 4839) @@ -448,9 +448,12 @@ #region Dati public enum DialogTypes //Tipologie di finestre di dialogo { + [Description("Default Menu Dialog")] DefaultDialog = 0, //--> finestra di dialogo predefinita (DialogMenu) - CustomList = 1, //--> finestra di dialogo personalizzata - lista - CustomPanel = 2 //--> finestra di dialogo personalizzata - pannello icone + [Description("Custom Menu Dialog - List")] + CustomList = 1, //--> finestra di dialogo personalizzata - lista + [Description("Custom Menu Dialog - Icons Panel")] + CustomPanel = 2 //--> finestra di dialogo personalizzata - pannello icone } private GeneralSettings _general; //Impostazioni generali private BindingList<Item> _items; //Lista (con associazione dati) elementi di navigazione This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |