| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Globalization;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Text.RegularExpressions;
 
- using System.Threading;
 
- using System.Windows;
 
- using System.Windows.Controls;
 
- using System.Windows.Data;
 
- using System.Windows.Documents;
 
- using System.Windows.Input;
 
- using System.Windows.Media;
 
- using System.Windows.Media.Imaging;
 
- using System.Windows.Navigation;
 
- using System.Windows.Shapes;
 
- using System.Collections.ObjectModel;
 
- using Xceed.Wpf.DataGrid;
 
- using System.Xml;
 
- using System.IO;
 
- using System.Runtime.Serialization.Formatters.Binary;
 
- using System.Diagnostics;
 
- namespace Aitex.UI.RecipeEditor
 
- {
 
-     /// <summary>
 
-     /// Interaction logic for RecipeEditorControl.xaml
 
-     /// </summary>
 
-     public partial class RecipeEditorControl : UserControl
 
-     {
 
-         public RecipeEditorControl()
 
-         {
 
-             InitializeComponent();
 
-             ControlViewModel = new RecipeEditorControlViewModel() { DataGridControl = this.dataGrid1 };
 
-             Loaded += new RoutedEventHandler(RecipeEditorView_Loaded);
 
-         }
 
-         /// <summary>
 
-         /// indicate whether recipe modified
 
-         /// </summary>
 
-         public bool IsRecipeModified
 
-         {
 
-             get { return ControlViewModel.IsRecipeModified; }
 
-         }
 
-         /// <summary>
 
-         /// RecipeEditor's view model
 
-         /// </summary>
 
-         public RecipeEditorControlViewModel ControlViewModel { get; set; }
 
-         /// <summary>
 
-         /// mask recipe item display
 
-         /// </summary>
 
-         /// <param name="maskedTechNames"></param>
 
-         public void SetDisplayMask(HashSet<string> maskedTechNames = null, HashSet<string> maskedCatalogNames = null)
 
-         {
 
-             if (ControlViewModel != null)
 
-             {
 
-                 ControlViewModel.MaskedTechNames = maskedTechNames;
 
-                 ControlViewModel.MaskedCatalogNames = maskedCatalogNames;
 
-                 ControlViewModel.RefreshCellsDisplay(false);
 
-             }
 
-         }
 
-         public void SetEnableBarcode(bool enabled)
 
-         {
 
-             if (ControlViewModel != null)
 
-             {
 
-                 ControlViewModel.EnableBarcode(enabled);
 
-             }
 
-         }
 
-         public void SetUser(string user)
 
-         {
 
-             if (ControlViewModel != null)
 
-             {
 
-                 ControlViewModel.SetCurrentUser(user);
 
-             }
 
-         }
 
-         public void SetEndPointDefaultValue(string defaultValue)
 
-         {
 
-             if (ControlViewModel != null)
 
-             {
 
-                 ControlViewModel.SetEndPointDefaultValue(defaultValue);
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// loaded handling
 
-         /// </summary>
 
-         /// <param name="sender"></param>
 
-         /// <param name="e"></param>
 
-         void RecipeEditorView_Loaded(object sender, RoutedEventArgs e)
 
-         {
 
-             grid1.DataContext = ControlViewModel;
 
-         }
 
-         /// <summary>
 
-         /// open recipe file
 
-         /// </summary>
 
-         /// <param name="sender"></param>
 
-         /// <param name="e"></param>
 
-         private void OpenButtonPanelLoaded(object sender, RoutedEventArgs e)
 
-         {
 
-             try
 
-             {
 
-                 string variation = (string)((Button)sender).Tag;
 
-                 ControlViewModel.OpenLocalRecipe(variation);
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 System.Diagnostics.Debug.WriteLine(ex.Message);
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// update recipe variations
 
-         /// </summary>
 
-         /// <param name="sender"></param>
 
-         /// <param name="e"></param>
 
-         private void NewButtonPanelLoaded(object sender, RoutedEventArgs e)
 
-         {
 
-             try
 
-             {
 
-                 string variation = (string)((Button)sender).Tag;
 
-                 newButton.IsOpen = false;
 
-                 XmlDocument doc = new XmlDocument();
 
-                 var dir = new System.IO.FileInfo(Process.GetCurrentProcess().MainModule.FileName).Directory;
 
-                 string xmlPath = dir + "\\Config\\" + variation + ".xml";
 
-                 doc.Load(xmlPath);
 
-                 ControlViewModel.LoadRecipe(doc.SelectSingleNode("/Aitex/TableRecipeFormat").OuterXml, doc.SelectSingleNode("/Aitex/TableRecipeData").OuterXml);
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 System.Diagnostics.Debug.WriteLine(ex.Message);
 
-             }
 
-         }
 
-         public void UpdateCultureResource(string culture)
 
-         {
 
-             return;
 
-             ////string culture = language == 2 ? "zh-CN" : "en-US";
 
-             ////Copy all MergedDictionarys into a auxiliar list.
 
-             //var dictionaryList = Application.Current.Resources.MergedDictionaries.ToList();
 
-             ////Search for the specified culture.     
 
-             //string requestedCulture = string.Format(@"/RecipeEditorControl;component/Resources/StringResources.{0}.xaml", culture);
 
-             //var resourceDictionary = dictionaryList.FirstOrDefault(d => d.Source.OriginalString == requestedCulture);
 
-             //if (resourceDictionary == null)
 
-             //{
 
-             //    //If not found, select our default language.             
 
-             //    requestedCulture = "StringResources.xaml";
 
-             //    resourceDictionary = dictionaryList.
 
-             //        FirstOrDefault(d => d.Source.OriginalString == requestedCulture);
 
-             //}
 
-             ////If we have the requested resource, remove it from the list and place at the end.     
 
-             ////Then this language will be our string table to use.      
 
-             //if (resourceDictionary != null)
 
-             //{
 
-             //    Application.Current.Resources.MergedDictionaries.Remove(resourceDictionary);
 
-             //    Application.Current.Resources.MergedDictionaries.Add(resourceDictionary);
 
-             //}
 
-             ////Inform the threads of the new culture.     
 
-             //Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
 
-             //Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
 
-         }
 
-         private void UIElement_OnPreviewTextInput(object sender, TextCompositionEventArgs e)
 
-         {
 
-             e.Handled = !IsTextAllowed(e.Text);
 
-         }
 
-         private static bool IsTextAllowed(string text)
 
-         {
 
-             return true;
 
-             //Regex regex = new Regex("[^0-9.-]+"); //regex that matches disallowed text
 
-             //return !regex.IsMatch(text);
 
-         }
 
-     }
 
- }
 
 
  |