/****************************************************************************** * * プラグイン用イベントハンドラー * ******************************************************************************/ /// <summary> /// プラグイン生成イベント /// </summary> /// <param name="param"></param> /// <param name="sender"></param> public void PluginEvent_FileSelecting(EventParam param, object sender) { //画像をロックしている場合は処理しない if (_ImageViewer.IsLockImage) { return; } //選択中のパスを取得します var path = ((FileSelectingEventParam)param).Path; //画像を読み込みます var result = _ImageViewer.LoadImage(path); if (result == false) { return; } //ファイル名をタイトルとして保持します(タブのタイトルになります) if (result) { this.Title = Path.GetFileName(path); } //タイトル変更イベントを発生させます var p = new TitleChangedEventParam { Plugin = this }; _pluginManager.GetEventManager().RaiseEvent(TitleChangedEventParam.Name, this, p); }
/// <summary> /// ステータスバーにタイトルを設定します /// </summary> private void SetTitle() { if (this.TargetFile == null) { return; } var title = new StringBuilder(); //読み取り専用の場合は、(読み取り専用) をつける if (this.TargetFile.Path != null) { title.Append(this.TargetFile.IsReadOnly ? "(読み取り専用)" : ""); } //パスが未設定の場合は「無題」にする title.Append(this.TargetFile.Path ?? "無題"); //テキスト形式で開いている場合は、文字コードを追加します if (this.TargetFile is TextFile) { title.Append(" ["); title.Append(((TextFile)this.TargetFile).TextEncoding.EncodingName); //BOMの有無を追加します title.Append( (((TextFile)this.TargetFile).TextEncoding.GetPreamble().Length > 0) ? ":BOMあり" : "" ); //改行コードを追加します if (((TextFile)this.TargetFile).NewLineCode.Length == 2) { title.Append(":CRLF"); } else { title.Append(((TextFile)this.TargetFile).NewLineCode.Equals("\r") ? ":CR" : ":LF"); } title.Append("]"); } //テキスト形式で開いている場合は、バイナリ形式 if (this.TargetFile is BinaryFile) { title.Append(" [バイナリ形式]"); } //テキストが変更されている場合は、(*) をつける title.Append(txtMain.Modified ? "(*)" : ""); //目がチカチカするので色を付けるのは廃止 /* * if (txtMain.Modified) { * statusPath.BackColor = Color.FromKnownColor(KnownColor.Pink); * } else { * statusPath.BackColor = Color.FromKnownColor(KnownColor.Control); * }*/ //キー操作の記録中 if (_keyMacro.IsRecording) { title.Append(" 【 REC 】"); } //タイトルを設定します statusPath.Text = title.ToString(); //TODO ステータスバーに長い文字列を設定すると表示されない //ファイル名をプラグインのタイトルとして保持します(タブのタイトルになります) this.Title = Path.GetFileName(this.TargetFile.Path) + (txtMain.Modified ? "(*)" : ""); //タイトル変更イベントを発生させます var param = new TitleChangedEventParam { Plugin = this }; _pluginManager.GetEventManager().RaiseEvent(TitleChangedEventParam.Name, this, param); }