Advertisement
Alisator

Problem

May 24th, 2015
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.17 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Text;
  4. using System.Windows;
  5. using System.Windows.Controls;
  6. using System.Windows.Documents;
  7. // FrameworkClasses
  8. using FrameworkClasses.Common;
  9. using FrameworkClasses.ModuleBase;
  10. using FrameworkClasses.TaskBase;
  11. using System.Windows.Input;
  12. using Microsoft.Win32;
  13. using System.Windows.Media;
  14.  
  15. namespace Module.Tasks.TaskReadingWindow
  16. {
  17.     public class TaskReadingWindowMain : TaskClassBase<TaskSetupBase, TaskParamsBase>
  18.     {
  19.         public const string TaskInternalName = "Reading";          // nazev tasku
  20.         public static TaskEntry[] TaskEntries = new TaskEntry[]
  21.         {
  22.             new TaskEntry() { pictureName = "TaskPoints/PointsPic" }
  23.         };
  24.  
  25.         private TextBox ReadingTextBox;
  26.  
  27.         private string buttonLoadText = EnumTaskType.LoadText.ToString();
  28.         private string buttonOpacityPlus = EnumTaskType.OpacityPlus.ToString();
  29.         private string buttonOpacityMinus = EnumTaskType.OpacityMinus.ToString();
  30.  
  31.         public enum EnumTaskType : byte
  32.         {
  33.             None = 0,
  34.             LoadText = 1,
  35.             OpacityPlus = 2,
  36.             OpacityMinus = 3
  37.         }
  38.         private EnumTaskType taskType = EnumTaskType.None;
  39.  
  40.         // --- vytvoreni / inicializace / uzavreni ---
  41.  
  42.         // vytvoreni ulohy
  43.         protected override void TaskOnCreate()
  44.         {
  45.             // udaje o uloze
  46.             TaskDescItemAdd(EnumTaskDescItem.Name, TaskInternalName); // nazev ulohy
  47.             TaskDescItemAdd(EnumTaskDescItem.Created, DateTime.ParseExact("2011y10m03d", "yyyy'y'MM'm'dd'd'", null)); // datum vytvoreni
  48.             TaskDescItemAdd(EnumTaskDescItem.Version, new Version(1, 00, 00, 00)); // verze ulohy
  49.  
  50.             // polozky pro 'Info'
  51.             InfoItemsDefault = TaskConstants.EnumInfoItemDefault.State | TaskConstants.EnumInfoItemDefault.Time;
  52.             // povoleni zobrazeni a aktivita tlacitek
  53.             ControlButtonsSet(EnumNumber.First, FrameworkConstants.ControlButtons.Start, FrameworkConstants.ControlButtons.Separator, FrameworkConstants.ControlButtons.Back, FrameworkConstants.ControlButtons.Separator, FrameworkConstants.ControlButtons.FullScreen);
  54.             ControlButtonsSet(EnumNumber.Second, buttonLoadText, FrameworkConstants.ControlButtons.Separator, buttonOpacityPlus, buttonOpacityMinus);
  55.  
  56.  
  57.             // nastaveni polozek pro zobrazeni
  58.             taskGUIItems[EnumNumber.First] = new TaskGUIItem() { number = EnumNumber.First, guiItem = EnumGUIItem.Canvas };
  59.  
  60.         }
  61.  
  62.         Canvas canv;
  63.         // nacteni / inicializace ulohy
  64.         protected override void TaskOnInit()
  65.         {
  66.             canv = taskGUIItems[EnumNumber.First].canvas;
  67.             string defaultPath = "c:\\Temp\\Zamboch - Visio in Extremis.txt";
  68.  
  69.             Brush backgroundColor = canv.Background;
  70.  
  71.  
  72.             ReadingTextBox = new TextBox();
  73.             ReadingTextBox.IsReadOnly = true;
  74.             ReadingTextBox.Height = taskGUIItems[EnumNumber.First].canvas.ActualHeight;
  75.             ReadingTextBox.Width = taskGUIItems[EnumNumber.First].canvas.ActualWidth;
  76.             ReadingTextBox.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
  77.  
  78.             loadText(defaultPath);
  79.  
  80.             canv.Children.Add(ReadingTextBox);
  81.             var window = new CommonTestsAndGamesWIN00.MainWindow();
  82.             window.KeyDown += new KeyEventHandler(OnKeyDown);
  83.             ReadingTextBox.KeyDown += new KeyEventHandler(OnKeyDown);
  84.  
  85.         }
  86.  
  87.         private void loadText(string path)
  88.         {
  89.             string text = "";
  90.             if (File.Exists(path))
  91.             {
  92.                 text = File.ReadAllText(path, Encoding.GetEncoding("windows-1250"));
  93.             }
  94.  
  95.             ReadingTextBox.Clear();
  96.             ReadingTextBox.AppendText(text);
  97.         }
  98.  
  99.         // uzavreni ulohy (EnumTaskState.Exit)
  100.         protected override void TaskOnClose() { }
  101.  
  102.         // --- zmena velikosti / nastaveni / urovne ---
  103.  
  104.         // zmena velikosti plochy dialogu
  105.         protected override void TaskOnSizeChange()
  106.         {
  107.             ReadingTextBox.Height = canv.ActualHeight;
  108.             ReadingTextBox.Width = canv.ActualWidth;
  109.         }
  110.         // zena nastaveni ulohy (otevreni a zavreni gonfigurace ulohy)
  111.         protected override void TaskOnSettingChange() { }
  112.         // zmena / nastaveni urovne ulohy
  113.         protected override void TaskOnLevelChange(TaskConstants.EnumLevelChange action) { }
  114.  
  115.         // --- ovladaci tlacitka ---
  116.  
  117.         // zpracovani vlastn9ch tlacitek
  118.         protected override void TaskOnUserButton(string buttonIdent)
  119.         {
  120.             if (buttonIdent.Equals("LoadText"))
  121.             {
  122.                 loadFile();
  123.             }
  124.         }
  125.  
  126.         private void loadFile()
  127.         {
  128.             OpenFileDialog openFileDialog = new OpenFileDialog();
  129.  
  130.             openFileDialog.InitialDirectory = "c:\\";
  131.             openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
  132.             openFileDialog.FilterIndex = 2;
  133.             openFileDialog.RestoreDirectory = true;
  134.             bool result = (bool)openFileDialog.ShowDialog();
  135.             if (result)
  136.             {
  137.                 loadText(openFileDialog.FileName);
  138.             }
  139.  
  140.         }
  141.         // --- udalosti od 'Mouse' ---
  142.  
  143.         //protected override void TaskOnCanvasMousePosition(FrameworkConstants.EnumMouseAction mouseAction, Point position, EnumNumber number) { }
  144.         //protected override void TaskOnCanvasMouseWheel(FrameworkConstants.EnumMouseAction mouseAction, int delta, EnumNumber number) { }
  145.         //protected override void TaskOnGridMousePosition(FrameworkConstants.EnumMouseAction mouseAction, int col, int row, EnumNumber number) { }
  146.  
  147.         // --- dalsi udalosti od uzivatele ---
  148.     //private void TextBox_KeyDown(object sender, KeyEventArgs e)
  149.     //{
  150.     //    if (e.Key == Key.Left)
  151.     //    {
  152.     //        MessageBox.Show("Left Key pressed");
  153.     //    }
  154.     //    else if (e.Key == Key.Right)
  155.     //    {
  156.     //        MessageBox.Show("Right Key pressed");
  157.     //    }
  158.     //    else
  159.     //        MessageBox.Show(e.Key.ToString());
  160.     //}
  161.  
  162.     protected void OnKeyDown(object sender, KeyEventArgs e)
  163.     {
  164.         if (e.Key == Key.Left)
  165.         {
  166.             MessageBox.Show("Left Key pressed");
  167.         }
  168.         else if (e.Key == Key.Right)
  169.         {
  170.             MessageBox.Show("Right Key pressed");
  171.         }
  172.         else
  173.         {
  174.            MessageBox.Show(e.Key.ToString());
  175.        }
  176.     }
  177.  
  178.         // upusteni soubotu na 'Task'
  179.     protected override void TaskOnDropFile(System.IO.FileInfo[] droppedFiles) { }
  180.  
  181.  
  182.         // --- dalsi udalosti of 'Task' ---
  183.  
  184.         // tik interniho casovace v 'Tasl'
  185.         protected override void TaskOnTimer()
  186.         {
  187.         }
  188.  
  189.         // --- rizeni stavoveho automatu ---
  190.         //protected override void TaskAction(TaskConstants.EnumTaskAction action) { /* pri pretizeni je nutna vlastni implementace */  }
  191.  
  192.         // generovani noveho zadani -> EnumTaskState.Ready
  193.         protected override TaskConstants.EnumTaskOnReturn TaskOnNew(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  194.         // spusteni ulohy -> EnumTaskState.Run
  195.         protected override TaskConstants.EnumTaskOnReturn TaskOnStart(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  196.         // zda je dalsi krok ulohy (EnumTaskState.Run)
  197.         protected override TaskConstants.EnumTaskOnReturn TaskOnNext(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.None; }
  198.         // zastaveni ulohy -> EnumTaskState.Stop
  199.         protected override TaskConstants.EnumTaskOnReturn TaskOnStop(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  200.         // zda je konec ulohy -> EnumTaskState.Finish
  201.         protected override TaskConstants.EnumTaskOnReturn TaskOnFinish(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  202.         // zpracivani / ulozeni ziskanych dat z ulohy
  203.         protected override TaskConstants.EnumTaskOnReturn TaskOnData(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  204.  
  205.     }
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement