Advertisement
Guest User

Untitled

a guest
May 24th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.21 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 textBox;
  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. // nacteni / inicializace ulohy
  63. protected override void TaskOnInit()
  64. {
  65. string defaultPath = "c:\\Temp\\Zamboch - Visio in Extremis.txt";
  66.  
  67. Brush backgroundColor = taskGUIItems[EnumNumber.First].canvas.Background;
  68.  
  69.  
  70. textBox = new TextBox();
  71. textBox.IsReadOnly = true;
  72. textBox.Height = taskGUIItems[EnumNumber.First].canvas.ActualHeight;
  73. textBox.Width = taskGUIItems[EnumNumber.First].canvas.ActualWidth;
  74. textBox.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
  75.  
  76. loadText(defaultPath);
  77.  
  78. taskGUIItems[EnumNumber.First].canvas.Children.Add(textBox);
  79. }
  80.  
  81. private void loadText(string path) {
  82. string text = "";
  83. if (File.Exists(path))
  84. {
  85. text = File.ReadAllText(path, Encoding.GetEncoding("windows-1250"));
  86. }
  87.  
  88. textBox.Clear();
  89. textBox.AppendText(text);
  90. }
  91.  
  92. // uzavreni ulohy (EnumTaskState.Exit)
  93. protected override void TaskOnClose() { }
  94.  
  95. // --- zmena velikosti / nastaveni / urovne ---
  96.  
  97. // zmena velikosti plochy dialogu
  98. protected override void TaskOnSizeChange() {
  99. textBox.Height = taskGUIItems[EnumNumber.First].canvas.ActualHeight;
  100. textBox.Width = taskGUIItems[EnumNumber.First].canvas.ActualWidth;
  101. }
  102. // zena nastaveni ulohy (otevreni a zavreni gonfigurace ulohy)
  103. protected override void TaskOnSettingChange() { }
  104. // zmena / nastaveni urovne ulohy
  105. protected override void TaskOnLevelChange(TaskConstants.EnumLevelChange action) { }
  106.  
  107. // --- ovladaci tlacitka ---
  108.  
  109. // zpracovani vlastn9ch tlacitek
  110. protected override void TaskOnUserButton(string buttonIdent) {
  111. if(buttonIdent.Equals("LoadText")) {
  112. loadFile();
  113. }
  114. }
  115.  
  116. private void loadFile() {
  117. OpenFileDialog openFileDialog = new OpenFileDialog();
  118.  
  119. openFileDialog.InitialDirectory = "c:\\";
  120. openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
  121. openFileDialog.FilterIndex = 2;
  122. openFileDialog.RestoreDirectory = true;
  123. bool result = (bool) openFileDialog.ShowDialog();
  124. if (result) {
  125. loadText(openFileDialog.FileName);
  126. }
  127.  
  128. }
  129. // --- udalosti od 'Mouse' ---
  130.  
  131. //protected override void TaskOnCanvasMousePosition(FrameworkConstants.EnumMouseAction mouseAction, Point position, EnumNumber number) { }
  132. //protected override void TaskOnCanvasMouseWheel(FrameworkConstants.EnumMouseAction mouseAction, int delta, EnumNumber number) { }
  133. //protected override void TaskOnGridMousePosition(FrameworkConstants.EnumMouseAction mouseAction, int col, int row, EnumNumber number) { }
  134.  
  135. // --- dalsi udalosti od uzivatele ---
  136.  
  137. // upusteni soubotu na 'Task'
  138. protected override void TaskOnDropFile(System.IO.FileInfo[] droppedFiles) { }
  139.  
  140. // --- dalsi udalosti of 'Task' ---
  141.  
  142. // tik interniho casovace v 'Tasl'
  143. protected override void TaskOnTimer() {
  144.  
  145. }
  146.  
  147. // --- rizeni stavoveho automatu ---
  148. //protected override void TaskAction(TaskConstants.EnumTaskAction action) { /* pri pretizeni je nutna vlastni implementace */ }
  149.  
  150. // generovani noveho zadani -> EnumTaskState.Ready
  151. protected override TaskConstants.EnumTaskOnReturn TaskOnNew(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  152. // spusteni ulohy -> EnumTaskState.Run
  153. protected override TaskConstants.EnumTaskOnReturn TaskOnStart(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  154. // zda je dalsi krok ulohy (EnumTaskState.Run)
  155. protected override TaskConstants.EnumTaskOnReturn TaskOnNext(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.None; }
  156. // zastaveni ulohy -> EnumTaskState.Stop
  157. protected override TaskConstants.EnumTaskOnReturn TaskOnStop(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  158. // zda je konec ulohy -> EnumTaskState.Finish
  159. protected override TaskConstants.EnumTaskOnReturn TaskOnFinish(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  160. // zpracivani / ulozeni ziskanych dat z ulohy
  161. protected override TaskConstants.EnumTaskOnReturn TaskOnData(TaskConstants.EnumTaskAction action) { return TaskConstants.EnumTaskOnReturn.OK; }
  162.  
  163. }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement