Example #1
0
        private static void FileOpen_PacketLog(IEnumerable <FileControlParam> files)
        {
            if (files == null)
            {
                return;
            }

            GatePacketManager.LoadPacketFile(files);
        }
Example #2
0
        public static void SavePacketLog(bool overwrite, bool rule)
        {
            if (InvokeRequired)
            {
                Invoke((SavePacketLogDelegate)SavePacketLog, overwrite, rule);
                return;
            }

            var file = (FileControlParam)null;

            /* 保存先とフォーマットを取得 */
            if ((overwrite) &&
                (last_save_path_ != null) &&
                (last_save_format_ != null)
                )
            {
                /* Save */
                file = new FileControlParam()
                {
                    FilePath = last_save_path_,
                    Format   = last_save_format_,
                    Option   = last_save_option_,
                };
            }
            else
            {
                /* Save As */
                file = FileManager.PacketLogSave.SelectWriteControllerFromDialog(ConfigManager.GetCurrentDirectory());
            }

            if (file == null)
            {
                return;
            }

            if (rule)
            {
                GatePacketManager.SavePacketFile(file, FormTaskManager.GetPacketConverterClone());
            }
            else
            {
                GatePacketManager.SavePacketFile(file, null);
            }

            last_save_path_   = file.FilePath;
            last_save_format_ = file.Format;
            last_save_option_ = file.Option;

            /* カレントディレクトリ更新 */
            ConfigManager.SetCurrentDirectory(Path.GetDirectoryName(last_save_path_));
        }
Example #3
0
        private static void AutoTimeStampPoll()
        {
            if ((!sw_recv_period_.IsRunning) ||
                (sw_recv_period_.ElapsedMilliseconds < ConfigManager.System.AutoTimeStamp.Value_LastRecvPeriod.Value)
                )
            {
                return;
            }

            GatePacketManager.SetTimeStamp(ConfigManager.Language.MainMessage.TimeStampAuto.Value);

            /* タイムスタンプの挿入でタイマーが開始してしまうので、必ずタイムスタンプ挿入の後に実行 */
            sw_recv_period_.Stop();
        }
Example #4
0
        public void API_Print(object obj, PrintTargetType target = PrintTargetType.All, [CallerLineNumber] int line_no = -1)
        {
            if (target.HasFlag(PrintTargetType.PacketLog))
            {
                GatePacketManager.SetComment(obj.ToString());
            }

            if (target.HasFlag(PrintTargetType.EditorConsole))
            {
                runner.AddScriptMessage(obj.ToString());
            }

            if (target.HasFlag(PrintTargetType.EditorComment))
            {
                runner.SetScriptComment(line_no - 1, ScriptMessageType.Notice, obj.ToString());
            }
        }
Example #5
0
        public void FormKeyAction(MainWindowActionId id)
        {
            if (InvokeRequired)
            {
                Invoke((FormKeyActionHandler)FormKeyAction, id);
                return;
            }

            switch (id)
            {
            case MainWindowActionId.ApplicationExit:
                Program.ShutdownRequest();
                break;

            case MainWindowActionId.TimeStamp:
                GatePacketManager.SetTimeStamp(ConfigManager.Language.MainMessage.TimeStampManual.Value);
                break;

            case MainWindowActionId.PacketRedraw:
                FormTaskManager.RedrawPacketRequest();
                break;

            case MainWindowActionId.PacketClear:
                GatePacketManager.ClearPacket();
                break;

            case MainWindowActionId.PacketSaveConvertOff:
                FormUiManager.SavePacketLog(true, false);
                break;

            case MainWindowActionId.PacketSaveConvertOn:
                FormUiManager.SavePacketLog(true, true);
                break;

            case MainWindowActionId.PacketSaveAsConvertOff:
                FormUiManager.SavePacketLog(false, false);
                break;

            case MainWindowActionId.PacketSaveAsConvertOn:
                FormUiManager.SavePacketLog(false, true);
                break;

            case MainWindowActionId.FileOpen:
                FormUiManager.FileOpen();
                break;

            case MainWindowActionId.AutoTimeStampToggle:
                ConfigManager.System.AutoTimeStamp.Enable.Value = !ConfigManager.System.AutoTimeStamp.Enable.Value;
                FormUiManager.MainFrameMenuBarUpdate();
                break;

            case MainWindowActionId.AutoScrollToggle:
                ConfigManager.System.AutoScroll.Value = !ConfigManager.System.AutoScroll.Value;
                FormUiManager.MainFrameMenuBarUpdate();
                break;

            case MainWindowActionId.ProfileAdd:
                ConfigManager.CreateNewProfile("New Profile", null, true);
                break;

            case MainWindowActionId.ProfileRemove:
                ConfigManager.DeleteProfile(ConfigManager.GetCurrentProfileID());
                break;

            case MainWindowActionId.ProfileEdit:
                if (FormUiManager.ShowProfileEditDialog("Edit Profile", ConfigManager.User, ConfigManager.User.ProfileName.Value))
                {
                    ConfigManager.SaveCurrentProfile(true);
                    FormUiManager.MainFrameMenuBarUpdate();
                }
                break;

            case MainWindowActionId.ProfileExport:
                FormUiManager.SaveUserConfig();
                break;

            case MainWindowActionId.Gate1_Connect:
            case MainWindowActionId.Gate2_Connect:
            case MainWindowActionId.Gate3_Connect:
            case MainWindowActionId.Gate4_Connect:
            case MainWindowActionId.Gate5_Connect:
                var gate_list = GateManager.GetGateList();
                var gate_id   = (int)(id - MainWindowActionId.Gate1_Connect);

                if (gate_id < gate_list.Length)
                {
                    gate_list[gate_id].ConnectRequest = !gate_list[gate_id].ConnectRequest;
                }
                break;

            case MainWindowActionId.ShowScriptWindow:
                FormUiManager.ScriptWindowVisible(true);
                break;

            case MainWindowActionId.ShowOptionDialog:
                FormUiManager.ShowOptionDialog();
                break;

            case MainWindowActionId.ShowAppDocument:
                FormUiManager.ShowAppDocument();
                break;

            case MainWindowActionId.ShowAppDocument_PacketFilter:
                FormUiManager.ShowAppDocument();
                break;

            case MainWindowActionId.ShowAppInformation:
                FormUiManager.ShowAppInfo();
                break;
            }
        }
