Пример #1
0
        private StyledImage GetStyleImage(string name, StyleImageType imageType)
        {
            Dictionary <string, StyledImage> hash;

            switch (imageType)
            {
            case StyleImageType.ConstSize:
                hash = _constSizeImages;
                break;

            case StyleImageType.Small:
                hash = _smallSizeImages;
                break;

            case StyleImageType.Large:
                hash = _largeSizeImages;
                break;

            case StyleImageType.Default:
                hash = Config.Instance.ToolbarImageSize == ToolbarImageSize.Size16
                                                ? _smallSizeImages
                                                : _largeSizeImages;
                break;

            default:
                throw new ArgumentException("Unknown image type", "imageType");
            }
            StyledImage image;

            if (!hash.TryGetValue(name, out image))
            {
                return(null);
            }
            return(image);
        }
Пример #2
0
        // Регулярные выражения перенес в JanusProtocolInfo

        #endregion

        #region Private Methods
        /// <summary>
        /// Получить путь до картинки.
        /// </summary>
        /// <param name="provider"></param>
        /// <param name="name">Имя картинки.</param>
        /// <param name="imageType">Тип картинки.</param>
        /// <returns>Путь до картинки.</returns>
        private static string GetImageUri(
            IServiceProvider provider,
            string name,
            StyleImageType imageType)
        {
            return(provider.GetRequiredService <IStyleImageManager>()
                   .GetImageUri(name, imageType));
        }
Пример #3
0
        public Image GetImage(string name, StyleImageType imageType)
        {
            var si = GetStyleImage(name, imageType);

            return
                (si == null
                                        ? null
                                        : _images[si.GetUri(Thread.CurrentThread.CurrentUICulture)]);
        }
Пример #4
0
		/// <summary>
		/// Попытаться получить картику, в случае если картинка найдена не будет
		/// вернуть специальную картинку, показывающую, что искомая картинка не найдена.
		/// </summary>
		public static Image TryGetImage(
			[NotNull] this IStyleImageManager styleImageManager,
			[NotNull] string name,
			StyleImageType imageType)
		{
			if (styleImageManager == null)
				throw new ArgumentNullException("styleImageManager");
			if (name == null)
				throw new ArgumentNullException("name");

			return styleImageManager.GetImage(name, imageType);
			//ToDo: сппециальная картинка для отсутствующих картинок
		}
Пример #5
0
        public string GetImageUri(string name, StyleImageType imageType)
        {
            var si = GetStyleImage(name, imageType);

            return
                (si == null
                                        ? null
                                        : JanusProtocolInfo.FormatURI(JanusProtocolResourceType.Image,
                                                                      si.GetUri(Thread.CurrentThread.CurrentUICulture)
                                                                      .Replace(
                                                                          Path.DirectorySeparatorChar,
                                                                          JanusProtocolInfo.ProtocolSeparatorChar)));
        }
Пример #6
0
		/// <summary>
		/// Добавить картинку с указанным типом в <see cref="ImageList"/>.
		/// </summary>
		/// <returns>Индекс добавлененой картинки или -1 если картинка не найдена.</returns>
		public static int AppendImage(
			this IStyleImageManager styleImageManager,
			[Localizable(false)]string name,
			StyleImageType imageType,
			ImageList imageList)
		{
			if (styleImageManager == null)
				throw new ArgumentNullException("styleImageManager");

			var img = styleImageManager.GetImage(name, imageType);
			if (img == null)
				return -1;
			imageList.Images.Add(img);
			return imageList.Images.Count - 1;
		}
        /// <summary>
        /// Попытаться получить картику, в случае если картинка найдена не будет
        /// вернуть специальную картинку, показывающую, что искомая картинка не найдена.
        /// </summary>
        public static Image TryGetImage(
            [NotNull] this IStyleImageManager styleImageManager,
            [NotNull] string name,
            StyleImageType imageType)
        {
            if (styleImageManager == null)
            {
                throw new ArgumentNullException("styleImageManager");
            }
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            return(styleImageManager.GetImage(name, imageType));
            //ToDo: сппециальная картинка для отсутствующих картинок
        }
        /// <summary>
        /// Добавить картинку с указанным типом в <see cref="ImageList"/>.
        /// </summary>
        /// <returns>Индекс добавлененой картинки или -1 если картинка не найдена.</returns>
        public static int AppendImage(
            this IStyleImageManager styleImageManager,
            [Localizable(false)] string name,
            StyleImageType imageType,
            ImageList imageList)
        {
            if (styleImageManager == null)
            {
                throw new ArgumentNullException("styleImageManager");
            }

            var img = styleImageManager.GetImage(name, imageType);

            if (img == null)
            {
                return(-1);
            }
            imageList.Images.Add(img);
            return(imageList.Images.Count - 1);
        }
Пример #9
0
        public static string GetName(StyleImageType type)
        {
            switch (type)
            {
            case StyleImageType.None:
                return("-");

            case StyleImageType.Unavailable:
                return("Image unavailable");

            case StyleImageType.LoRes:
                return("Low-res");

            case StyleImageType.MidRes:
                return("Mid-res");

            case StyleImageType.Swatch:
                return("Swatch");

            case StyleImageType.HiRes:
                return("High-res");
            }
            return("-");
        }
Пример #10
0
		// Регулярные выражения перенес в JanusProtocolInfo

		#endregion

		#region Private Methods
		/// <summary>
		/// Получить путь до картинки.
		/// </summary>
		/// <param name="provider"></param>
		/// <param name="name">Имя картинки.</param>
		/// <param name="imageType">Тип картинки.</param>
		/// <returns>Путь до картинки.</returns>
		private static string GetImageUri(
			IServiceProvider provider,
			string name,
			StyleImageType imageType)
		{
			return provider.GetRequiredService<IStyleImageManager>()
				.GetImageUri(name, imageType);
		}
Пример #11
0
 public Image GetImage(string name, StyleImageType imageType)
 {
     var si = GetStyleImage(name, imageType);
     return
         si == null
             ? null
             : _images[si.GetUri(Thread.CurrentThread.CurrentUICulture)];
 }
Пример #12
0
 private StyledImage GetStyleImage(string name, StyleImageType imageType)
 {
     Dictionary<string, StyledImage> hash;
     switch (imageType)
     {
         case StyleImageType.ConstSize:
             hash = _constSizeImages;
             break;
         case StyleImageType.Small:
             hash = _smallSizeImages;
             break;
         case StyleImageType.Large:
             hash = _largeSizeImages;
             break;
         case StyleImageType.Default:
             hash = Config.Instance.ToolbarImageSize == ToolbarImageSize.Size16
                 ? _smallSizeImages
                 : _largeSizeImages;
             break;
         default:
             throw new ArgumentException("Unknown image type", "imageType");
     }
     StyledImage image;
     if (!hash.TryGetValue(name, out image))
         return null;
     return image;
 }
Пример #13
0
 public string GetImageUri(string name, StyleImageType imageType)
 {
     var si = GetStyleImage(name, imageType);
     return
         si == null
             ? null
             : JanusProtocolInfo.FormatURI(JanusProtocolResourceType.Image,
                     si.GetUri(Thread.CurrentThread.CurrentUICulture)
                     .Replace(
                         Path.DirectorySeparatorChar,
                         JanusProtocolInfo.ProtocolSeparatorChar));
 }