public static void SetupMainframeDriverComponents(MainFrameDriver mDriver, MainFrameDriverWindow MFDW, Canvas ConsoleCanvas) { ConsoleCanvas.Children.Clear(); string dots = String.Empty; for (int i = 0; i < mDriver.MFColumns; i++) { dots += "."; } List <object> LO = new List <object>(); LO.Add(mDriver); LO.Add(MFDW); MFDW.HeightPerRow = ConsoleCanvas.ActualHeight / mDriver.MFRows; Label l = new Label(); l.FontSize = 20; l.Tag = LO; l.Foreground = Brushes.White; l.FontFamily = new FontFamily("Courier New"); ConsoleCanvas.Children.Add(l); l.Content = dots; l.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); l.Loaded += label_loaded; }
public MainFrameDriverWindow(MainFrameDriver MFD) { mDriver = MFD; InitializeComponent(); GingerCore.General.FillComboFromEnumObj(KeytoSend, TNkEy); MainFrameUIHelper.SetupMainframeDriverComponents(mDriver, this, ConsoleCanvas); }
public Terminal(string Host, int Port, string TermType, bool RequireSSl, int RowsCount, int ColumnsCount, MainFrameDriver mdriver) { this.emu = new TNEmulator(); this.emu.Disconnected += emu_Disconnected; this.emu.Config.HostName = Host; this.emu.Config.HostPort = Port; this.emu.Config.TermType = TermType; this.emu.Config.UseSSL = RequireSSl; emu.Config.RowsCount = RowsCount; emu.Config.ColumnsCount = ColumnsCount; MFDriver = mdriver; }
private static void label_loaded(object sender, RoutedEventArgs e) { Label l = (Label)sender; List <object> lo = (List <object>)l.Tag; MainFrameDriver mdv = (MainFrameDriver)lo.ElementAt(0); MainFrameDriverWindow mdw = (MainFrameDriverWindow)lo.ElementAt(1); double d = l.ActualWidth / mdv.MFColumns; mdw.WidthPerCharachter = d; mdw.MinWidth = (mdv.MFColumns + 5) * d; mdw.MinHeight = (mdv.MFRows) * (l.ActualHeight); Console.WriteLine(d.ToString()); mdw.Refresh(); }
public static void RefreshCamvasComponents(MainFrameDriver MF, MainFrameDriverWindow MFDW, Canvas ConsoleCanvas, XMLScreen ScreenElements, XMLScreenField MXF = null) { DefaultBursh = Brushes.Cyan; ConsoleCanvas.Children.Clear(); if (MFDW.HeightPerRow == 00 || MFDW.WidthPerCharachter == 00 || Double.IsInfinity(MFDW.WidthPerCharachter) || Double.IsInfinity(MFDW.HeightPerRow) || Double.IsNaN(MFDW.WidthPerCharachter) || Double.IsNaN(MFDW.HeightPerRow)) { SetupMainframeDriverComponents(MF, MFDW, ConsoleCanvas); } if (MXF != null) { Control C = GetControlFromScreenField(MXF); Brush Brsh = CalculateBrush(MXF); ConfigureControl(C, MXF, ConsoleCanvas, MFDW); C.Foreground = Brsh; SetControlLocation(C, MFDW); return; } if (ScreenElements.Fields == null || ScreenElements == null) { return; } foreach (XMLScreenField XF in ScreenElements.Fields) { Control C = GetControlFromScreenField(XF); if (C == null) { continue; } Brush Brsh = CalculateBrush(XF); ConfigureControl(C, XF, ConsoleCanvas, MFDW); C.Foreground = Brsh; SetControlLocation(C, MFDW); } }
private static void SetTextoMainframe(object sender) { MainFrameDriver mdriver = null; XMLScreenField XF = null; string Command = null; MainFrameDriverWindow MDW = null; bool IsFeildPassword = false; if (sender.GetType() == typeof(TextBox)) { TextBox TB = (TextBox)sender; XF = (XMLScreenField)TB.Tag; MDW = (MainFrameDriverWindow)Window.GetWindow(TB); if (MDW == null) { return; } mdriver = MDW.mDriver; Command = TB.Text; } else if (sender.GetType() == typeof(PasswordBox)) { IsFeildPassword = true; PasswordBox PWB = (PasswordBox)sender; XF = (XMLScreenField)PWB.Tag; MDW = (MainFrameDriverWindow)Window.GetWindow(PWB); mdriver = MDW.mDriver; Command = PWB.Password; } else { return; } if (XF == null || String.IsNullOrEmpty(Command) || mdriver == null) { } else { mdriver.SetTextAtPosition(Command, XF.Location.left, XF.Location.top, false); if (MDW.RecordBtn.IsChecked == true) { try { ActMainframeSetText AMFST = new ActMainframeSetText(); AMFST.LocateBy = eLocateBy.ByCaretPosition; AMFST.LocateValue = XF.Location.position.ToString(); AMFST.Value = Command; if (mdriver.mBusinessFlow == null) { return; } if (IsFeildPassword) { AMFST.Description = "Set Password "; } else { AMFST.Description = "Set Text: " + Command; } mdriver.mBusinessFlow.CurrentActivity.Acts.Add((Actions.Act)AMFST); } finally { } } } }