public void RunSingleOut(bool bUseCalibrate, IBeamScan beamScan, ushort focusADD) { if (_beamScan != null) { _beamScan.X = beamScan.X; _beamScan.Y = beamScan.Y; _beamScan.BeamCurrent = beamScan.BeamCurrent; if (bUseCalibrate) { _beamScan.Astig1 = (ushort)StaticTool.CaculateLinerVal(beamScan.X, beamScan.Y, true); _beamScan.Astig2 = (ushort)StaticTool.CaculateLinerVal(beamScan.X, beamScan.Y, false); _beamScan.Focus = (ushort)(StaticTool.CaculateFocus((uint)StaticTool.GetRadius(beamScan.X, beamScan.Y)) + focusADD); } else { _beamScan.Astig1 = beamScan.Astig1; _beamScan.Astig2 = beamScan.Astig2; _beamScan.Focus = beamScan.Focus; } BeamStart(SignalCardModeEnum.SingleOut); OnPowerOn?.Invoke(null, null); OnOperation?.Invoke("直流下束..."); _isDirecStop = false; } }
public override void Handle(object sender, object args) { Button button = (Button)args; if (button.Tag is Operation) { OnOperation?.Invoke(this, button.Tag); } else { switch (button.Tag.GetType().Name.ToLower()) { case "string": switch ((string)button.Tag) { case "digit": OnDigit?.Invoke(this, button.Text); break; case "control": OnControl?.Invoke(this, button.AccessibleName); break; } break; } } }
public void RunPeaHeatOut(ref ScanParamters paramters, bool isX) { try { _iDummySweep.Speed = (float)Parameter.PreHeat.Speed; _beamSetup.DummySweep = _iDummySweep; if (beamScanFactory != null) { _beamScan.X = _beamScan.Y = _beamScan.Focus = _beamScan.Astig1 = _beamScan.Astig2 = 32767; beamScanFactory.SetBeamScan(_beamScan); _beamSetup.Rate = (int)Parameter.Frequency; beamScanFactory.SetBeamSetup(_beamSetup); beamScanFactory.SetBeamState(_beamState); } if (isX) { beamScanFactory.CreatePreHeatLinesX( (ushort)Parameter.PreHeat.Size , (int)Parameter.PreHeat.LineOrder , (float)Parameter.PreHeat.LineOffset , (float)Parameter.PreHeat.Speed , Parameter.Frequency , paramters.scanCount , paramters.scanVolt , paramters.focusOffset , true ); } else { beamScanFactory.CreatePreHeatLinesY( (ushort)Parameter.PreHeat.Size , (int)Parameter.PreHeat.LineOrder , (float)Parameter.PreHeat.LineOffset , (float)Parameter.PreHeat.Speed , Parameter.Frequency , paramters.scanCount , paramters.scanVolt , paramters.focusOffset , true ); } if (_beamScan != null) { if (!_isBeamOn) { BeamStart(SignalCardModeEnum.BufferedOut); _isBeamOn = true; } OnPowerOn?.Invoke(null, null); OnOperation?.Invoke(isX ? "X向预热..." : "Y向预热..."); } } catch (Exception) { throw; } }
/// <summary> /// Удаляет клиента. /// </summary> /// <param name="client">Клиент, который надо удалить.</param> /// <returns></returns> public bool RemoveClient(ClientBase client) { if (Clients.Remove(client)) { OnOperation?.Invoke(this, new DepartmentEventArgs(DateTime.Now, $"Выполняется удаление клиента {client.Name}.", Name)); return(true); } return(false); }
public static TextEditorInfo SmartTextArea(ref string text, OnOperation onOperationCallback, params GUILayoutOption[] options) { if (text == null) { text = ""; } return(DoTextFieldOrSomething(ref text, true, GUI.skin.textArea, options, onOperationCallback)); }
private static TextEditorInfo DoTextField(Rect position, int id, GUIContent content, bool multiline, int maxLength, GUIStyle style, OnOperation onTextInClipboard) { //GUIUtility.CheckOnGUI(); //Checks If is called from OnGUI method, otherwise it will throw an error.. if (maxLength >= 0 && content.text.Length > maxLength) { content.text = content.text.Substring(0, maxLength); } var textEditor = (SmartTextEditor)GUIUtility.GetStateObject(typeof(SmartTextEditor), id); textEditor.Clear(); var charsAdded = 0; var pasted = false; if (onTextInClipboard != null) { textEditor.OnCopy += t => onTextInClipboard(TextOperation.Copy, t, textEditor.selectIndex, textEditor.cursorIndex); textEditor.OnCut += t => onTextInClipboard(TextOperation.Cut, t, textEditor.selectIndex, textEditor.cursorIndex); textEditor.OnPaste += t => { pasted = true; charsAdded = t.Length; }; //textEditor.OnPaste += t => onTextInClipboard(TextOperation.Paste, t, textEditor.selectIndex, textEditor.cursorIndex); } textEditor.text = content.text; textEditor.SaveBackup(); textEditor.position = position; textEditor.style = style; textEditor.multiline = multiline; textEditor.controlID = id; textEditor.DetectFocusChange(); var currentlyAdded = HandleTextFieldEventForDesktop(position, id, content, multiline, maxLength, style, textEditor); //This "if" avoids overriding charsAdded pasted value (if any) if (!pasted) { charsAdded = currentlyAdded; } textEditor.UpdateScrollOffsetIfNeeded(Event.current); //_text.Clear(); //_text.Append(textEditor.text); ////Maintains the first char of the text white the start of the first word. //while (_text.Length > 0 && !_text[0].IsValidChar()) //{ // _text.Remove(0, 1); //} //textEditor.text = _text.ToString(); return(new TextEditorInfo(textEditor.text, textEditor.SelectedText, textEditor.selectIndex, _cursorIndex, charsAdded, charsAdded != 0, textEditor)); }
public override void Handle(object sender, object args) { if (args == null) { throw new ArgumentNullException(); } KeyPressEventArgs e = (KeyPressEventArgs)args; if (char.IsDigit(e.KeyChar) || e.KeyChar == ',') { OnDigit?.Invoke(this, e.KeyChar); } else { switch (e.KeyChar) { case (char)Keys.Back: OnControl?.Invoke(this, "backspace"); break; case (char)Keys.Escape: OnControl?.Invoke(this, "clear"); break; case '+': OnOperation?.Invoke(this, new Summation()); break; case '-': OnOperation?.Invoke(this, new Subtraction()); break; case '*': OnOperation?.Invoke(this, new Multiplication()); break; case '/': OnOperation?.Invoke(this, new Division()); break; case (char)Keys.Return: case '=': OnOperation?.Invoke(this, new Equals()); break; case '^': OnOperation?.Invoke(this, new Power()); break; } } }
private static TextEditorInfo DoTextFieldOrSomething(ref string text, bool multiline, GUIStyle style, GUILayoutOption[] options, OnOperation onTextInClipboard) { int controlID = GUIUtility.GetControlID(FocusType.Keyboard); //style = EditorStyles.helpBox; //style.fontSize = 12; _guiContent.text = text; style.richText = true; style.wordWrap = true; //gUIContent = ((GUIUtility.keyboardControl == controlID) ? _guiContent.text /*+ GUIUtility.compositionString*/ : te); var rect = GUILayoutUtility.GetRect(_guiContent, style, options); var textEditor = DoTextField(rect, controlID, _guiContent, multiline, -1, style, onTextInClipboard); text = textEditor.Text; return(textEditor); }
public void RunCADOut(uint count, DxfcadReader dxfcad) { try { _iDummySweep.Speed = (float)Parameter.cadFilescanPara.Speed; _beamSetup.DummySweep = _iDummySweep; if (beamScanFactory != null) { _beamScan.X = _beamScan.Y = _beamScan.Focus = _beamScan.Astig1 = _beamScan.Astig2 = 32767; beamScanFactory.SetBeamScan(_beamScan); _beamSetup.Rate = (int)Parameter.Frequency; beamScanFactory.SetBeamSetup(_beamSetup); beamScanFactory.SetBeamState(_beamState); } double speed = Parameter.cadFilescanPara.Speed; double focusOffs = Parameter.cadFilescanPara.FocusOffset; double beamVal = Parameter.cadFilescanPara.BeamValue; DxfcadPackage dxfcadPackage = new DxfcadPackage(dxfcad); for (int i = 0; i < count; i++) { beamScanFactory.AddPackage(dxfcadPackage); } if (_beamScan != null) { if (!_isBeamOn) { BeamStart(SignalCardModeEnum.BufferedOut); _isBeamOn = true; } OnPowerOn?.Invoke(null, null); OnOperation?.Invoke("cad 扫描"); } } catch (Exception) { throw; } }
public void StopBeamOut() { try { //if (rbCircle.Checked) { if (beamScanFactory != null) { _beamScan.X = 32767; _beamScan.Y = 32767; _beamScan.Focus = 32767; /* if (rbDirec.Checked) * { * _beamScan.Focus = 32767; * }*/ _beamScan.Astig1 = 32767; _beamScan.Astig2 = 32767; _beamScan.BeamCurrent = 32000; //32767; beamScanFactory.Shutdown(); beamScanFactory.Reset(); //停止时候清空包里的数据 _isBeamOn = false; _isDirecStop = true; OnPowerOff?.Invoke(null, null); OnOperation?.Invoke("停止"); //BtnStop.Enabled = false; //BtnPreHeat.Enabled = btnScan.Enabled = true; //Parameter.ActualPreHeatCount = 0; } } catch (Exception ex) { // MessageBox.Show(ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error); // LogHelper.Error(ex.ToString()); } }
public SheetNameWithSubdivide( string fileName, string sheetName, bool needSubdivide = false, int cutPrefix = 0, int cutPostfix = 0, string keyColumnName = "id", int?columnNamesRow = null, int?dataStartRow = null, string subdivideFilename = null, OnOperation onOperation = OnOperation.From | OnOperation.To ) { FileName = new Wildcard(fileName); SheetName = new Wildcard(sheetName); NeedSubdivide = needSubdivide; CutPrefix = cutPrefix; CutPostfix = cutPostfix; KeyColumnName = keyColumnName; ColumnNamesRow = columnNamesRow; DataStartRow = dataStartRow; SubdivideFilename = subdivideFilename; OnOperation = onOperation; }
public void DummySweep(float speed) { this._iDummySweep.Speed = speed; _beamSetup.DummySweep = _iDummySweep; if (beamScanFactory != null) { _beamScan.X = _beamScan.Y = _beamScan.Focus = _beamScan.Astig1 = _beamScan.Astig2 = 32767; beamScanFactory.SetBeamScan(_beamScan); _beamSetup.Rate = (int)Parameter.Frequency; beamScanFactory.SetBeamSetup(_beamSetup); beamScanFactory.SetBeamState(_beamState); } if (_beamScan != null) { ///*************暂时去掉 if (!_isBeamOn) { BeamStart(SignalCardModeEnum.BufferedOut); _isBeamOn = true; } OnPowerOn?.Invoke(null, null); OnOperation?.Invoke("空扫..."); } }
public bool Contains(string fileName, string sheetName, OnOperation onOperation) { return(Find(fileName, sheetName, onOperation) != null); }
public SheetNameWithSubdivide Find(string fileName, string sheetName, OnOperation onOperation) { return(Find(sheetNameWithSubdivide => sheetNameWithSubdivide.IsMatch(fileName, sheetName, onOperation))); }
public void Parse(string subdivideStr, string fileName, string sheetName, bool needSubdivide, int cutPrefix, int cutPostfix, string keyColumnName, int?columnNamesRow, int?dataStartRow, OnOperation oonOperation) { var subdivide = SheetNameWithSubdivide.FromMixed(subdivideStr); Assert.True(subdivide.FileName.IsMatch(fileName)); Assert.True(subdivide.SheetName.IsMatch(sheetName)); Assert.Equal(subdivide.NeedSubdivide, needSubdivide); Assert.Equal(subdivide.CutPrefix, cutPrefix); Assert.Equal(subdivide.CutPostfix, cutPostfix); Assert.Equal(subdivide.KeyColumnName, keyColumnName); Assert.Equal(subdivide.ColumnNamesRow, columnNamesRow); Assert.Equal(subdivide.DataStartRow, dataStartRow); Assert.Equal(subdivide.OnOperation, oonOperation); }
public bool IsMatch(string fileName, string sheetName, OnOperation onOperation) { return(FileName.IsMatch(fileName) && SheetName.IsMatch(sheetName) && OnOperation.HasFlag(onOperation)); }
/// <summary> /// Добавляет клиента. /// </summary> /// <param name="client"></param> public void AddClient(ClientBase client) { Clients.Add(client); OnOperation?.Invoke(this, new DepartmentEventArgs(DateTime.Now, $"Выполняется добавление клиента {client.Name}.", Name)); }
public SheetNameWithSubdivide subdivide(string fileName, string sheetName, OnOperation onOperation) { var subdivideRule = SubdivideRules.Find(fileName, sheetName, onOperation); return(subdivideRule ?? new SheetNameWithSubdivide(fileName, sheetName)); }
// onOperationはFrom | Toだと正しく動作しない public bool IsUseSheet(string fileName, string excelSheetName, string yamlTableName, OnOperation onOperation) { if (IgnoreSheetNames.Contains(fileName, yamlTableName, onOperation)) { return(false); } if (OnlySheetNames.Count != 0 && !OnlySheetNames.Contains(fileName, yamlTableName, onOperation)) { return(false); } if (onOperation.HasFlag(OnOperation.From)) { // TODO: primaryでない的なnoticeを出したほうが良い if (!PrimarySheetNames.IsUseSheet(fileName, yamlTableName)) { return(false); } // エイリアス設定先のシートはfrom時変換されない if (excelToYamlAlias.Contains(fileName, excelSheetName)) { return(false); } } return(true); }