..
This commit is contained in:
36
Sub/YARTE/Buttons/BoldButton.cs
Normal file
36
Sub/YARTE/Buttons/BoldButton.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class BoldButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand("Bold", false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get
|
||||
{
|
||||
return Resources.bold;
|
||||
}
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Bold"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Bold"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "Bold"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
37
Sub/YARTE/Buttons/CheckboxButton.cs
Normal file
37
Sub/YARTE/Buttons/CheckboxButton.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
using System;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class CheckboxButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Editor.insertCheckbox();
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get
|
||||
{
|
||||
return Resources.insertcheckbox;
|
||||
}
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Insert Checkbox"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Insert Checkbox"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return ""; }
|
||||
}
|
||||
}
|
||||
}
|
||||
41
Sub/YARTE/Buttons/ForecolorButton.cs
Normal file
41
Sub/YARTE/Buttons/ForecolorButton.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class ForecolorButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
var colorPicker = new ColorDialog();
|
||||
var result = colorPicker.ShowDialog();
|
||||
if(result == DialogResult.OK)
|
||||
{
|
||||
var color = colorPicker.Color;
|
||||
var hexcolor = ColorTranslator.ToHtml(color);
|
||||
args.Document.ExecCommand("ForeColor", false, hexcolor);
|
||||
}
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.fontforecolorpicker; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Color"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Color"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "ForeColor"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
21
Sub/YARTE/Buttons/IButton.cs
Normal file
21
Sub/YARTE/Buttons/IButton.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public struct ButtonArgs
|
||||
{
|
||||
public HtmlDocument Document;
|
||||
public HtmlEditor Editor;
|
||||
}
|
||||
|
||||
public interface IButton
|
||||
{
|
||||
string IconName { get; }
|
||||
string IconTooltip { get; }
|
||||
}
|
||||
}
|
||||
12
Sub/YARTE/Buttons/IFunctionButton.cs
Normal file
12
Sub/YARTE/Buttons/IFunctionButton.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
|
||||
public interface IFunctionButton : IButton
|
||||
{
|
||||
void IconClicked(ButtonArgs doc, ToolStripButton btn);
|
||||
string Label { get; set; }
|
||||
}
|
||||
}
|
||||
18
Sub/YARTE/Buttons/IHTMLEditorButton.cs
Normal file
18
Sub/YARTE/Buttons/IHTMLEditorButton.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public interface IHTMLEditorButton : IButton
|
||||
{
|
||||
void IconClicked(ButtonArgs doc);
|
||||
Image IconImage { get; }
|
||||
|
||||
/// <summary>
|
||||
/// This is the string that will be used to poll the text area to determine if the cursor
|
||||
/// is in a given area (say, 'Bold') and show the corresponding button as selected
|
||||
/// Leave blank if there is no command or you have no idea what to put here
|
||||
/// </summary>
|
||||
string CommandIdentifier { get; }
|
||||
}
|
||||
}
|
||||
41
Sub/YARTE/Buttons/InsertLinkedImageButton.cs
Normal file
41
Sub/YARTE/Buttons/InsertLinkedImageButton.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System.Drawing;
|
||||
using Microsoft.VisualBasic;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class InsertLinkedImageButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
var x = args.Editor.Location.X + 10;
|
||||
var y = args.Editor.Location.Y + 10;
|
||||
|
||||
var url = Interaction.InputBox("Please enter an image url", "URL", null, x, y);
|
||||
if (!string.IsNullOrEmpty(url))
|
||||
{
|
||||
args.Document.ExecCommand("InsertImage", false, url);
|
||||
}
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.insertimage; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Linked image"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Linked image"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "InsertImage"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
35
Sub/YARTE/Buttons/ItalicButton.cs
Normal file
35
Sub/YARTE/Buttons/ItalicButton.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class ItalicButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand("Italic", false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.italic; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Italic"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Italic"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "Italic"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Sub/YARTE/Buttons/JustifyCenterButton.cs
Normal file
33
Sub/YARTE/Buttons/JustifyCenterButton.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class JustifyCenterButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand(CommandIdentifier, false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.justifycenter; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Justify center"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Justify center"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "JustifyCenter"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Sub/YARTE/Buttons/JustifyLeftButton.cs
Normal file
33
Sub/YARTE/Buttons/JustifyLeftButton.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class JustifyLeftButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand(CommandIdentifier, false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.justifyleft; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Justify left"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Justify left"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "JustifyLeft"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Sub/YARTE/Buttons/JustifyRightButton.cs
Normal file
33
Sub/YARTE/Buttons/JustifyRightButton.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class JustifyRightButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand(CommandIdentifier, false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.justifyright; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Justify right"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Justify right"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "JustifyRight"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Sub/YARTE/Buttons/LinkButton.cs
Normal file
33
Sub/YARTE/Buttons/LinkButton.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class LinkButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand("CreateLink", true, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.createlink; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Create link"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Create link"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "CreateLink"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Sub/YARTE/Buttons/OrderedListButton.cs
Normal file
34
Sub/YARTE/Buttons/OrderedListButton.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class OrderedListButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand("InsertOrderedList", false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.numberedlist; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Ordered list"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Ordered list"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "InsertOrderedList"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Sub/YARTE/Buttons/PredefinedButtonSets.cs
Normal file
34
Sub/YARTE/Buttons/PredefinedButtonSets.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System.Linq;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public static class PredefinedButtonSets
|
||||
{
|
||||
private static readonly string[] _webSafeFonts = new [] { "맑은 고딕", "Courier New", "Times New Roman", "Georgia", "Arial", "Verdana"};
|
||||
|
||||
public static void SetupDefaultButtons(HtmlEditor editor)
|
||||
{
|
||||
editor.AddToolbarItem(new BoldButton());
|
||||
editor.AddToolbarItem(new ItalicButton());
|
||||
editor.AddFontSelector(_webSafeFonts);
|
||||
editor.AddFontSizeSelector(Enumerable.Range(1,10));
|
||||
editor.AddToolbarDivider();
|
||||
editor.AddToolbarItem(new LinkButton());
|
||||
editor.AddToolbarItem(new UnlinkButton());
|
||||
editor.AddToolbarDivider();
|
||||
editor.AddToolbarItem(new InsertLinkedImageButton());
|
||||
editor.AddToolbarDivider();
|
||||
editor.AddToolbarItem(new OrderedListButton());
|
||||
editor.AddToolbarItem(new UnorderedListButton());
|
||||
editor.AddToolbarDivider();
|
||||
editor.AddToolbarItem(new ForecolorButton());
|
||||
editor.AddToolbarDivider();
|
||||
editor.AddToolbarItem(new JustifyLeftButton());
|
||||
editor.AddToolbarItem(new JustifyCenterButton());
|
||||
editor.AddToolbarItem(new JustifyRightButton());
|
||||
editor.AddToolbarDivider();
|
||||
editor.AddToolbarItem(new ReadOnlyButton());
|
||||
editor.AddToolbarItem(new CheckboxButton());
|
||||
}
|
||||
}
|
||||
}
|
||||
47
Sub/YARTE/Buttons/ReadOnlyButton.cs
Normal file
47
Sub/YARTE/Buttons/ReadOnlyButton.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class ReadOnlyButton : IFunctionButton
|
||||
{
|
||||
private string _label = "Enter View Mode";
|
||||
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Editor.ReadOnly = !args.Editor.ReadOnly;
|
||||
}
|
||||
|
||||
public void IconClicked(ButtonArgs args, ToolStripButton button)
|
||||
{
|
||||
if (_label.Equals("Enter Edit Mode"))
|
||||
{
|
||||
_label = "Enter View Mode";
|
||||
}
|
||||
else
|
||||
{
|
||||
_label = "Enter Edit Mode";
|
||||
}
|
||||
button.Text = _label;
|
||||
args.Editor.ReadOnly = !args.Editor.ReadOnly;
|
||||
}
|
||||
|
||||
public string Label
|
||||
{
|
||||
get { return _label; }
|
||||
set { _label = value; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Read Only"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return _label; }
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Sub/YARTE/Buttons/UnderlineButton.cs
Normal file
34
Sub/YARTE/Buttons/UnderlineButton.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class UnderlineButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand("Underline", false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.underline; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Underline"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Underline"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "Underline"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Sub/YARTE/Buttons/UnlinkButton.cs
Normal file
33
Sub/YARTE/Buttons/UnlinkButton.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class UnlinkButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand("Unlink", false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.unlink; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Unlink"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Unlink"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "Unlink"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Sub/YARTE/Buttons/UnorderedListButton.cs
Normal file
33
Sub/YARTE/Buttons/UnorderedListButton.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Drawing;
|
||||
using YARTE.Properties;
|
||||
|
||||
namespace YARTE.UI.Buttons
|
||||
{
|
||||
public class UnorderedListButton : IHTMLEditorButton
|
||||
{
|
||||
public void IconClicked(ButtonArgs args)
|
||||
{
|
||||
args.Document.ExecCommand("InsertUnorderedList", false, null);
|
||||
}
|
||||
|
||||
public Image IconImage
|
||||
{
|
||||
get { return Resources.bulletedlist; }
|
||||
}
|
||||
|
||||
public string IconName
|
||||
{
|
||||
get { return "Unordered list"; }
|
||||
}
|
||||
|
||||
public string IconTooltip
|
||||
{
|
||||
get { return "Unordered list"; }
|
||||
}
|
||||
|
||||
public string CommandIdentifier
|
||||
{
|
||||
get { return "InsertUnorderedList"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user