Ejemplo n.º 1
0
        private static String DecompileMethod(String methodName)
        {
            MethodInfo netMethodInfo = typeof(MethodBodyTest).GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Static);

            if (netMethodInfo == null)
            {
                netMethodInfo = typeof(MethodBodyTest).GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Instance);
            }

            IMethodReference methodReferece = AssemblyManager.FindMethod(netMethodInfo);

            CSharpWriter    languageWriter      = new CSharpWriter();
            PlainTextWriter formattedCodeWriter = new PlainTextWriter();

            languageWriter.WriteMethodDeclaration(methodReferece.Resolve(), formattedCodeWriter);
            return(formattedCodeWriter.ToString());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Serializes the object and saves it to the specified path.
        /// </summary>
        /// <param name="savePath">The relative or absolute path where the settings should be saved to.</param>
        /// <param name="overrideInstance">True to use the specified file path for future Save() method calls, otherwise false.</param>
        public override void SaveAs(string savePath, bool overrideInstance = true)
        {
            if (savePath == null)
            {
                throw new ArgumentNullException(nameof(savePath));
            }

            string textPath = OmitExtension ? savePath : FixPathExtension(savePath);

            using (FileStream stream = new FileStream(textPath, FileMode.Create))
                using (PlainTextWriter writer = PlainTextWriter.Create(stream, Settings))
                    new PlainTextSerializer().Serialize(writer, this);

            if (overrideInstance)
            {
                SavePath = savePath;
            }
        }
Ejemplo n.º 3
0
        // ========================================
        // method
        // ========================================
        public override void Execute()
        {
            var data = new DataObject();
            var copy = _target.CopyBlocksAndInlines(_range);

            data.SetData(StyledTextConsts.BlocksAndInlinesFormat.Name, false, copy);

            /// plain text
            {
                var writer = new PlainTextWriter();
                var text   = writer.ToPlainText(copy);
                data.SetText(text, TextDataFormat.UnicodeText);
            }

            /// html
            if (SupportHtml)
            {
                var writer = new HtmlWriter();
                var html   = writer.ToHtml(copy);
                data.SetData(DataFormats.Html, ClipboardUtil.GetCFHtmlMemoryStream(html));
            }

            Clipboard.SetDataObject(data, true);
        }
Ejemplo n.º 4
0
 public string ReduceHtmlWhiteSpaces()
 {
     return(PlainTextWriter.ReduceHtmlWhiteSpaces(Data));
 }
Ejemplo n.º 5
0
 public string ClassicReplace()
 {
     return(PlainTextWriter.ReplaceHtmlWhiteSpacesClassic(Data));
 }
Ejemplo n.º 6
0
 public static void Save(string filePath, string fileContent)
 => PlainTextWriter.Save(filePath, fileContent);
Ejemplo n.º 7
0
        protected IDragSource CreateFocusFigureDragSource()
        {
            var ret = MouseOperatableFactory.CreateDragSource(DragDropEffects.Copy | DragDropEffects.Move);

            ret.JudgeDragStart += (sender, e) => {
                e.DoIt = false;
                if (e.Button == MouseButtons.Left && e.Clicks == 1)
                {
                    var loc   = new Point(e.X, e.Y);
                    var focus = Host.Focus as StyledTextFocus;
                    if (focus.Figure.IsInSelection(loc))
                    {
                        _selectionRangeOnDragStart = focus.Selection.Range;
                        e.DoIt = true;
                    }
                }
            };

            //ret.DragStart += delegate {
            //    var focus = Host.Focus as StyledTextFocus;
            //    _selectionRangeOnDragStart = focus.Selection.Range;
            //};
            ret.DragSetData += (sender, e) => {
                var focus = Host.Focus as StyledTextFocus;
                var flows = focus.Referer.Target.CopyBlocksAndInlines(focus.Selection.Range);
                var data  = new DataObject();
                //data.SetData(StyledTextConsts.BlocksAndInlinesFormat.Name, flows);
                data.SetData(StyledTextConsts.BlocksAndInlinesFormat.Name, false, flows);

                /// plain text
                {
                    var writer = new PlainTextWriter();
                    var text   = writer.ToPlainText(flows);
                    data.SetText(text, TextDataFormat.UnicodeText);
                }

                var app = MemopadApplication.Instance;

                /// html
                {
                    var writer = new HtmlWriter();
                    var html   = writer.ToHtml(flows);
                    data.SetData(DataFormats.Html, ClipboardUtil.GetCFHtmlMemoryStream(html));
                }

                e.DataObject = new DataObject(data);
            };
            ret.DragFinish += (sender, e) => {
                if (Host.IsFocused)
                {
                    /// このEditorにdropされた場合,
                    /// Moveの処理もDragTargetのDragDropで処理されるので何もしない
                }
                else
                {
                    /// 他のEditorにdropされた
                    if (e.Effects == DragDropEffects.Move)
                    {
                        var memoStyledText = (MemoStyledText)Host.Model;
                        var node           = (INode)Host.Figure;

                        BeginUpdate();
                        using (node.BeginUpdateStyledText()) {
                            var cmd = new RemoveCommand(
                                memoStyledText.StyledText,
                                _selectionRangeOnDragStart.Offset,
                                _selectionRangeOnDragStart.Length
                                );
                            Host.Site.CommandExecutor.Execute(cmd);
                        }
                        EndUpdate();

                        /// コメント線の処理
                        DisconnectRemovedAnchor(node, node);

                        /// StyledText.IsEmptyになったら削除
                        var model = Host.Model as MemoStyledText;
                        if (model != null && model.StyledText.IsEmpty)
                        {
                            Host.RequestRemove();
                        }
                    }
                }
                _selectionRangeOnDragStart = Range.Empty;
            };

            return(ret);
        }