private static void LoadPacketFilesTask(IEnumerable <FileControlParam> files) { var packets_new = CreatePacketContainer(); foreach (var(file, index) in files.Select((value, index) => (value, index))) { /* ステータステキストを更新 */ FormUiManager.SetStatusText( StatusTextID.SaveLoadEventFile, String.Format( "{0} {1} / {2} ({3})", ConfigManager.Language.MainMessage.EventFileLoading.Value, index + 1, files.Count(), packets_new.Count)); /* PacketLogReaderが生成できなければ読み込まない */ var reader = file.Format.CreateReader() as PacketLogReader; if (reader == null) { continue; } /* ファイルを開くことができない場合は何もしない */ if (!reader.Open(file.Option, file.FilePath)) { continue; } DebugManager.MessageOut(string.Format("LoadPacketFile - Start [{0}]", Path.GetFileName(file.FilePath))); /* プログレスバーを初期化 */ FormUiManager.SetProgressBar(0, false); /* ファイルを1つずつ処理 */ var task = (new LoadPacketFileExecTaskDelegate(LoadPacketFileExecTask)).BeginInvoke( packets_new, reader, null, null); /* 完了待ち */ while (!task.IsCompleted) { System.Threading.Thread.Sleep(100); FormUiManager.SetProgressBar((byte)(reader.ProgressNow / (Math.Max(reader.ProgressMax / 100, 1))), false); } } /* コンテナ差し替え */ packets_?.Dispose(); packets_ = packets_new; /* ステータスバーを終了 */ FormUiManager.SetStatusText(StatusTextID.SaveLoadEventFile, ConfigManager.Language.MainMessage.EventFileLoadComplete.Value); FormUiManager.SetProgressBar(100, true); /* 再描画 */ FormTaskManager.RedrawPacketRequest(); }
private void BackupPacketConverterConfig() { /* 全設定を削除 */ ConfigManager.User.PacketConverter.Value.Clear(); /* パケットコンバーターのみをスキャン */ foreach (var pcvti in FormTaskManager.GetPacketConverterInstances()) { pcvti.BackupProperty(); ConfigManager.User.PacketConverter.Value.Add( new PacketConverterObjectConfig(pcvti.Class.ID, pcvti.Property)); } }
private void DockPanel_Main_DockContentClosed(object sender, Control control, FormClosedEventArgs e) { var viewc = control as PacketViewControl; if (viewc == null) { return; } FormTaskManager.RemovePacketView(viewc); viewc.Dispose(); }
private void BackupPacketViewConfig() { /* 全設定を削除 */ ConfigManager.User.PacketView.Value.Clear(); /* パケットビューのみをスキャン */ foreach (var viewc in FormTaskManager.GetPacketViewControls()) { viewc.BackupProperty(); ConfigManager.User.PacketView.Value.Add( new PacketViewObjectConfig( viewc.Instance.Class.ID, viewc.Instance.ID, viewc.Instance.Property)); } }
public void RemovePacketConverter(MainWindow_PacketConverter control) { if (control == null) { return; } /* 変換器を削除 */ FormTaskManager.RemovePacketConverter(control.Instance); /* コントロールを削除 */ Panel_ConverterList.Controls.Remove(control); AdjustControlSize(); UpdateView(); }
public void AddPacketConverter(Guid class_id, PacketConverterProperty pcvtp) { var pcvti = FormTaskManager.CreatePacketConverter(class_id, pcvtp); if (pcvti == null) { return; } var control = new MainWindow_PacketConverter(this, pcvti); Panel_ConverterList.Controls.Add(control); AdjustControlSize(); UpdateView(); }
private static void AddPacket(IEnumerable <PacketObject> packets) { if ((packets == null) || (packets_ == null) ) { return; } /* パケット一覧に追加 */ packets_.AddRange(packets); /* 描画実行 */ FormTaskManager.DrawPacketPush(packets); /* イベント通知 */ RawPacketEntried(packets); }
public static void ClearPacket() { AutoTimeStampManager.ClearPacket(); /* コンテナ初期化 */ lock (packets_sync_) { packets_?.Dispose(); packets_ = CreatePacketContainer(); } BasePacketManager.Clear(); /* イベント通知 */ RawPacketCleared(); /* UIパケットをクリア */ FormTaskManager.DrawPacketClear(); }
public void MoveConverterIndex(MainWindow_PacketConverter control, Point pos_screen) { var index_old = Panel_ConverterList.Controls.GetChildIndex(control); var index_new = GetConverterIndex(Panel_ConverterList.PointToClient(pos_screen)); if (index_new != index_old) { DebugManager.MessageOut(string.Format("MoveConverterIndex {0} => {1}", index_new, index_old)); /* コントロールを入れ替え */ Panel_ConverterList.Controls.SetChildIndex(control, (int)index_new); /* 変換器のインスタンスの順番も変更 */ FormTaskManager.SetPacketConverterIndex(control.Instance, (int)index_new); ResumeLayout(); } }
private void LoadPacketConverterMenu(ToolStripMenuItem menu) { /* 全メニューを削除 */ menu.DropDownItems.Clear(); /* パケット変換器一覧からメニューを作成 */ foreach (var viewd in FormTaskManager.GetPacketConverterClasses()) { var menu_sub = new ToolStripMenuItem() { Text = viewd.Name, ToolTipText = viewd.Details, Tag = viewd, }; menu_sub.Click += OnMenuClick_PacketConverterAdd; menu.DropDownItems.Add(menu_sub); } }
private PacketViewProperty LoadConfigPart_Property(XmlElement xml_node, Guid class_id) { if (xml_node == null) { return(null); } /* クラスIDからプロパティを取得 */ var viewp = FormTaskManager.CreatePacketPacketViewProperty(class_id); if (viewp == null) { return(null); } /* プロパティ読み込み */ viewp.LoadConfigData(xml_node); return(viewp); }
public void AddPacketView(Guid class_id, Guid obj_id, PacketViewProperty viewp, bool init) { var viewc = FormTaskManager.CreatePacketView(class_id, obj_id, viewp); if (viewc == null) { return; } /* Graphオブジェクトのレイアウトが何故か復元できないので、とりあえずパケットビューだけ復元対象から外す */ DockPanel_Main.AddDockContent( viewc.Instance.ID.ToString(), // viewc.Instance.ID.ToString() + (new Random()).Next(0, 99999).ToString(), viewc.Instance.Class.Name, (uint)DockContentsGroup.PacketView, Icon.FromHandle(Ratatoskr.Resource.Images.packet_view_16x16.GetHicon()), DockAreas.Document, DockState.Document, true, viewc); }
private void Label_ViewDrawMode_DoubleClick(object sender, EventArgs e) { FormTaskManager.HiSpeedDrawToggle(); }
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; } }
void ChangeSchedule() { FormTaskManager taskManager = new FormTaskManager(); taskManager.ShowDialog(); }