Version 5.0

Compare
Released on Jun 24, 2012, Added almost 90% of the features requested so far and resolved 95% of the bugs reported so far. It is a very stable version for both design time and run time. Feature highlights : Inline Spell Checker, Footer Tag navigator, FTP Image upload, Table Manipulation API, Dialog source code and more..
Implemented Features
  • Implement feature so that the editor can upload Local path images and local relative images to a server using FTP.
  • Need a design time table border guideline when border = 0.
  • Need a method SetCaretPositionByIndex(int Index) as oppsite to GetCaretIndexInText(As Integer)
  • Need a way to set caret index directly to end of body text, just after the last character, such as... SetCaretIndexInTextEnd() As Integer
  • Need a method DeleteText(StartIndex As Integer, Length As Integer)
  • Need a method ReplaceText(ReplacementText As String, StartIndex As Integer, Length As Integer)
  • Header Title Insert API got more methods : Formatting API got method : RemoveHeaderTitle(), also StateQuery API now contains : IsActiveElementHeaderTitle(), GetActiveHeaderTitleNumber()
  • Configure Edit Source Mode either for DocumentHtml or BodyHtml
  • Ability to provide custom dialogs or change existing dialogs.
  • Need a Hide Selection Property like Standard TextBox.
  • A property for getting and setting the external css file path for the document : public string DocumentCSSFilePath { get; set; }
  • A new method named FormatResetSelected() required/
  • Context Menu is enhanced with Table Manipulation facilities like, Add New Row, Add New Column, Delete Row, Delete Column etc.
  • Needs to be able to localize the control : Now, all toolbar item's all properties can be accessed publicly so the developer can set any text for any property they want. Dialogues can be redesigned with different language too.
  • Needs the Font Size in 'pt' unit same like MS Outlook.
  • Needs 3 Tabbed view for the editor, WYSIWYG View, HTML Source Edit View and ReadOnly Preview view.
  • Add Glymphs selector for all active tags at the footer of the editor so that when an element is selected, all of it's parent tags hierarchy is shown ins the footer with selection facility.
  • Inline spell checker. Now, besides the standard spell checking dialogue, the developer should be able to enable inline spell checking by specifying some CSS according to developer's choice.
  • Image dialog contains 'keep aspect ratio' feature for height/width change. Morever, when a local image is selected, it's height and width are auto captured and shown in the dialogue even if the height/width is not mentioned in the html.
  • All dialogues needs to be re designable and overridable. YES, now it is possible, all source codes for the dialogues are open now.
  • Implement efficient Licensing Scheme. Ok, now, we provide Trial version separate from full unlocked version, so there is no license checking algorithm inside the full unlocked version, thus you can gain more stability, performance and adaptability.
  • New Toolbar button for Symbol Insert.
  • Paste from MS Word
  • New API added for manipulating table like InsertRow(), InsertColumn(), DeleteRow, DeleteColumn etc.
  • Allow keyboard short-cuts to be overridden
  • Toolbar item's click event handler needs to be overridable so that own logic for any specific button's click event can be used.
  • Needs event for scenario when an HTML Element inside the editor (for example, hyperlink or image) is clicked.
  • New Toolbar button for Search
  • Implemented various Caret positioning and Selection related API for better programming.
  • A Good and Efficient Event has been implemented named "Pasting". You can handle this event and capture the nice filtered pasting html, modify the html and set any html you want to the Pasting Event Arg which will be pasted. You can also cancel the event.
  • Show Html Tag Navigator or DOM Tree with selector in the footer of the editor. Any time the selection is changed, the full path of the active html will be shown as a tree path where any branch can be selected.
  • Table Properties Dialog is now possible to invoke from context menu if the cursor is in a table cell but the whole table is not selected. Before, the user needed to activate/select the whole table in order to invoke the table properties dialog.
  • Added nice stock icons for the default context menu.
  • various content programming methods added like : GetAttributeValueOfAnElement, ElementExists , GetOuterHtmlOfAnElement, GetInnerHtmlOfAnElement, UpdateInnerHtmlOfAnElement, SetAttributeValueOfAnElement etc.
  • The control can use default dictionary en-US.dic from it's embedded resource if no dictionary file is defined. So, the developer wont need to worry about setting spell checking dictionary file for start up.
  • Added a method that can return .NET Mail Message object by embedding all local images and that works for any email client. So, this new version does not depend on DotNetOpenMail anymore, rather it uses native .NET MailMessage object.
Resolved Bugs
  • Inserting an image with the ‘Relative path’ option inserts the unnecessary text “about:” before the image filename in the “src=” tag.
  • Design time is very unstable.
  • Setting Dictionary File for Spell Checker wont work.
  • Problems pasting from word
  • CSS Style Builder does not fire htmlchanged nor bodyhtmlchanged events
  • Spell checker cannot detect   as space
  • Every time user go into the Table options, it loses the previous Width settings.
  • The factory toolbar became uneditable. Cannot insert any new toolstrip item on the factory toolbar.
  • HTML link to a PDF file, opens the PDF file nicely within the browser, But after that, the application gets locked up.
  • Pasting Event is buggy.
  • When a link is clicked in ReadOnly mode, the editor turns into Edit mode instead of visiting that link.
  • GetPlainText method don't get   entities as spaces
  • HTML editor controls are flickering until all html editor controls (if many editors are placed) are loaded.
  • Subsequent html is lost/deleted after selecting the ok button in the link editor.
  • CTRL + P cannot be overriden.
  • Ordered and Unordered list are getting broken when switching to Edit Source mode.
  • Problem with using unicode charset
  • The Html generated by the editor does not comply with proper XHTML, as the style attribute still show up with capital case.
  • When there is no selection in the editor, if user change Font Name/Size, an empty blank square gets inserted. We need the behavior should be same like MS outlook.
  • Spell check not updating last word replaced
  • Sometimes, the HtmlChanged Event does not get fired immediately.
  • The Table dialog cannot parse the table for editing correctly if the table has 'th' tag, 'tbody' tag or if the table has 'colspan' or 'rowspan'
  • Sometimes, the Font Change creates a huge set of span tags in the html.
Changed Interfaces
  • bool RightToLeft public property has been removed as this property was the bottle neck for causing too long time to load from IDE. Instead, now if you need to get or set RightToLeft, you can find the Getter and Setter method in the Content service as bool editor1.Content.GetRightToLeft(), editor1.Content.SetRightToLeft(bool value)
  • Removed the property named 'AllowWebInEditorNavigationInPreview' as we found that, this property does not do anything. So, in order to get rid of confusion, we decided to remove that property. Now, if you are upgrading from previous version to the current version, by replacing the old dll with the new dll, you may find that, your Form breaks in the designer. Why ? As your Form's *.designer.cs or *.designer.vb file contains reference to that property. So, in that case, please open that *.designer.cs/vb file and look for the line something like this.winFormHtmlEditor1.AllowWebInEditorNavigationInPreview = true; once you get this line, simply delete that line and build your project again.
  • public method AttachHtmlElementClickedEvent and AttachHtmlElementMouseDownEvent has been removed, because, it is not necessary to call these methods anymore. The Binding is now automatic.