Adding Custom buttons to RadEditor's toolbar
RadEditor provides 4 different ways to add custom buttons to the its toolbar:
	
		- Setting the tools in the RadEditor's declaration:
			 <telerik:radeditor runat="server" ID="RadEditor1">
				   <Tools>
					    <telerik:EditorToolGroup>
						        <telerik:EditorTool Name="ApplySizeColor" Text="Apply Size and Color"/>
							        <telerik:EditorTool Name="InsertCustomDate" Text="Insert Custom Date"/>
								        <telerik:EditorTool Name="ResetContent" Text="Reset Content"/>
									    </telerik:EditorToolGroup>
										   </Tools>        
										</telerik:radeditor>
			 
			 
		- Setting the custom buttons via the ToolsFile property:
			<telerik:radeditor ToolsFile="~/ToolsFile.xml" 				runat="server" ID="RadEditor2"></telerik:radeditor>
			 
			ToolsFile.xml:
			<root>
				    <tools name="MainToolbar">
					            <tool name="ApplySizeColor" Text="Apply Size and Color"/>
						            <tool name="InsertCustomDate" Text="Insert Custom Date"/>
							            <tool name="ResetContent" Text="Reset Content"/>
								    </tools>
								</root>
			  
		- Setting the custom tools programmatically via the 			codebehind:
			
			protected void Page_Load(object sender, EventArgs e)
				{
				    if (!IsPostBack)
					    {
					        EditorToolGroup main = 							new EditorToolGroup();
						        RadEditor3.Tools.Add(main);
							
							        EditorTool applySizeColor 									= new EditorTool();
								        applySizeColor.Name 			= "ApplySizeColor";
									        applySizeColor.Text 			= "Apply Size 				and Color";
										        main.Tools.Add(applySizeColor);
											
											        EditorTool customDate 						= new EditorTool();
												        customDate.Name 			= "InsertCustomDate";
													        customDate.Text 			= "Insert Custom 				Date";
														        main.Tools.Add(customDate);
															
															        EditorTool reset 			= new EditorTool();
																        reset.Text = "Reset Content";
																	        reset.Name = "ResetContent";
																		        main.Tools.Add(reset);
																			    }
																				}
			
		 
		- Setting the tools by using Theme:
			In your .skin file:
			<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
			<telerik:radeditor runat="server" SkinId="SomeTools">
			    <Tools>
			       <telerik:EditorToolGroup>
			           <telerik:EditorTool Name="ApplySizeColor" Text="Apply Size and Color"/>
				           <telerik:EditorTool Name="InsertCustomDate" Text="Insert Custom Date"/>
					           <telerik:EditorTool Name="ResetContent" Text="Reset Content"/>
					       </telerik:EditorToolGroup>
					    </Tools>
					</telerik:radeditor>
			 
			Once the skin is set, you need to declare it in the RadEditor's declaration by using 			the SkinId property:
			<telerik:radeditor
				SkinID="SomeTools"
					Height="100px"
						runat="server" 							ID="RadEditor4">
						</telerik:radeditor>
						
							
							Note: More information on how to use ASP.NET 2.x Themes 								is available in MSDN. 
	
	Declaring the custom CommandList that will be executed when the buttons are 			clicked:
	After adding the custom toolbar buttons to the editor's toolbar, you should define 		their commands. In the page with the editor (after the <telerik:RadEditor ... 		declaration), add  the following script:
	<script type="text/javascript">
		Telerik.Web.UI.Editor.CommandList["ApplySizeColor"] = function(commandName, editor, args)
			{
			     editor.fire("FontSize", {value 		: "4"}); //fire the FontSize command
				     editor.fire("ForeColor", {value : "red"});  //fire 				the ForeColor command
				};
					
				Telerik.Web.UI.Editor.CommandList["InsertCustomDate"] 		= function(commandName, 			editor, args)
					{
					   editor.pasteHtml('<span style="width:200px;border: 				1px dashed #bb0000;background-color: #fafafa;color: blue;"> ' + new Date() + ' </span>');
					};
						
					Telerik.Web.UI.Editor.CommandList["ResetContent"] 		= function(commandName, 			editor, args)
						{
						     editor.set_html(""); //set empty content
						};
						</script>
	If a custom tool is added without a CommandList command, then the clicked button 		will pop up a message that the command [commandname] is not implemented yet.
	Set icons for the custom buttons
	To improve the appearance of the custom buttons provide image files for them and 		declare or import with a <link> tag the following CSS classes in the page 		with the editor: 	
		
		
		<style type="text/css">
		.reTool 		.InsertCustomDate
		{
			   background-image: url(InsertDate.gif);
			}
			.reTool  			.ApplySizeColor
			{
				   background-image: url(Custom.gif);
				}
				.reTool  				.ResetContent
				{
					   background-image: url(Cancel.gif);
					}
						</style>
		
		The syntax to follow is:
		
		<style type="text/css">
		.reTool 		.<commandName>
		{
			  background-image: url(MyImage.gif) !important;
			}
				</style>
	Related Resources