// Created with MonoDevelop
//
//    QuickStep: Acquire, view and identify spectra 
//    Copyright (C) 2012 Thomas Klose & Torsten Schache, Hiperscan GmbH Dresden, Germany
//
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program.  If not, see <http://www.gnu.org/licenses/>.


using System;
using Hiperscan.Unix;


namespace Hiperscan.Extensions.ApoIdent
{
	public enum MessageKeys
	{
		ShowDifference,
		Lennartz,
		None,
	}
	
	public class MessageObject
	{
		public string Title 	{get;set;}
		public string Message 	{get;set;}
	}
	
	
	public static class MessageCatalog
	{
		
		private static MessageObject TestId = new MessageObject
		{
			Title 	= Catalog.GetString("Description Test ID"),
			Message	= Catalog.GetString
			(
			 	"The test ID is a unique number which is assigned to identification procedures. " +
			 	"This number is increased automatically for every identification and " +
			 	 "appears in the identification report and also on the printed label.\n" +
			 	"The start value of test ID has to be set independly for every configuration profile " +
			 	"in the settings. There can be chosen a value between 1 and 999999. " +
			 	"If value 999999 is reached, the next test ID will have the value 1."
			)
		};
		
		private static MessageObject ShowDifference = new MessageObject
		{
			Title 	= Catalog.GetString("Description Show Differences of Back Projections"),
			Message	= Catalog.GetString
			(
			 	"Select this option if you want to see the difference line between the following spectra:" +
			 	"\n\t - the back projection of the acquired spectrum" + 
			 	"\n\t - the back projection of the substance reference spectrum" +
			 	"\nPlease note that the difference line has an own scalling on the axis on the right side."
			)
		};

		/*
		Wenn Sie diese Option auswählen, wird ein Archiv erstellt. Dieses Archiv enthält dann alle Dokumente, die mit jedem IdentModul-Update
		ausgeliefert werden. Sie können dann dieses Archiv über das Hilfe-Menü unter 'Apo-Ident Dokumentenarchiv' erreichen. 
		 */

		
		private static MessageObject None = new MessageObject
		{
			Title 	= Catalog.GetString("No Title"),
			Message	= Catalog.GetString("No Message")
		};
		
		public static MessageObject GetMessageByID(MessageKeys key)
		{
			MessageObject message = MessageCatalog.None;
			switch(key)
			{
			case MessageKeys.ShowDifference:
				message = MessageCatalog.ShowDifference;
				break;

			default:
				break;
			}
			
			return message;
		}
	}
}

