/// <summary> /// クリップボードにオブジェクトを貼り付けるためのユーティリティ. /// </summary> /// <param name="events"></param> /// <param name="tempo"></param> /// <param name="timesig"></param> /// <param name="curve"></param> /// <param name="bezier"></param> /// <param name="copy_started_clock"></param> private void setClipboard( List <VsqEvent> events, List <TempoTableEntry> tempo, List <TimeSigTableEntry> timesig, SortedDictionary <CurveType, VsqBPList> curve, SortedDictionary <CurveType, List <BezierChain> > bezier, int copy_started_clock) { ClipboardEntry ce = new ClipboardEntry(); ce.events = events; ce.tempo = tempo; ce.timesig = timesig; ce.points = curve; ce.beziers = bezier; ce.copyStartedClock = copy_started_clock; #if CLIPBOARD_AS_TEXT String clip = ""; try { clip = getSerializedText(ce); #if DEBUG sout.println("ClipboardModel#setClipboard; clip=" + clip); #endif } catch (Exception ex) { serr.println("ClipboardModel#setClipboard; ex=" + ex); Logger.write(typeof(ClipboardModel) + ".setClipboard; ex=" + ex + "\n"); return; } PortUtil.setClipboardText(clip); #else // CLIPBOARD_AS_TEXT #if DEBUG // ClipboardEntryがシリアライズ可能かどうかを試すため, // この部分のコードは残しておくこと System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = null; System.IO.MemoryStream ms = null; try { bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); ms = new System.IO.MemoryStream(); bf.Serialize(ms, ce); } catch (Exception ex) { sout.println("ClipboardModel#setClipboard; ex=" + ex); } #endif // DEBUG Clipboard.SetDataObject(ce, false); #endif // CLIPBOARD_AS_TEXT }
/// <summary> /// クリップボードにオブジェクトを貼り付けます. /// </summary> /// <param name="item">貼り付けるオブジェクトを格納したClipboardEntryのインスタンス</param> public void setClipboard(ClipboardEntry item) { #if CLIPBOARD_AS_TEXT String clip = ""; try { clip = getSerializedText(item); #if DEBUG sout.println("ClipboardModel#setClipboard; clip=" + clip); #endif } catch (Exception ex) { serr.println("ClipboardModel#setClipboard; ex=" + ex); Logger.write(typeof(ClipboardModel) + ".setClipboard; ex=" + ex + "\n"); return; } PortUtil.setClipboardText(clip); #else Clipboard.SetDataObject(item, false); #endif }