Example #6
0
        private static void RedrawPacketPoll()
        {
            if (!redraw_state_)
            {
                return;
            }

            switch (redraw_seq_)
            {
            case RedrawSequence.DrawingCancelStart:
            {
                /* イベント処理を一時停止 */
                GatePacketManager.Enable = false;

                redraw_seq_++;
            }
            break;

            case RedrawSequence.DrawingCancelBusy:
            {
                if (!IsDrawPreprocessBusy)
                {
                    /* 現在のパケットを全てクリア */
                    DrawPacketClear();

                    /* 描画処理開始 */
                    redraw_req_ = false;

                    redraw_seq_++;
                }
            }
            break;

            case RedrawSequence.Ready:
            {
                DebugManager.MessageOut(DebugMessageSender.Form, "RedrawSequence.Ready");

                /* 高速描画モード開始 */
                PacketViewManager.Instance.HiSpeedDrawStart(false);

                /* 現在のパケットを全て描画パケットにセットアップ */
                DrawPacketPush(GatePacketManager.GetPackets());

                redraw_seq_++;
            }
            break;

            case RedrawSequence.PreprocessingStart:
            {
                DebugManager.MessageOut(DebugMessageSender.Form, "RedrawSequence.PreprocessingStart");

                redraw_step_all_ = (ulong)(Math.Max(draw_packets_.Count, 1));
                redraw_step_end_ = 0;
                redraw_progress_ = 0;

                redraw_seq_++;

                /* プログレスバーを初期化 */
                FormUiManager.SetStatusText(StatusTextID.ReloadScreen, ConfigManager.Language.MainMessage.PacketNowPreprocessing.Value);
                FormUiManager.SetProgressBar(redraw_progress_, false);
            }
            break;

            case RedrawSequence.PreprocessingBusy:
            {
                redraw_step_end_ = Math.Min(redraw_step_all_ - (ulong)draw_packets_.Count, redraw_step_all_);
                redraw_step_end_ = Math.Max(redraw_step_end_, 1);
                redraw_progress_ = Math.Min((byte)(redraw_step_end_ * 100 / redraw_step_all_), (byte)100);

                if ((redraw_progress_ == 100) && (!IsDrawPreprocessBusy))
                {
                    redraw_seq_++;
                }

                /* プログレスバーに反映 */
                FormUiManager.SetProgressBar(redraw_progress_, false);
            }
            break;

            case RedrawSequence.DrawingStart:
            {
                DebugManager.MessageOut(DebugMessageSender.Form, "RedrawSequence.DrawingStart");

                redraw_step_all_ = (ulong)Math.Max(PacketViewManager.Instance.DrawPacketCount, 1);
                redraw_step_end_ = 0;
                redraw_progress_ = 0;

                redraw_seq_++;

                /* プログレスバーを初期化 */
                FormUiManager.SetStatusText(StatusTextID.ReloadScreen, ConfigManager.Language.MainMessage.PacketNowDrawing.Value);
                FormUiManager.SetProgressBar(0, false);
            }
            break;

            case RedrawSequence.DrawingBusy:
            {
                redraw_step_end_ = Math.Min(redraw_step_all_, redraw_step_all_ - (ulong)PacketViewManager.Instance.DrawPacketCount);
                redraw_step_end_ = Math.Max(redraw_step_end_, 1);
                redraw_progress_ = Math.Min((byte)(redraw_step_end_ * 100 / redraw_step_all_), (byte)100);

                if (redraw_progress_ == 100)
                {
                    redraw_seq_++;
                }

                /* プログレスバーに反映 */
                FormUiManager.SetProgressBar(redraw_progress_, false);
            }
            break;

            case RedrawSequence.Complete:
            {
                /* イベント処理再開 */
                GatePacketManager.Enable = true;

                /* 高速描画モード終了 */
                PacketViewManager.Instance.HiSpeedDrawStop();

                /* プログレスバーを最終値に設定 */
                FormUiManager.SetStatusText(StatusTextID.ReloadScreen, "");
                FormUiManager.SetProgressBar(100, true);

                redraw_state_ = false;

                DebugManager.MessageOut(DebugMessageSender.Form, "RedrawSequence.Complete");
            }
            break;

            default:
            {
                redraw_seq_++;
            }
            break;
            }
        }
 private void NotifyEvent(DateTime dt, string text)
 {
     GatePacketManager.SetWatchEvent(dt, text);
 }
Example #8
0
 public static void API_CommentOutToPacketView(string comment)
 {
     GatePacketManager.SetComment(comment);
 }