Sferyx JSyndrome HTMLEditor Family


Users Manual 

Don't forget to read the latest FAQ and Check the on-line demo & examples

 

What's new in version 8.0

New features and fixes summary - changelog from 7.5 to 8.0

 

1) Greatly improved rendering performance in all versions and JRE's
2) Great improvements on editing performance and document loading time
3) Added support for editing Large text files.
4) Reduced memory consumption, several fixes on various memory leaks.
5) Fast Oracle Forms and JInitiator loading time, greatly improved initial loading and performance
-now the editor loads instantly when the form is executed
6) Improved CSS rendering in all versions and JRE's
7) Greatly improved rendering and editing performance within Oracle Forms
8) Many new methods and better integration with OracleForms and JInitiator
9) Applet Edition - improved loading and startup time in all versions.
10) Applet Edition - new Flow Toolbar layout allowing dynamic resizing of the toolbars
11) PDFExport - greatly improved document generation - better rendering of the PDF documents.
12) PDFExport - new file compression algorithm for generating smaller files.
13) PDFExport - improved OracleForms integration and especially for JInitiator.
14) PDFExport - Chinese character set support - full Chinese document generation support-
see setPDFExportOutputEncoding for major details.
15) New methods for HTML Forms editing and generation -
possibility to disable automatic form insertion when inserting form elements.
16) Several fixes on form elements for better editing and generation
17) XML Mode - improved XML support, now all types of tags are rendered better,
improved editing experience of documents containing custom XML tags.
18) Improved overall CSS rendering and support both in Component and Applet editions.
19) Improved overall CSS rendering and support in XML mode
20) Improved overall CSS rendering and support for Oracle Forms with JInitiator.
21) Possibility to define your own
property dialogs replacing the existing ones with customized versions.
22) Greatly improved spellchecking accuracy.
23) Possibility to specify dictionary encodings
and also to specify additional dictionaries to be appended to the existing one also for the Applet edition.
24) New parametes for generation of the
multipart uploads in order to specify custom HTTP variable names or one single name for all files if necessary.
25) MathML Equation Editor -
improved loading time and rendering for MacOS
25) MathML Equation Editor -
better integration for both Component and Applet Editions.
26) MathML Equation Editor -
new Sakai support specific integration features
27) Drupal integration module -
Sferyx wysiwyg API module for Drupal CMS
28) Lotus Notes integration manual -
new manula for integrating the HTMLEditor both in the Lotus browser and Thick Client
29) New Drag&Drop functionalities -
now can be set Preferred Drag&Drop functionality for the content
30) New support for drag&Drop multiple external
files such as images, html documents, text documents directly inside the editor
31) All the dropped files can be
uploaded through the multipart upload or WebDAV features
32) Improved generation of unique file names during the uploads
33) Possibility to specify custom file names for SAKAI integration users
34) Drop-in replacement for SAKAI
for the entire SAKAI system in every single module and form
35) New Connector -
SferyxUploadConnector for multiple file uploads inside the SAKAI resources
36) New Sakai Integration manual for Sakai Integrators
37) Sakai compatibility mode
for workaround some tag restrictions inside the Sakai content modules.
38) Better paste operations support
39) Several fixes and Hebrew, Arabic and in general all RTL languages support during editing of formatted documents.
40) New dictionaries available for Russian, Latvian, Lithuanian, Estonian, Polish, Bulgarian, Spanish improved French, German dictionaries
41) Applet Edition -
new feature for setting character limit on the generated document for mainframe uses.
42) New toolbar icons for easier
interaction with some functionalities such as search and replace.
43) Absolute positioning of document elements as specified in CSS
45) XML Mode -
now all is possible to specify easier the rendering types of the elements like INLINE_TAG or
BLOCK_TAG using setTreatAllBlockTagsAsBlocks
and after that specify only the exceptions to this rule.
46) New methods for HTMLEditorOracleBean for grabbing the focus to the component, new methods for resting the
available fonts, headings, font sizes etc.
47) New localization features for OracleForms for loading translation files, dictionaries etc.

As for the limited headings  use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'Normal,Heading 1,Heading 2');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedHeadingList',hArgs);


-------------------------
As for the limited fonts use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'arial,verdana');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontList',hArgs);


-------------------------
As for the limited font sizes use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'8,10,11');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontSizesList',hArgs);

--------------------------
Request the focus:

Declare
hArgsEmpty FBEAN.ARGLIST;
Begin
hArgsEmpty:=FBEAN.CREATE_ARGLIST;
FBean.Invoke('HTMLEDITOR_AREA',1,'requestFocus', hArgsEmpty);

--------------------------
Restricted fonts & setWrapNewLineIntoBR - for single line spacing - this is inside  the WHEN-NEW-ITEM-INSTANCE on the bean area

Declare
vString BOOLEAN;
hArgs FBEAN.ARGLIST;
hArgs2 FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
hArgs2:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'arial,verdana,tahoma,times new roman');
FBEAN.ADD_ARG(hArgs2,true);

FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontList', hArgs);
FBean.Invoke('HTMLEDITOR_AREA',1,'setWrapNewLineIntoBR',hArgs2);
End;


--------------------------
Loading a translation file

hArgs3 FBEAN.ARGLIST;
FBEAN.ADD_ARG(hArgs3,'http://your_host/your-translation.txt');
FBean.Invoke('HTMLEDITOR_AREA',1,'loadInterfaceLanguageFile',hArgs3);

 

New Oracle Forms methods

public void setRestrictedHeadingList(String headingList) - his method allows only certain fonts to be shown in the font list combo. The string must contain comma delimited list of the font names to be used like "Normal,Heading 1,Heading 2"

public void setRestrictedFontList(String fontList) - his method allows only certain fonts to be shown in the font list combo. The string must contain comma delimited list of the font names to be used like "arial,tahoma"

public void setRestrictedFontSizesList(String fontList) - his method allows only certain font sizes to be shown in the font size list combo. The string must contain comma delimited list of the font names to be used like "8,10,11"

public void setDefaultInitialFont(String initialFont) - sets the default font to be used

public void setDefaultInitialFontSize(String fontSize) - sets the default font size to be used

public void setWrapNewLineIntoBR(boolean wrap)
- causes <br> to be generated instead of <p> - and to emulate Microsoft Word like paragraph spacing.

public void setSingleParagraphSpacing(boolean wrap) - causes <p> to be generated with default single paragraph spacing- and to emulate Microsoft Word like paragraph spacing.

public String getContentAccessibleForScreenReaders() - converts some tags to be used properly by screen readers when needed.

public String getBodyContentAccessibleForScreenReaders() - converts some tags to be used properly by screen readers when needed.

public void resetDocumentEdited() -resets the point from which isDocumentEdited() to report changes, Useful to be reset after setting the content etc.

public void setPDFExportOutputEncoding(String encoding)  -sets the encoding for the PDF output when the PDFExport Add-on is installed - useful for Chinese etc.

public void setFlowToolbarLayout() - Sets the flow toolbar layout - all the toolbar items will be ordered one after another in a flowing manner in order to wrap around the available space.

public void loadInterfaceLanguageFile(String fileURL) -
Loads external language file for localization of the UI.


48) Fixed some spellchecker issues for MacOS for selecting of the matched words.
49) Fixed Linux pasting issue
50) Improved CSS layout algorithm for faster performance.
51) Faster preview rendering and loading
52) Resolved various issues
with the preview section for updating dynamically the content both when the preview is selected and when is set preview mode only.
53) New oracle forms integration
examples and updated users manual.
54) Drag & drop improvements for Linux from external applications
55) Various MacOS UI rendering fixes for older java releases.
56) New field for setting onmouseclick attribute for button form field
57) PDFExport - improved document generation for western character sets, various fixers for MacOS X and Linux
document rendering
58) PDFExport - reduced the number of font entities inside the generated documents for faster rendering within
the PDF viewers.
59) Drag&Drop now allows dropping of mixed content including images, html and text files together as html and
text files will be inserted at the caret position along with the images.
60) XML Mode - improved block tag handling for all jre versions - better editing experience during paste
operations, possibility to insert custom tags dynamically

 

 

What's new in version 7.5

New features and fixes summary - changelog from 7.0 to 7.5

 

 

1) Improved generation of &nbsp; - now it is done automatically depending on the Space usage
2) Nested Lists
- fixes of some regression issues.
3) Oracle Forms -
improved integration with the default JInitiator and with jre 1.3 overall
4) Oracle Forms - new methods added to the sferyx.administration.editors.HTMLEditorOracleBean class as follows:

public void setEnableCustomEventDispatching(boolean customEventsDispatchingEnabled) - this method allows to enable/disable dispatching of the events from the editor to the underlying form
public boolean isEnableCustomEventDispatching() 
- this method returns whether is enabled/disabled dispatching of the events from the editor to the underlying form

public void dispatchOracleFormsEvent(String name, Object event) - this method allows to dispatch events from the editor to the underlying form which will captured into the WHEN-CUSTOM-ITEM-EVENT trigger of the form.

public void setContent(String htmlContent)
- sets the content of the editor

public void insertContent(String htmlContent)
- inserts new content into the editor at the caret position

public void insertPlainText(String htmlContent)
- inserts new plain text into the editor at the caret position

public void setRemovedToolbarItems(String itemList)
-allows customization of the toolbars

public void setRemovedMenuItems(String itemList)
-allows customization of the menu items

public void setRemovedMenus(String itemList)
- allows customization of the menus

public void setStatusBarVisible(boolean visible)
-sets the state of the status bar.

public void setPopupMenuVisible(boolean visible) -sets the state of the popup menu.
 
public String getContent()
-gets the content of the editor.

public String getPlainText()
-gets the content of the editor as plain text.

public void setToolBarVisible(boolean visible)
-sets the state of the toolbar bar.

public String getBodyContent() 
-gets the body contentof the editor - no html and head tags will be generated

public void insertImage(String imageURL)
- inserts image at the caret position

public void insertLink(String linkURL) 
- inserts link over the selected text

public void setDefaultCharset(String encoding)
 
public void openLocation(String location)
- opens the given location inside the editor

public void setExternalDictionary(String externalDictionary)
- loads external dictionary

public void setPreviewModeOnly(boolean previewModeOnly)
- sets the preview mode only

public void openContentBuffer()
- opens a content buffer for loading large content

public void appendContentToContentBuffer(String content)
- appends new content to a content buffer for loading large content

public void closeBufferAndInsert()
- closes the buffer and inserts the content into the editor

public int getBodyContentLenght()
- returns a length limit set previously for the editor

public int getContentLenght()
- returns a length of the content.

public String getBodyContentPortion(int offset, int length)
- returns a portion of the body content.

public String getContentPortion(int offset, int length)
- returns a portion of the content.

public void setSourceEditorVisible(boolean visible)
-sets the state of the source editor.

public void setPreviewVisible(boolean visible) 
-sets the state of the preview.

public void setAsYouTypeSpellcheckingEnabled(boolean enabled)
- sets the state of spellchecker

public boolean isDocumentEdited()
- returns whether the document has been edited or not.

public void setPreferredPasteOperation(int preferredPasteOperation)
- sets the preferred paste operation

public int getPreferredPasteOperation()
- gets the preferred paste operation

public void loadExternalStyleSheet(String externalStyleSheetLocation)
-loads external CSS file

public String getBodyUnicodeContent()
 - returns the unicode content

public void setSourceCodeModeOnly(boolean sourceCodeModeOnly)
 - sets the source mode only

public void setShowBodyContentOnlyInSource(java.lang.String _showBodyContentOnlyInSource) -
This method will cause the editor to show only the body content when switching to the HTML source editor.

public String getExternalStyleSheetLocation() -
Returns the URL as string of the external style sheet loaded and used to apply style classes to the document elements

public void loadExternalStyleSheet(javax.swing.text.html.StyleSheet styleSheet, java.lang.String styleSheetURL) -
Loads external style sheet specified by the given URL and adds its content to the existing style classes.

public void setExternalStyleSheetLocation(java.lang.String externalStyleSheetLocation) -
Sets the external style sheet to be loaded and used for rendering and editing of the document.

public void loadStyleSheetRules(java.lang.String styleSheet) -
Allows to load some style rules dynamically like for example body{background-color:red} etc.

public void setDefaultInitialFont(String initialFont)
- sets the default font family to be used by the editor.

public void setDefaultInitialFontSize(String fontSize)
- sets the default font size to be used by the editor.

public String getContentAccessibleForScreenReaders()
- gets accessible content intended for screen readers - this will generate tags which are understood by the screen readers.

public String getBodyContentAccessibleForScreenReaders()
- gets accessible cbody ontent intended for screen readers - this will generate tags which are understood by the screen readers.

public HTMLEditor getHTMLEditorInstance() - you can use this method to get a direct reference to the HTMLEditor instance and use all the available API as you whish. This allows full customization and access to all the available features of the HTMLEditor class.

5) Oracle Forms - new custom events reported to the underlying form:

This will enable the generation of the events from the editor to the form:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,true);
FBean.Invoke('HTMLEDITOR_AREA',1,'setEnableCustomEventDispatching',hArgs);
End;

This code will capture the events using the WHEN-CUSTOM-ITEM-EVENT trigger of the form:

Declare
EventName VarChar2(32000);
Begin
EventName := :SYSTEM.Custom_Item_Event;

-- the event name contains all the event data starting with the event type like
-- keyPressed==>all the event data - for this make sure the variable used is long enough
-- you can later parse the data and use it accordingly:
-- here we put all in a text area to display it easily:

:block3.TEXT_AREA :=:block3.TEXT_AREA|| 'Event name: ' || EventName;
End;

Current event names start with the following names:

mouseReleased
mousePressed
mouseExited
mouseEntered
mouseClicked
mouseMoved
mouseDragged
focusGained
focusLost
insertUpdate
changedUpdate
keyTyped
keyPressed
keyReleased

6) Improved Oracle Forms pasting operations with JRE 1.3 now the pasted content is handled properly
7) Improved overall
dialog layout for the new universal resolution Nimbus Look & Feel under JRE 1.6_10 and higher
8) Fixes for proper
handling of Turkish locale settings
9) Symbol fonts
now handled properly when typing
10) Applet Edition
- fixes for proper handling of URLEncoded Unicode content
11) Applet Edition
- better synchronization of set methods and remote save methods
12) Applet Edition - now insert image dialog displays all available options
13) Various fixes on
setting different document properties.
14) Improved Equation Editor integration with all versions
15) Improved and enhanced PDFExport f
unctionalities for all versions
16) Applet Edition -
with support for the PDFExport
17) Now public String getEditorVersion()
returns current editor version
18) Applet Edition -
improved general performance
19) getPlainText()
returns correctly the text from the preview mode only when set.
20) Now can be specified the mode for the setDocumentLengthLimit() -
whether to concern the html tags or only the plain text
21) Resolved some status bar regression issues
22) Resolved some equation toolbar button issues when enabled/disabled
23) setSingleParagraphSpacing()
now is more efficient and performs better for inserting MS Word style paragraphs.
24) Various XML more fixes for better constructing the XML grammars.
25) Applet Editon
- new parameter: restrictedHeadingsList - for providing limited heading styles
26) Applet Editon - new parameter: enablePDFExport
- for enabling PDFExport plugin when installed
27) Applet Editon - new parameter: singleParagraphSpacing
- for generating Word style paragraphs

 

What's new in version 7.0

New features and fixes summary - changelog from 6.5 to 7.0

 

1) Document handling - fixed issues with span elements, now it adds the font properties properly.
2) Parser -
fixed issues with span rendering with 1.4.2 for backward compatibility
3) Added support for OpenOffice styles format rendering
4) Added support for OpenOffice style format when pasting documents
5) Updated the document generation (writer)
in order to convert font properties correctly for java 1,3 and OracleForms.
6) Fixed various issues with the inline document equation editing features -
now the edited equations are generated and updated as mathml properly.
7) Handling of block and section elements
updated in order to provide more efficient layouts upon loading
8) Uploading files -
fixes for generateUniqueFileNames in order to not append unique name identifier on the end of the filename.
9) Added the possibility to
generate the mulpiart-form data to a stream in order to create easier and more customizable content for e-mail like clients.
10) uploadMultipartContent() -
added Swing thread fix
11) fixes when inserting
non breakable white spaces and paragraphs.
12) fixed selectAll() 
in order to provide consistent selection.
13) BODY and HTML tags
updated in order to paint fully page backgrounds
14) fixed issues with resetting nested list entries
15) Removing of nested table cells and list items fixed
in order to provide undo operations properly
16) Updated internal document handling-
inserted check for the body start offset when locating caret, selection etc.
17) fixed mangeTabKeyInternally -
included fix for preserving the font selection when tab pressed
18) Updated CustomEmptyXMLTagView
in order to render properly empty xml tags.
19) Updated the document parser,
included $ as valid identifier.
20) Added addFormComponentsKeyListener
to Component Edition for tracing form elements events by user code.
21) Improved general rendering,
greatly improved overall performance on editing /resizing tables and images for remotely loaded documents
22) Resolved issues regarding copy/paste
of special symbols from MS Office
23) Improved Japanese/ Chinese
language support for layout and rendering
24) Added the possibility of
appending external dictionary to the existing built-in one
25) Improved unordered/ordered lists handling
26) Improved table performance and rendering -
added betted css support
27) Generally improved OracleForms integration -
improved stability and component loading performance.
28) Added many new methods for better OracleForms integration.
29) Generally improved java 1.3 support for legacy applications
30) Improved / added many fixed for custom tags and custom objects support
31) Image maps functionality added -
now is possible to visually add/modify image maps directly inside the visual
editor.
32) Added support for different dictionary encodings -
this now can be specified through public void
setExternalDictionaryEncoding(String externalDictionaryEncoding) -
now this way is possible to load international
dictionaries for wide range of encodings.
33) PDFExport integration support -
allows the entire content of the editor to be exported easily as PDF document.
34) Improved PDF generation -
now large documents are generated much faster.
35) Improved Equation/MathML editor integration
36) Greatly improved performance
of inline editing of equations directly inside the documents.
37) Better support for the various
paragraph and block elements on edit/delete actions.
38) Improved copy/paste from external applications.
39) Improved copy/paste from
MSOffice for java 1.3 legacy applications/ OracleForms
40) Improved printing support -
better pagination and rendering.
41) Added support for printing
of custom tags/objects and for components
42) PDFExport -
added support for exporting of custom tags/objects and for components
43) PDFExport -
added support for exporting of inline mathml equations
43) Printing support -
added support for printing of inline mathml equations
44) Added support for rendering of BMP images
45) Now will be rendered
also images with file paths like c:\ etc. which do not construct correct URLs
46) Improved support for Japanese
text input through the Microsoft IME
47) various fixes for the multipart file uploads
48) various fixes for the
webdav support and generation of unique files names
49) New Avantgarde DocumentPack
available for enhanced document editing and easier drag& drop operations.
50) Fixes for the spell checker for
improved performance and loading times. The the as-you-type spellchecker will
refresh correctly after loading new documents through openLocation
51) Improved spelling algorithm
for providing more accurate suggestions
52) Better internationalization support,
added some missing strings for UI language translation
53) fixed printing from EquationEditor
54) fixed some select/insert
over selection operation in the EquationEditor
55) Improved image generation from the EquaitonEditor -
now is possible to generate offscreen images even for
server-side applications
56) Provided methods for direct
conversion of MathML to images PNG without the need of displaying of the
EquationEditor
57) Fixed list rendering in some
situations when containing headings etc.
58) Added support for css
loading options like media print/screen etc.
59) Improved parsing of XML documents.
60) Fixed various issues with undo/redo
operations and improved undo/redo mechanism for java 1.3 and OracleForms.
61) Improved layout for floating
objects and better support for css layout and positioning
62) Various fixes over fonts
properties handling and text input operations.
63) Resolved issues with xhtml
document generation and the inclusion of unwanted synthesized attributes.
64) Defined new editor plug-in
mechanism for adding external modules and add-ons for further enhancements
65) Added user accessible features
for zoom in/zoom out of the text for edit/preview without changing the document
formatting - this is very useful for users with visual impairments.
66) Available the new bundles with HTMLEditor Component+EquationEditor and HTMLEditor
Component+EquationEditor+PDFExport
67) Improved editing of MS Word generated documents -
better support for modifying fonts etc.
68) Fixes for better handling of saveEntireDocumentTree
for saving relatively of the entire document structure
69) Document map feature
combined with instant drag&drop available through the Avantgarde DocumentPack
70) Resolved issues with
table resizing and rendering with java 1.3 and OracleForms Jinitiator.
71) Greatly improved loading
time and faster responsiveness of the component with java 1.3 and OracleForms
JInitiator
72) Updated manual for
integration with Oracleforms added new examples and tips.
73) HTMLEditorOracleBean
enhanced in order to provide more methods from HTMLEditor in order to be accessed directly
from OracleForms
74) PDFExport scales better
images and text with updated algorithm for image compression for to achieve better
smoothing and better rendering results
75) PDFExport smart table
handling in order to cut tables and rows accordingly to the page breaks.
76) Reduced memory footprint for HTMLEditor -
created and reused shared resources.
77) Reduced memory footprint for EquationEditor -
created shared resources for multiple instances environment.
78) Reduced network loading times for EquationEditor
by removing unexisting resource references
79) Reduced memory footprint for HTMLEditor
while exporting to PDF by the PDFExport - removed unnecessary document
updates during export.
80) Improved support for forms
components and form buttons which are not submit.
81) Improved navigation in the
preview pane with better rendering and faster document loading.
82) Improved loading of translation
files and dictionaries from classpath and as relative resources

 

 

What's new in version 6.5

New features and fixes summary - changelog from 6.0 to 6.5

 

1) Text Folding functionalities implemented
2) insertContent() - fixed various issues regarding content handling
3) Table border - topInset - fixed for correct rendering
4) Image resize - fixed some resizing issues
5) Justification alignment
6) Improved pasting of complex formatting with nested layers
7) Fix custom image view in order to display properly images with one attribute only.
8) Fix for some duplicate <font> <span> generations 
9) Caret handling issues resolved
10) Fixed issues for alignment of right/left floating views
11) Fix for generation of attirbutes in end tags/script tags 
12) Spellchecker performance improved
13) Pragraph perfomance improved
14) HTMLEditor - performInstantSpell corrections 
15) PasteFormattedText from clipboard fix for loosing formatting of the first paragraph
16) Fix pastePlainText from clipboard in order to properly handle line breaks.
17) Fixed in Paragraph views -  removed to improve performance
18) adjustPopupElementsForEvent -try{}catch
19) FormComponentsListener -try{}catch
20) PreviewEditorKit - PreviewHTMLFactory - CustomFormInputView - submitData fix throwing exception
21) Spellyx - customwords dictionary improved, fix for adding normalized words.
22) Parsing issue fix for indocument styles formatting
23) Style Sheet handling - fix for loading external  style sheets
24) SferyxUtilities - replaceAllBlockComments method
25) Style Sheet handling  - fix for rendering - in order to reflect properly nested formatting between fonts, spans etc.
26) added form component listeners in the Applet Edition 
27) Various fixes to proper rendering of aligned images 
28) RubyTag support implemented resolve loss of style attribute in font
29) Fixes to document generation to resolve loss of text_align attribute i
30) HyperlinkPropertiesDialog  - fix for loosing inline style attribute when editing hyperlinks
31) Updated GenericTagAdapter and CustomTagAdapter in order to update the chnages in the mappings.
32) Updated CustomEditorKit to reflect the changes.
33) Updated Form views
34) Updated icons
35) Equation editor - added new functionalities for easier component management enabling/disabling
36) Corrected the refreshing of the document structure in order to improve performance
37) CustomEditorKit - commented removeAttributes in order to preserve the inputAttributes when moving the cursor.
38) Updated EquationEditor - slow performance as applet when loading null images
39) default style sheet attributes  fixed p attributes for better rendering closer to the popular browser's one.
40) Various fixes on insertBreak and CustomEditorKit
41) getPlainText fied in order to return properly line breaks where <br> is found into the html
42) Fixed resetCurrentListFollowingOrderedCommand, insertOrderedList insertUnorderedList
43) fixes to printingsystem and customstylesheet getFont to include better printing support
44) Added setEditable and isEditable in CustomEditorPane to fix issue with readonly=true
45) updated updateEditedDocument() for faster and more efficient performance
46) MacOS - fixes over drag & drop now is possible to drag& drop items - initContainers & isDragPossible
47) fixed stylesheet to display blockquotes properly - converted from margin-left/right to padding-left/right
48) Improved EquationEditor integration within the HTMLEditor
49) Improved performance in painting background images
50) Improvements over content deletion/addition for faster edits.
51) added new utility methids methods for handling lists
52) Fixed lsits for correct rendering
53) Included EquationEditor inline/indocument editing functionalities.
54) Fixed various list issues, replace all list methods.
55) Fixes for to request focus on the html pane when creating new documens
56) Various fixes over lists, completely reworked reseting of lists
57) Fixes over table manipulation functions
58) Fixes in order to be handled properly float:left and display:inline
59) New rows and columns now respect previous cells formatting
66) Table cell properties dialog and Table properties dialog - introduced numeric limitations of the text input to numbers only
67) Now inserting table allows basic table properties to be specified directly
70) Updated document generation in order to handle properly nested fonts.
71) Fixed pasting problem - now pasting symbols is handled correctly
72) Image handling updated in order to improve performance when refreshing the document, resiolved some caching issues.

 

What's new in version 6.0

New features and fixes summary - changelog from 5.5 to 6.0

 

 

1) Added support for floating elements according to the CSS specification
2) Improved CSS support for borders for all elements
3) Improved CSS support for margins, padding etc.
4) Improved fonts matching through CSS declarations.
5) Included antialiasing support for rendering in order to mimic last generation browser behaviour
6) Improved overall layout and rendering
7) Resolved several performance issues
related to rendering of long pages
8) Improved memory management, reduced memory usage
9) Memory leaks issues resolved
10) Improved MS Office applications paste and integration support
11) Improved pasting from Outlook/Outlook express
12) Improved Oracle Forms support
13) Improved lists support
14) SWT integration support - full integration with Eclipse
15) Added support for image uploads and remote saving capabilities through ASP /ASP.NET
16) Added support for image uploads and remote saving capabilities through Cold Fusion
17) Added support for image uploads and remote saving capabilities through Perl scripts
18) Improved layout of elements with fixed widths and heights through css declarations
19) Improved XHTML compatibility and document generation
20) Improved XML compatibility and document generation
21) Now class names and tag id are generated correctly according to W3C specs.
22) Added support for arbitrary font size from the toolbar font size combo
23) Now the style combo on all dialogs and the toolbar renders the style preview
24) Hidden elements support added in the Preview section
25) Improved browsing capabilities in the Preview section
26) improved nested font tags handling
27) fixed some issues over dragging images
28) Improved aligned images rendering
29) UI refresh with adding some new icons to popup menus
30) Fixed some issues with line breaks/paragraphs and jre 1.3
31) Pasting plain text improved, automatic conversion of escape characters.
32) Subscript/superscript functionalities added as toolbar shortcuts
33) Improved document loading/ scripts and comments section handled better.
34) Added support for inline elements
- lists specified as inline will be rendered as expected
35) Added support for display as block for hyperlinks.
36) Nested inline tags now
will be generated back in the correct order.
37) resolved some issues with inline style generation
38) Included partial support for revealing tags while editing the document visually
39) Included support for revealing floating block tags according to their float orientation
40) TextArea and Select elements will not be reproduced anymore erroneously
41) Several fixes for the Browsable interface and the related ui components
42) Outdenting issue fixed -provideOutdentFeedback
43) Fixed pre issue - insertParagraph() , XHTMLWriter
44) Fixed issue with <pre> tags when there are nested <b> etc. tags
45) Resolved <pre> formatting issue with jre 1.4 XHTMLWriter
46) Pasting <pre> fixed pasteFormattedTextFromClipboard(). Needs to be updated in the Component version.
47) Fixed insertImage for inserting images in the <head>
48) Fixed pasting between list elements
49) Fixed image upload for local relative image paths (not only absolute)
50) Fixed save entire document tree to save also relative images paths (not only absolute)
51) Resolved several issues with the remote browsing and selecting absolute images and absoluteDocumentTranslationURL
52) Included better support for backgrounds.
53) Improved overall performance and stability.
54) Resolved some issues with table border colour and paragraph border colour property dialogs.
55) Resolved some issues with hyperlinks generation through the hyperlink property dialog
56) Resolved issue with the generation of style attributes inside end tags.
57) Form button elements now support html texts and labels
58) Form image button elements now will be displayed as expected as images
59) Resolved some issue with insertContent() and java 1.3
60) Inserting new row in a table will be done below the current row and not appended to the end of the table anymore.
61) Fixed some regression issues when inserting form elements.

 

What's new in version 5.5

New features and fixes summary - changelog from 5.0 to 5.5

 

 

1) setContent(String content) works automatically on visual and source editor modes
2) insertContent(String content) works automatically on visual and source editor modes
3) getContent() works automatically on visual and source editor modes
4) saveFile() and saveToLocation()
character encoding fixes.
5) loadInterfaceLanguageFile()
will seek first for an url and subsequently
in the class path for the file. This now allows not only URLs to be
specified as parameters but also resources.
6) loadStyleDescriptionsFile()
will seek first for an url and subsequently
in the class path for the file. This now allows not only URLs to be
specified as parameters but also resources.
7) Several fixes over XML rendering of the components.
Updated examples
section
- setXMLMode(boolean mode) - improved automatic XML grammar builder
- easier management of custom listeners on CustomXML components
8) Now is possible to type
also after tables near the body end.
9) Several fixes over image rendering and loading.
Now images with only one
parameter (width|height) specified will be rendered properly
10) Improvements over list management. Sublists supported - indent outdent
of lists. Improved usability support - TAB key will create sublists
depending on the selection and Shift+TAB will outdent the lists on the
selection.
11) Improved usability on tables -
tab key will move to the next cell on tab
or create new row if last.
12) Internationalization support
- improvements on bidi  languages, support
for western characters and numbers and Hebrew ion the same document.
13) improved rendering of tables,
enhanced background and borders rendering
of nested tables.
14) Applet Edition -
improved remote file dialog.
15) New examples for php scripts
for directory browsing for the remote file
dialog.
16) Several fixes over
charsets handling on open/save operations
17) Applet Edition -
fixes on loaded and embedded style definitions
18) Much improved the automatic  XML mode -
faster custom tags detection and
identification
19) Copy & paste oprations on custom XML
tags now works as expected in
automatic XML mode, previously it was working only in manual mode through
registerTag...
20) Fixes the issue with <b> + inline styles
21) Improved XML generation -
now the editor will respect the case of  the
custom tags - previously everything was converted in lower case which was
causing problems with some strict parsers.
22) support for <? xml ?> tags inside the document - now all these tags will
be preserved and treated as expected.
23) Improved behavior for backspace in lists and paragraphs. Now the text
flow will be continuous when passing from list to paragraph and vice versa.
24) Enterprise Component & Applet Edition - n
ow spellchecking dictionaries will be searched in the following sequence - URL, classpath automatically. This way you can easily add a fully qualified URL or if you prefer simply a resource located in the classpath, for the applet this could be also the document base.
25) Enterprise Component & Applet Edition -
improved spellchecking match capabilities
26) Component & Applet Edition -
now interface translation resources will be searched in the following sequence - URL, classpath automatically. This way you can easily add a fully qualified URL or if you prefer simply a resource located in the classpath, for the applet this could be also the document base.
27) Improved printing -
resolved some issues on printing tables, lists
28) Component Edition -
easy addition of custom browsing component through the new browsable interface.
29) Many improvements over general usability and general bihavior

 

 

1. New features summary in version 5.0 for both Component and Applet Editions

 

 

1. Entirely new package sferyx.javascript.engine which emulates a generic
javascript access to all document elements.  (Component Edition Enterprise only)

This will work both on Visual editor and Preivew automatically reflecting the state of the editor.

Now you can easily access all document and form elements in a javascript like manner.

Example on accessing form elements:

JavaScriptEmulatorEngine jsEngine=new JavaScriptEmulatorEngine(hTMLEditor1);

DocumentElement[] elements=jsEngine.getDocument().forms[0].elements;


for(int i=0;i<elements.length;i++)
{
System.out.println("------Element Start---------");
System.out.print(elements[i]);
System.out.println("------Element End---------");
}

To access easily the attributes as Strings you can now use directly
element.getAttributes() or element.getAttribute(attributeName)


Example on referencing the document elements by ID

JavaScriptEmulatorEngine jsEngine=new JavaScriptEmulatorEngine(hTMLEditor1);
DocumentElement element=jsEngine.getDocument().getElementById("3246");

System.out.println("------Element Start---------");
System.out.print(element);
System.out.println("------Element End---------");

 

Example on referencing the document elements by ID and adding Mouse listener to it.

JavaScriptEmulatorEngine jsEngine=new JavaScriptEmulatorEngine(hTMLEditor1);
DocumentElement element=jsEngine.getDocument().getElementById("3246");

JComponent component=SferyxUtilities.getJavaFormItemComponent(element,
hTMLEditor1);
System.out.println("Adding Mouse Listener to :"+component);
component.addMouseListener(this);

 

Example on referencing the document elements by Tag Name

JavaScriptEmulatorEngine jsEngine=new JavaScriptEmulatorEngine(hTMLEditor1);
DocumentElement[] elements=jsEngine.getDocument().getElementsByTagName("INPUT");

for(int i=0;i<elements.length;i++)
{
System.out.println("------Element Start---------");
System.out.print(elements[i]);
System.out.println("------Element End---------");
}

@See ReferencingDocumentElements.java example for major details.


2. New utilitiy methods added in the SferyxUtility package which eases accessing components through the document elements.

3. Fixes over the numbered/bulleted lists handling and deletion etc.

4. Now Source code pane
will also report document events through addDocumentListener

5. Improvements over the paragraph styles:
now styles are preserved over different paragraphs when typing.

6. New examples included in the examples folder.

7. htmlEditor.setBrowsingInPreviewEnabled(true);
(Component Edition Enterprise only) will enable browsing in the preview mode. Using this functionality the editor can be used also like a browser.

8. boolean isBrowsingInPreviewEnabled()
- returns the state of the browsing features (Component Edition Enterprise only)

9. htmlEditor.setVisualEditorFollowsPreview(true);
- will enable the visual editor to reflect changes in the preview. Otherwise the initial page will be preserved. (Component Edition Enterprise only)

10. boolean isVisualEditorFollowsPreview();
- returns the state of the visual editor and the browsing (Component Edition Enterprise only)

11. Preview mode only - new method: void setPreviewModeOnly(boolean mode);
- (Component Edition Enterprise only) sets the editor in preview mode only and defacto turns it in a browser component

12. htmlEditor.addFormElementsMouseListener(mouseListener);
- will forward mouse events fired on form elements to your mouse listener. This will work both in preview and edit modes.

13. void removeFormElementMouseListener();
- allows mouse listeners to be added to form components inside the HTML document. This way easily can be tracked the user input inside the form elements. Here is example of retrieving of the attributes:

@See the new example ButtonListenersExample.java in the examples folder.

AttributeSet attribs=htmlEditor.getAttributesForComponent((Component)mouseEvent.getSource(), htmlEditor.getSelectedEditorComponent());

This method allows to retrieve easily attributes such as name, id, style etc.

@See the new example ButtonListenersExample.java in the examples folder.

13. setForcedSpanGeneration(true); will force generation of span statements instead of font. In this case some extended style attributes may be added to the generated content.

14. boolean isForsedSpanGeneration();
will return the state of the span generation.

15. CSS no more throws exceptions under JRE 1.5

16. Paragraph Properties
now works as expected

17. Enabled preview hyperlinkListener mode - see the attached example for details

18. List deletion issue now fixed

19. Cursor does not disappea
r anymore after Shift+Enter with jre 1.5

20. New methods:

public void setSingleParagraphSpacing(boolean enabled);

public boolean isSingleParagraphSpacing();

This will cause single line spacing paragraph to be generated. Code will include 0 top margin style attribute. This is introduced to simulate the default MS Word behavior.

21. HTML Source document does not generate changedEvents during switching to the source tab. However events are reported correctly when the document is being edited.

22. Initial doc entity by default
now suppressed.

23. As-you-type spellchecker
added to the traditional one. (Component Edition Enterprise only)

24. Now the & in hyperlinks are generated properly
following the XHMTL specification.

25. Custom tags handling (Component Edition Enterprise only)
Now the editor will try to guess the various custom tags and provide the necessary visualization. You can customize easily the rendering of custom tags using style sheets.

This is quite simple now and is sufficient to do the following:

<style>

my_tag {background-color:red; }

</style>

<my_tag>
Some content here
</my_tag>


26. For custom empty tags you can specify (Component Edition Enterprise only) your own rendering components for each element, so you have the full control over this.

See the examples folder, custom tags folder - there are different examples:

CustomTagsExample.java which uses MyCustomEmptyTag.java for rendering , also the sample-menu.xhml shows how custom block tags can be rendered with style sheets.

27. Now also you can reveal all paragraphs within the document with reveal paragraphs button "¶"

28. Enhaced javascript engine, values of forms elements are dynamically updated and reflected in the "value" property.

29. New package sferyx.administration.xmlcomponents (Component Edition Enterprise only) Allows easy customization, access and handling of custom xml tags.

30. Default: all block tags will be rendered as inline tags (Component Edition Enterprise only)
- this will emulate span tags.

31. XML mode: all block tags will be rendered as blocks (Component Edition Enterprise only) - this will emulate rendering of xml documents inside a browser

This can be achieved by simply setting this method: CustomXMLTagsGrammarSpecification.setTreatAllBlockTagsAsBlocks(true); - this is a static method and will affect all running HTMLEditor instances.

32. Mixed Mode (Component Edition Enterprise only): in this mode you can indicate which tags should be rendered as block and which as inline tags.

33. Improved style sheet support - support for style ID

34. Improved internationaisation support, imporved support for different charsets and UTF.

35. Included support for all HTML/XHTML
character entities as follows:

36. HTMLEditorOracleBean wrapper class for easier integration within OracleForms

37. Newly introduced methods for adding and retrieving content by pieces for environments that do not allow large data chunks to be exchanged with the editor like Oracle Forms:

Insert operations

    public void openContentBuffer()

    public void appendContentToContentBuffer(String content)

    public void closeBufferAndInsert()

Retrieve operations

    public int getBodyContentLenght()  for bodyContent only

    public int getContentLenght() for entire content

    public String getBodyContentPortion(int offset, int length) for bodyContent only

    public String getContentPortion(int offset, int length) for entire content


Sample code:

Here we insert some content:
--------------------------------------
      htmlEditor.openContentBuffer();
      htmlEditor.appendContentToContentBuffer("This is ");
      htmlEditor.appendContentToContentBuffer("some sample content");
      htmlEditor.appendContentToContentBuffer(" long engouh to be tested...");


Close the buffer and insert it in the editor
--------------------------------------
     htmlEditor.closeBufferAndInsert();


 Retrieve the content in small pieces
---------------------------------------
     int length=htmlEditor.getBodyContentLenght();
     int portionLength=5;
     int i=0;
     while(i+portionLength<length)
     {
         System.out.println(htmlEditor.getBodyContentPortion(i,portionLength<length-i?portionLength:length-i));
         i=i+portionLength;
     }

38. New method public boolean isDocumentEdited() will tell you whether the document has been changed or not

39. New methods for setting up default paste operations:

public void setPreferredPasteOperation(int preferredPasteOperation)

public int getPreferredPasteOperation()

You can switch between the default oprations as follows:

PASTE_FORMATTED_TEXT=0; 
PASTE_PLAIN_TEXT=1; 
PASTE_FORMATTED_PARAGRAPHS_WITHOUT_STYLE=2; 
PASTE_FILTERED_FORMATTED_TEXT=3; 

That means you can do the following:

setPreferredPasteOperation(HTMLEditor.PASTE_PLAIN_TEXT);

or simply

setPreferredPasteOperation(1);

40. setEnabled(true|false) now works as expected - will disable/enable the whole editor at once. This can be used like java bean property in visual IDEs.

41. htmlEditor.setDocumentLenghtLimit(150, null);
will set the document lentght limit including the html tags will display the default message. 

or htmlEditor.setDocumentLenghtLimit(150, "You reached the limit");
will set the document lentght limit including the html tags and will display custom message.

42. WebDAV publishing support for the applet edition.
(Applet Edition only) See <PARAM NAME="publishContentUsingWebDAV" VALUE="true"> for details

43. Now using WebDAV you can publish both content and images  (Applet Edition only)  In order to enable direct save to WebDav enabled server you will need to specify the following parameters: 

document.writeln('<PARAM NAME="saveURL" VALUE="http://localhost/dav/test.htm">');
document.writeln('<PARAM NAME="useSaveAsSaveRemote" VALUE="true">');
document.writeln('<PARAM NAME="publishContentUsingWebDAV" VALUE="true">');
document.writeln('<PARAM NAME="uploadedObjectsTranslationPath" VALUE=http://localhost/dav/images">'); 

"saveURL" - this is where the content of the page is placed. The file name will be used as file name for saving in webDav. If you need this to be set dinamically you can use also the following javascript function: You can use this to set easily the save location for different files like this:

 if(window.document.htmleditor!=null)
 {
     window.document.htmleditor.start();
     window.document.htmleditor.startVisualEditor();
     window.document.htmleditor.setSaveLocation(https://yoursavelocationhere);
     window.document.htmleditor.openLocation(" https://somelocation ");

Use setSaveLocation *AFTER* the start() method in order to be sure it ovverrides evetually the parameter setting. "uploadedObjectsTranslationPath" will be used for to translate the uploaded images in server side paths. Without it the images may not be translated properly. It will be like the directory where the images are placed. Make
sure you have granted the necessary writing privileges there. 

44. Sferyx EquationEditor if installed will work also in external window mode for the Applet Edition. 

45. The RemoteFileBrowser will not cache its content anymore.(Applet Edition only)  Now the page will be reloaded each time it is shown.

46. Sferyx EquationEditor will be working properly also (Applet Edition only)  in Mozilla/FireFox on Mac. 

47. Resolved some integration isses with ColdFusion file uploads. 

48. Resolved some issues related to caching uploaded images.

49. Added a new javascript function which is called setSaveLocation(String url_location) which allows the saveURL to be set dinamically through javascript (Applet Edition only).

You can use this to set easily the save location for different files like this:

if(window.document.htmleditor!=null) 

   window.document.htmleditor.start(); 
   window.document.htmleditor.startVisualEditor(); 
   window.document.htmleditor.setSaveLocation(https://yoursavelocationhere); 
   window.document.htmleditor.openLocation(" https://www.ridgefield.sdr.slb.com/Travel/Ridgefield/restaurants.html "); 

50. Added a new javascript functions  setUploadedObjectsTranslationPath(String urtl) and setExternalStyleSheetLocation(String urtl) which will allow dynamic control of the translation path and the loaded style sheets.

51. New method: public void loadStyleDescriptionsFile(final String fileURL)  This method allows sample style descriptions to be loaded for use in the dropdown combo box. That means the style description will be displayed to the user instead of the style class names which will result in more user friendly editing experience. See the users manual for the file format

52. New methods for handling document tree (Component Edition only)

public void setSaveEntireDocumentTree(boolean saveEntrireDocTree)

Returns whether the entire document tree should be saved upon saving. This means that all external objects can be moved to a specific subfolder relative to the document path
 
public boolean getSaveEntireDocumentTree()

This method is used to set the folder name where all linked objects should be moved upon save. This is used in conjuction with saveEntireDocumentTree(). This will cause all linked objects to be moved in a relative to the document folder which will contain all external objects - images, link targets etc.

public void setLinkedObjectsFolderName(String linkedObjectsFolderName)

This method is used to retrieve the folder name where all linked objects should be moved upon save. This is used in conjuction with setSaveEntireDocumentTree(). This will cause all linked objects to be moved in a relative to the document folder which will contain all external objects - images, link targets etc.

public String getLinkedObjectsFolderName()

Will save the entire documnet tree in a relative folder under the document path. All external objects will be copied to that location. Default relative path is "images" - can be changed using setLinkedObjectsFolderNAme(String name)
 
public boolean saveEntireDocumentTree() will save the entire document tree as specified in the methods described above.

53. Style classes in the quick style dropdown on the toolbar will be ordered alphabetically.

54. New style class comboboxes
on each property dialog allows easy access to the style classes for all document elements. 

55. Greatly enhanced memory management - now the memory management is more effective, resulting in a faster performance and reduced memory consumption.

56. Support for editing of attributes of custom objects. Custom property dialogs can be specified easily directly through the object attributes inside the HTML page. If not specified, generic property dialog is displayed allowing basic attribute editing.

57. Support for edit time display of java applets and flash movies. Flash movies and applets are recognized automatically through the classid attribute and visual representation is displayed accordingly.

58. Simplified support for changing the editor icons. Now through setSharedIcon(String icon name, Image icon) icons can be easily replaced

59. Popup menu items now can be suppressed easily through applet parameters. This way for the applet edition the popup menu can display only desired items.

60. Improved UTF-8 document handling - load & save - fixed several issues with character conversion upon loading and saving. Now all unicode documents should be handled proeprly.

 

Feature highlights

 

New Custom rendering and support for custom property dialogs for objects - now can be easily specified custom rendering options and property dialogs for custom objects.All object attributes can be edited using your own property dialogs.
New Editing support for flash movies - now java applets will be displayed for editing. You can easily set the different object attributes.
New Editing support for java applets - now java applets will be displayed for editing. You can easily set the different applet attributes.
New Reveal paragraphs - new toolbar button allows paragraphs to be revealed for easier editing of documents..
New As-you-type spellchecker - now the spellchecking is performed when you type.Various suggestion options are presented to the user. Now loading of external dictionaries is implemented in a separate thread so it does not slow the applet loading and the spellcheck starts immediately when the dictionary is loaded and ready.

 
New Paragraph properties dialog - now is possible to change the paragraph properties easily through the new intuitive Paragraph properties dialog. You can set background color, border color, top, left, right, bottom margins and also line spacing and first line indenting.
New Image preview - for local file browsing is possible to  preview  the images before inserting them. 
New Automatic hyperlinking as you type - e-mail addresses and URLs will be hyperlinked automatically as you type.  
New Numerous copy and paste options to choose from - to satisfy the needs of different appliances, have been introduced a wide number of copy and paste options in order to allow the right content to be used and rendered.  
New Table and cell border colors - now all users can easily select different border colors for tables and table cells. Each cell can have its own border and  table border can be chosen as well.
New Improved internationalization support - Cyrillic- now different character sets are rendered properly. Enhanced Cyrillic support.
New Improved internationalization support - Arabic - now different character sets are rendered properly. Enhanced Arabic support. Full support for right-to-left writing and rendering.
New Improved internationalization support Chinese, Japanese and Korean - now different character sets are rendered properly. Enhanced Chinese, Japanese and Korean support. 

 
New Visual resizing of images- now is possible to resize images simply by dragging them. Now you can easily adjust the size of the picture directly inside the document - viewing immediately the results. The document structure is updated in real time the reflect the changes immediately. 

 

 
  Visual resizing of table rows - now is possible to resize table rows and columns simply by dragging them. Now you can easily adjust the height of the table rows directly inside the document - viewing immediately the results. The document structure is updated in real time the reflect the changes immediately. A ruler is shown while dragging to represent the exact resize of the table rows.

 

 
Visual resizing of table columns - now is possible to resize table rows and columns simply by dragging them. Now you can easily adjust the width of the table columns directly inside the document - viewing immediately the results. The document structure is updated in real time the reflect the changes immediately. A ruler is shown while dragging to represent the exact resize of the table columns.

 
Easy table  columns selection - now rows and columns can be selected from the borders of the table. Now you can easily select table columns and rows with a single click when the respective cursor is shown. You can adjust all properties of the selection using the popup menu or the shortcut toolbar buttons.

 
Easy table row selection - now rows and columns can be selected from the borders of the table. Now you can easily select table columns and rows with a single click when the respective cursor is shown. You can adjust all properties of the selection using the popup menu or the shortcut toolbar buttons.

 
List properties - now on the context menu appear also list properties when ordered/unordered list is detected. You can choose from roman numbers, various type of bullets, letters etc. You can also select the starting point of your lists.

 
Quick Style - toolbar combo box for quick style application

 

Table properties toolbar buttons - all table related functionalities now are exported as toolbar buttons

 

2. New features summary from 4.5 update

 

  • New Improved style sheet loading for the Component Edition through the loadExternalStyleSheet.
  • New Improved compatibility with FarEast char sets and internationalization support. This update includes examples for rendering of Chinese fonts and
    pages on Western workstations without the need to load fonts explicitly before the startup such as renaming the font.properties file etc. Please
    refer to the ChineseRenderingExample.java in the examples folder.
  • New Bookmarks Property Dialog. Now is possible to insert your own bookmarks inside the text and after that insert references to them through the hyperlinks. This is available through the Menu --> Insert--> Insert Bookmark
  • New Source Editor now renders properly the Chinese chars if the correct Chinese font is set up. Please refer to the ChineseRenderingExample.java in the examples folder.
  • New Table border color - now is possible to set the table border color separately from the table cells.
  • New Table cell border color - now is possible to set the border color of each
    cell separately using the appropriate style attributes.
  • New Paste formatted text menu item now is associated with the new HTMLFilter class in order to provide filtering of the pasted content. In this release is implemented basic filtering mechanism where are filtered all layout tags such as tables, head, body etc. in order to leave basically formatted text. Future implementation will provide a way to parameterize the filtering process.
  • New Various fixes and improvements over the XHTML generation.
  • New Automatic hyperlinking of URLs and e-mails while typing
  • New Improved image resize features
  • New Image preview in browse dialogs
  • New Extended paste features - paste special functionalities
  • Memory leaks fixes
  • New Javascript call mechanism updated in order to workaround IE issues.
  • New JRE 5.0 CSS compatibility issues resolved
  • New TAB key assignments moved to JS function calls. Please refer to the transferFocusOnTAB parameter.
  • New Component Edition Enterprise transparency features introduced
  • New Improved internationalization support
  • New Fixes over save remote and variable formats
  • New Updated quick style sheet combo in order to load style classes properly on startup
  • New Enhanced Cyrillic support
  • New Possibility to save entire pages to a folder and include all linked objects in it
  • New Javascript function focus()
  • New Parameter defaultCharset
  • New Parameter forceInternalJSExecution
  • New Parameter generateUniqueImageFilenames
  • New Parameter transferFocusOnTAB
  • New Possibility to treat font sizes as points
  • New Improved bullets/numbering lists handling
  • New Paragraph properties dialog
  • New Support for line spacing, paragraph margins
  • New First line indentation implemented

 

 

Features inherited from 4.0 update

 

  • New Visual resizing of images - now is possible to resize images simply by dragging them.
  • New Visual resizing of table rows - now is possible to resize table rows and columns simply by dragging them.
  • New Visual resizing of table columns - now is possible to resize table rows and columns simply by dragging them.
  • New Easy table  columns selection - now rows and columns can be selected from the borders of the table.
  • New Easy table row selection - now rows and columns can be selected from the borders of the table.
  • New List properties dialog - now on the context menu appear also list properties when ordered/unordered list is detected
  • New Toolbar combobox for quick style application
  • New Toolbar buttons - all table related functionalities now are exported as toolbar buttons
  • New Improved ordered /unordered list handling - now the toolbar buttons keep track of whether there is a list or not. Subsequent pressing of the toolbar button interrupts the list as most of the word processing apps do.
  • New Improved overall stylesheet rendering
  • New Improved paste handler - now new paragraph should not be generated any more. When text is pasted is should remain on the same line without
    generating new paragraphs any more.
  • New Span sections with styles are rendered properly
  • New Possibility to create nested oredered/unordered lists using increase indent toobar button.
  • New Improved drag & drop operations - now is indicated the drop position and the drag & drop is much more accurate.
  • New Fixed the issue with the onclick handlers when using the Image Properties and Hyperlink properties dialogs.
  • New Parameter for disabling code indenting causing empty spaces and new lines which disturb rendering in IE: disableIndentingAndLineBreaks=true
  • New If this is specified no indenting will be generated within the table cells which will prevent the issue rendering of small cells but may produce not
    well formatted code. The default value is false.
  • New Improved performance when switching to source view for large documents
  • New Upload Multipart content functionalities modified in order to be fully compatible with PHP and ASP server side scripts and now the posted content is easily accessible by PHP's files variable.
  • New Span sections are now generated correctly.
  • New Parameter : remoteFileDialogWidth  - see applet parameters for details (Applet Edition)
  • New Parameter : remoteFileDialogHeight - see applet parameters for details (Applet Edition)
  • New Parameter : remoteFileDialogResizable - see applet parameters for details (Applet Edition)
  • New Parameter : disableIndentingAndLineBreaks - see applet parameters for details (Applet Edition)
  • New Parameter : preserveComments - see applet parameters for details (Applet Edition)
  • New Parameter : popupMenuVisible - see applet parameters for details (Applet Edition)
  • New Parameter : useSaveAsSaveRemote - see applet parameters for details (Applet Edition)
  • New Parameter : saveEntireFile - see applet parameters for details (Applet Edition)
  • Full internationalization support. Now the entire editor interface can be translated in any language. See loadInterfaceLanguageFile
  • Image alignment and text wrapping - can be enabled/disabled for backward compatibility
  • Internal Drag & Drop operations. Move with drag & drop, copy with Ctrl+Drag & Drop
  • Source code mode only operation - Enterprise Edition
  • Possibility to change the font rendering size in order to help people with visual impairments - see fontRenderingZoomLevel parameter for details
  • Powerful HTML filter for cleanup of pasted MS Word content - the newly pasted content is rendered almost equally to Word with standard HTML tags see  smartWordContentHanldingEnabled parameter for details
  • Support for inline CSS declaration - can be enabled/disabled see forceInlineCSSGeneration for details
  • Possibility to show only the body content in the source editor instead of entire document showBodyContentOnlyInSource
  • Now stylesheets  defined through <style> tags can be placed anywhere in the document.
  • Popup menu for the source editor for easy cut/copy/paste operations
  • Instant hypelink/font size/foreground applying to the current word even without selection.
  • Improved overall Mac integration.
  • Improved layout and rendering
  • Now javascript buttons can be added through applet parameters.
  • geSelectedContent() javascript function
  • Improved handling of unknown/XML tags
  • Now the initial content can be set as initialURLEncodedContent in order to avoid interferences with javascripts and html tags. This way even very complex pages can be set through server-side scripts directly as applet parameter. See initialURLEncodedContent parameter
  • Automatic upload of all local images and objects to the server as multipart form encoded content. All images, hyperlink targets - documents, images pages, table/cell/page backgrounds etc. will be uploaded automatically if desired to the server as multipart/form-data. All images pasted from MS Word, Excel etc. will be uploaded to the server. Automatic conversion of the image and hyperlink URLs before uploading to the server in order to be resolved correctly.
  • Automatic upload of all local images and objects to the server as multipart form encoded content. All images, hyperlink targets - documents, images pages, table/cell/page backgrounds etc. will be uploaded automatically if desired to the server as multipart/form-data. All images pasted from MS Word, Excel etc. will be uploaded to the server. Automatic conversion of the image and hyperlink URLs before uploading to the server in order to be resolved correctly.
  • Copy formatting brush tool available - now it is easier to copy formatting of the text.
  • New Headings combo box for setting the heading style of the text
  • Full backward compatibility with java 1.3 - full support for all browsers on Mac OS X. See the updated  Compatibility section.
  • Full support for java-javascript communication on platforms where missing through Sferyx LiveConnectProxy
  • Mixed mode file browsing - now is possible to use simultaneously local and remote file browsing
  • Improved remote browsing - possibility to specify the text of the remote links/objects to be displayed
  • Improved layout and document rendering
  • Possibility to specify reduced font lists through the applet parameters
  • Possibility to specify font sizes through applet parameters.
  • Possibility to integrate custom objects inside the documents and custom property dialogs (Enterprise Edition)
  • Possibility to specify font sizes through applet parameters.
  • Possibility to specify the initial content as URLEncoded applet parameter - this way setting of the initial content is much easier and do not require any javascript etc.
  • Full support for multiple instances of the editor on the same page.
  • Now is possible to add custom javascript buttons on the toolbars - buttons which invoke custom javascript functions from the document.
  • Two different remote browse location parameters for hyperlinks and images, new parameter remoteLinksBrowseLocation
  • Improved table handling support
  • Entirely renewed copy & paste handler
  • Improved image selection - cut, copy, paste, attributes
  • Keyboard shortcuts for the most used actions such as bold, italic etc.
  • Improved ordered/unordered lists management
  • Possibility to wrap the line breaks into paragraphs or html line breaks
  • Improved paragraph alignment features
  • Improved paragraph indenting
  • New javascript functions added
  • New applet parameters added
  • Full style sheet editing support - style classes can be applied through the property dialogs to each element - font, tables, images, all form elements etc.
  • Ability to specify external style sheet to be loaded through applet parameters
  • Spellchecker component 
  • Replaceable dictionary functionality for the spellchecker
  • Custom dictionary functionality (add new words to dictionary) for each user
  • Possibility to mark sections/elements of the document as readonly and not editable
  • Optional built-in full featured Visual FTP component

 

 

Basic Features Matrix:

Features

Light Professional  Enterprise
Open, save HTML/XHTML files Available Available Available
Remote file browser dialog - permits easily browsing of files on the server side with minimum adapting of your server scripts - saves a lot of work for javascripts etc. 
Different remote browse locations for images and links
Available Available Available
Two mode operation of the file browsing - local & remote - can be set easily via applet parameters. Available Available Available
Full Drag & Drop of formatted content directly into the edited document from external applications such as Word, Excel, Front Page etc. Available Available Available
Thawte signed applet provides full copy & paste operations from external applications such as Word, Excel, Front Page etc. Available Available Available
Loads & renders XHTML files, outputs transitional XHTML files. Available Available Available
Support for loading external CSS through the LINK tag, fixed the CSS behavior in the Professional versions. Available Available Available
Automatic detection of the page encoding and full rendering/editing both in WYSIWYG and HTML source modes of international char sets such as Greek, Cyrillic, Arabic, Chinese etc. Full list here Available Available Available
Support for setting of default char set if the page or the fragments of pages does not contain the char set information - setDefaultCharset(String char set). Available Available Available
Insert symbol dialog - support for inserting of all possible symbols & special characters. Available Available Available
Font size, family and foreground color Available Available Available
Font style (plain, italic, bold) Available Available Available
Extended Font chooser for adding underline, strikethrough, superscript, subscript font attributes. Available Available Available
Support for setting the page character encoding through the page properties dialog. Available Available Available
Improved image selection - the selected images are highlighted. Easy one click copy & paste Available Available Available
Improved table selection - through the CTRL + click - selecting/deselecting of table cells. Available Available Available
Insert hyperlink interface for inserting hyperlinks over the selected text through javascript. Available Available Available
Page properties: background color, background picture, title,  text color, hyperlink color etc. Available Available Available
Tables design and properties: background color, background picture, size, alignment, border etc. Available Available Available
Tables cell design and properties: background color, background picture, size, alignment etc. Available Available Available
Support for nested tables. Available Available Available
Invisible tables (with border 0) are shown as dashed lines. Available Available Available
Insert  table rows, insert table columns, split and merge table cells. Available Available Available
Insert images - from a remote location or using a file dialog. Available Available Available
Image properties: size, border, hyperlink,  alternative text, alignment, spacing etc. Available Available Available
Copy, paste of all document elements. Available Available Available
Create and modify HTML Forms: insert new forms and form elements, buttons, checkboxes, radio buttons, text fields, select fields (dropdown menus and lists), text area, image buttons etc. Available Available Available
Form boundaries are shown as a dashed line. Available Available Available
Creation of hyperlinks in the text or images. Available Available Available
Bulleted lists. Available Available Available
Numbered lists. Available Available Available
Increase / decrease indent of paragraphs. Available Available Available
Paragraph alignment: left, right, centered. Available Available Available
Full undo/redo support. Available Available Available
Printing support. Available Available Available
Adaptable popup menu on the basis of the underlying element. Available Available Available
Built-in toolbars, main menu, status bar etc. which can be enabled or disabled. Available Available Available
Search and replace functionalities, preserving the document formatting.   Available Available
Built-in HTML source editor with syntax highlighting. Available Available
Built-in preview section for previewing of the edited documents.   Available Available
Full Internationalization support Available Available Available
Possibility to adjust the font rendering size Available Available Available
MS Word paste / improved rendering  filter Available Available Available
Aligned images text wrapping Available Available Available
Automatic upload of all local images and hyperlink targets to the server as multipart form data Available Available Available
Ability to add javascript buttons to the editor toolbars to invoke javascript functions from the document Available Available Available
Heading selection for titles etc. Available Available Available
 Copy formatting tool Available Available Available
Full backward compatibility with java 1.3 and all browsers on Mac OS X Available Available Available
Mixed mode Local & Remote Browsing and improved remote browsing Available Available Available
Full style sheet editing support - style classes can be applied through the property dialogs to each element - font, tables, images, all form elements etc. Available
Ability to specify external style sheet to be loaded through applet parameters     Available
Spellchecker component  Available
Replaceable dictionary functionality for the spellchecker     Available
Custom dictionary functionality (add new words to dictionary) for each user Available
Possibility to mark sections/elements of the document as readonly and not editable     Available
Built-in full featured Visual MathML Equation Editor component (Sferyx Equation Editor) Optional Optional Optional
Built-in full featured Visual FTP component (Sferyx FTP component) Optional
Built-in full featured Visual CSS Editor component (Sferyx CSS Editor) Optional
Built-in PDF Export component (Sferyx PDF Export Add-on) Optional Optional Optional

 

 

Users Manual for use as JavaBean

The Sferyx JSyndrome HTMLEditor Component Edition has been released in two versions Light and Professional. If you intend to use it as component within an application then you can consult the javadoc documentation supplied with the product - it can be inserted as visual java bean into the editing environments such as Forte for Java, JBuilder or similar. It is sufficient to add the jar file to the component palette of the IDE and the icon of the HTMLEditor should appear on the toolbar. The demo version is restricted and cannot be customized, it also takes automatically the default system look & feel. The retail versions instead  feature different visual options for full customization of the user interface such as showing/hiding of the main menu, toolbars, popup menu, source editor, preview etc, also inserting of initial HTML content etc.

You can consult the complete javadoc documentation supplied with your retail product. However some of the mostly used methods during customization operations are:

 

Available packages:

 

Packages

sferyx.administration.editors Provides the general classes for advanced HTML editing.
sferyx.administration.editors.filechooser Provides supporting functionalities for file browsing and various previews.
sferyx.administration.editors.parser Provides the parser capabilities for the editor
sferyx.administration.printing Contains all classes related to the printing capabilities of the editor
sferyx.administration.search Search functionalities for the editor
sferyx.administration.searchreplace Search & replace functionalities for the editor
sferyx.administration.spellyx Spellchecking capabilities (Enterprise Version Only)
sferyx.administration.xmlcomponents XML mode support classes (Enterprise Version Only)
sferyx.javascript.engine Basic javascript emulation functionalities for accessing the document elements. (Enterprise Version Only)

 

The entire API contains hundreds of different methods - some of them are:

Methods

 void addDocumentListener(javax.swing.event.DocumentListener listener)
          This method allows DocumentListereners to be added directly to the editor.
 void addFormElementsMouseListener(java.awt.event.MouseListener listener)
          This method is could be used to attach listeners to HTML Form elements such as buttons, lists and drop down menus.
 void alignCenterParagraph()
          When invoked, aligns the selected text centrally
 void alignLeftParagraph()
          When invoked, aligns the selected text to the left
 void alignRightParagraph()
          When invoked, aligns the selected text to the right
 void appendContentToContentBuffer(java.lang.String content)
          Appends new string to existing content buffer.
 void applyStyleClass(java.lang.String styleClass)
          Applies style class to the selection.
 void changeFontBackground(java.awt.Color newColor)
          Sets the selection font foreground
 void changeFontFamily(java.awt.Font newFont)
          sets the selected text's font family.
 void changeFontFamily(java.lang.String fontFamily)
          sets the selected text's font family.
 void changeFontForeground(java.awt.Color newColor)
          Sets the selection font foreground
 void changeFontSize(int newFontSize)
          Sets the selected text's font size.
 void closeBufferAndInsert()
          Closes the existing content buffer and inserts its content inside the editor.
 javax.swing.JButton createMenuButton(javax.swing.JToolBar toolbar, java.lang.String tooltipText, java.lang.String actionCommand, javax.swing.ImageIcon iconName)
          Creates new button and adds it to given toolbar.
 javax.swing.JButton createMenuButton(javax.swing.JToolBar toolbar, java.lang.String tooltipText, java.lang.String actionCommand, java.lang.String iconName)
          Creates new button and adds it to given toolbar.
 javax.swing.JButton createMenuButtonFromAction(javax.swing.JToolBar toolbar, java.lang.String tooltipText, java.lang.String actionName)
          Creates new button from given action name from the getActions() in HTMLEditorKit and adds it to given toolbar.
 void createNewDocument(java.lang.String text)
          Creates new document with the string content and places it into the editor.
 void createNewDocument(java.lang.String text, java.net.URL docBase)
          Creates new document with the string content and document base and places it into the editor.
 void decreaseIndent()
          Decreases the indent of the paragraph at the caret position
 void deleteSelectedTableCells()
          Deletes the selected table cells.
 java.lang.String dumpContentPortion(int start, int end)
          Returns the selected portion of the document as formatted text skipping paragraphs tables etc.
 java.lang.String dumpDocElement(javax.swing.text.Element elem)
          Returns the entire content of the element as HTML string.
 java.lang.String dumpElementContent(javax.swing.text.Element elem)
          Returns the content of the element as HTML string without the tags of the passed element.
 java.lang.String dumpElementDocumentPortion(javax.swing.text.Element elem)
          Returns as HTML String the document portion contained within a given element.
 java.lang.String dumpSelectedContentPortion()
          Returns as HTML String the selected document portion.
 java.lang.String dumpSelectedDocumentPortion()
          Returns as HTML String the selected document portion.
 java.lang.String dumpSelectedElementContent(javax.swing.text.Element elem)
           
 boolean exit()
          Invoked when the Exit menu item is pressed on the file menu.
protected  void followPreviewInSourceEditor()
          This method is used to force the Source editor to be updated with the content of the preview.
protected  void followPreviewInVisualEditor()
          This method is used to force the Visual editor to be updated with the content of the preview.
 java.lang.String getAdditionalQueryParameters()
          Returns the additional query parameters to be used when sending the doucment via HTTP POST method
 java.lang.String getBodyContent()
          Returns the content of the editor as a part of HTML document not entire page.
 int getBodyContentLenght()
          Returns the lenght of the HTMLDocument in the editor - this will include all the HTML markup
 java.lang.String getBodyContentPortion(int offset, int length)
          Returns portion of the body content - this should be used in environments where is impossible the whole content at once due to some limitations such as the case of Oracle Forms.
 java.lang.String getBodyUnicodeContent()
          Returns portion of the body content as unicode chars.
 java.lang.String getBodyUnicodeContentFromPreview()
          Returns portion of the body content from the Preview Section.
 java.lang.String getContent()
          Gets the entire content of the document as an HTML string.
 int getContentLenght()
          Returns the length of the content - it will include in the count also all the HTML markup
 java.lang.String getContentPortion(int offset, int length)
          Returns portion of the content - this should be used in environments where is impossible the whole content at once due to some limitations such as the case of Oracle Forms.
 java.lang.String getDefaultCharset()
          Returns the default charset for this document.
 int getDocumentSizeLimit()
          Returns the maximum allowed document length if any has been set.
 javax.swing.JToolBar getEditingToolBar()
          Returns the toolbar that contains all the shortcut buttons for open, save etc.
 javax.swing.ImageIcon getEditorIcon(java.lang.String iconName)
          Returns as ImageIcon one of the loaded images for the buttons and the menus by name.
 int getEditorState()
          Returns the current state of the editor.
 boolean getExitOnExit()
          Return if the editor should exit using System.exit(); when the user presses Exit on the File menu.
 java.lang.String getExternalDictionary()
          Returns the URL of the external dictionary used for spellcheking.
 java.lang.String getExternalStyleSheetLocation()
          Returns the URL as string of the external style sheet loaded and used to apply style classes to the document elements
 javax.swing.JFileChooser getFileDialog()
          Returns the file dialog used to load and save the files.
 javax.swing.JToolBar getFormattingToolBar()
          Returns the toolbar that contains all the formatting buttons such as bold, italic etc.
 javax.swing.JEditorPane getInternalJEditorPane()
          Returns the internal JEditorPane used for editing and rendering in the visual editor.
 java.lang.String getLinkedObjectsFolderName()
          This method is used to retrieve the folder name where all linked objects should be moved upon save.
 javax.swing.JTabbedPane getMainTabbedPane()
          Returns the main tabbed pane that contains all editors - visual, source code, preview - allows full customization.
 java.lang.String getPlainText()
          Gets the entire content of the document as an plain text string.
 int getPreferredPasteOperation()
          Returns the preferred paste operation to be used by the editor.
 javax.swing.JEditorPane getPreviewJEditorPane()
          Returns the internal JEditorPane used for preview and rendering in the visual editor.
 java.lang.String getRelativePath(java.lang.String imageURL)
          Returns the passed path as a path relative to the document base (docbase) - used for inserting of images, hyperlinks etc.
 java.lang.String getRemovedMenus()
          Returns the menus removed previously from the editor.
 java.lang.String getRemovedToolbarItems()
          Returns the previously removed toolbar items.
 boolean getSaveEntireDocumentTree()
          Returns whether the entire document tree should be saved upon saving.
 java.lang.String getSelectedEditor()
          Returns which editor is currently selected.
 javax.swing.JEditorPane getSelectedEditorComponent()
          Returns the currently selected editor component - visual, source code, preview.
 java.lang.String getSelectedPlainText()
          Returns the selected content as plain text
javax.swing.ImageIcon getSharedIcon(java.lang.String iconName)
          Returns a shared icon which can be used for creating new items with the icons already preloaded Shared icon names are as follows: table-insert, insert-image, undo, redo, spellchecker, hyperlink, font-properties, increase-indent, decrease-indent, font-foreground, copy-to-clipboard, paste-from-clipboard, cut-to-clipboard, font-bold, font-italic, font-underline, left-justify, center-justify, right-justify, insert-ordered-list, insert-unordered-list, file-open, file-save, file-new, file-print, delete-cells, merge-cells, split-cells, form, text-field, text-area, check-box, radio-button, push-button, list
 javax.swing.JPopupMenu getSourceEditorPopupMenu()
          Returns the source editor popup menu.
 java.util.Vector getStyleClasses()
          Returns the array of style classes imported into the editor from style sheets.
 java.lang.String getUnicodeContent()
          Returns the content of the editor as unicode string.
 java.lang.String getUnicodeContentFromPreview()
          Returns the content of the editor as unicode string.
 boolean getUploadContentAsMultipartFormData()
          Returns whether the content of the editor should be uploaded as multipart/form data with all local images bundled inside.
 java.lang.String getUploadedObjectsTranslationPath()
          Returns the translation path to be used before uploading the document content as multipart/form data.
 java.lang.String getVariableName()
          Returns the name of the variable to be used when sending the document content via HTTP POST method.
 javax.swing.JPopupMenu getVisualEditorPopupMenu()
          Returns the popup menu that appears inside the visual editor.
 void increaseIndent()
          Increases the indent of the selection
 void insertBreak()
          Inserts line break <br/> at the caret position.
 void insertCheckBox()
          Inserts new checkbox form field.
 void insertContent(java.lang.String content)
          Will insert the specified HTML content at the caret position
 void insertContentAsynchronously(java.lang.String content)
          This method is used to insert content into the editor without the synchronization locks.
 void insertDate()
          Inserts the current date at the caret position.
 void insertFormField(java.lang.String fieldHtmlString, javax.swing.text.html.HTML.Tag filedTagType)
          Inserts new form field asspecified into the passed string.
 void insertHorizontalLine()
          Inserts new horizontal line at the caret position.
 void insertImage(java.lang.String imageURL)
          Inserts new image at the caret position into the document given the URL of the image as string.
 void insertImageButton(java.lang.String imageURL)
          Inserts new image button at the caret position using the string URL passed for the image.
 void insertLink(java.lang.String text)
          Inserts new hyperlink over the selected text given the URL of the hyperlink as string.
 void insertOrderedList()
          Inserts ordered list at the caret position.
 void insertParagraph()
          Inserts new paragraph at the caret position.
 void insertPlainText(java.lang.String content)
          Inserts plain text into the editor at the caret position.
 void insertPushButton()
          Inserts new pushbutton form field.
 void insertRadioButton()
          Inserts new radiobutton form field.
 void insertSelectFormField()
          Inserts new select (dropdown menu/list) form field.
 void insertSymbol(int unicodeChar)
          Inserts new unicode symbol at the caret position.
 void insertTable(int cols, int rows)
          Inserts new table at the current caret position, using the passed number of columns and rows.
 void insertTableColumn()
          Inserts new table column in the table at the caret position or does nothing if there is no table
 void insertTableRow()
          Inserts new table row in the table at the caret position or does nothing if there is no table
 void insertTextArea()
          Inserts new textarea form field.
 void insertTextField()
          Inserts new textfield form field.
 void insertUnorderedList()
          Inserts unordered list at the caret position.
 void insertUpdate(javax.swing.event.DocumentEvent documentEvent)
           
 void insertWhiteSpace()
          Inserts white space at the caret position.
 boolean isAsYouTypeSpellcheckingEnabled()
          Returns whether the as-you-type spellchecking is enabled or not.
 boolean isBrowsingInPreviewEnabled()
          Returns whether the browsing in the preview section is activated.
 boolean isDocumentEdited()
          Returns whether the editor has been changed or not.
 boolean isEditorTransparent()
          Returns is the editor has been set to be transparent or not.
 boolean isEnabled()
           
 boolean isLocalFileBrowsingDisabled()
          Returns whether the local file browsing is enabled
 boolean isMainMenuVisible()
          Returns true/false if the main menu (File, Eddit, View etc.) is visible and active or not on the editor.
 boolean isPopupMenuVisible()
          Returns true/false if the popup menu is visible and active or not on the editor.
 boolean isPreviewModeOnly()
          Returns the state of the editor - if is set PreviewModeOnly to true the editor will run only with the preview visible and will work mostly like a browser.
 boolean isPreviewVisible()
          Returns if the preview section is visible and active or not on the editor.
 boolean isShowParagraphsEnabled()
          Method for showing the paragraph marks.
 boolean isSingleParagraphSpacing()
          Returns whether single paragraph spacing generation is enabled or not.
 boolean isSourceEditorVisible()
          Returns true/false if the source editor is visible and active or not on the editor.
 boolean isStatusBarVisible()
          Returns true/false if the status bar is visible and active or not on the editor.
 boolean isToolBarVisible()
          Returns true/false if the toolbar is visible and active or not on the editor.
 boolean isVisualEditorFollowsPreview()
          Returns whether the Visula editor will follow preview when browsing in preview is enabled
 boolean isXMLMode()
          Returns whether the editor will run in XML detection mode.
 void loadExternalStyleSheet(java.lang.String externalStyleSheetLocation)
          Loads external style sheet specified by the given URL and adds its content to the existing style classes.
 void loadExternalStyleSheet(javax.swing.text.html.StyleSheet styleSheet, java.lang.String styleSheetURL)
          Loads external style sheet specified by the given URL and adds its content to the existing style classes.
 void loadInterfaceLanguageFile(java.lang.String fileURL)
          Loads and renders the interface language file which should be used to localize the UI of the editor
 void loadStyleDescriptionsFile(java.lang.String fileURL)
          This method allows sample style descriptions to be loaded for use in the dropdown combo box.
 void mergeSelectedTableCells()
          Merges the selected table cells.
 void openContentBuffer()
          Ooens the new content buffer for inserting content inside the editor.
 void openFile()
          Shows the FileDialog and opens the selected file
 void openFile(java.net.URL fileURL)
          Opens silently the URL passed, as HTML document for editing
 void openLocation()
          Shows the open location dialog and opens the remote location
 void openLocation(java.lang.String location)
           
 void openLocation(java.net.URL location)
          Opens silently the URL passed, as HTML document for editing
 void pasteFilteredFormattedTextFromClipboard()
          Will paste filtered formatted text into the editor.
 void pasteFormattedParagraphsWithoutStyleFromClipboard()
          Will paste the content of the clipboard scrpping eventually any style information
 void pasteFormattedTextFromClipboard()
          Pastes the content of the clipboard at the current location.
 void pastePlainTextFromClipboard(boolean convertLineBreaks)
          Will get the plain text component of the clipboard and paste it inside the editor.
 void performInstantSpellCheck()
          Will force the spellchecker to performa instant inline spellcheck of the document
 void performSpellCheck()
          Will schedule a spellcheck operation to be performed when possible
 void printFile()
          Shows the print dialog and prints out the edited document
 void removeDocumentListener(javax.swing.event.DocumentListener listener)
          Removes a document listener from the editor.
 void removeFormatting()
          Will remove all the formatting from the selection
 void removeFormElementsMouseListener(java.awt.event.MouseListener listener)
          Will remove a listener which delivers events from the form components
 void resetDocumentLenghtLimit()
          Removes previously imposed document lenght restriction.
 boolean saveEntireDocumentTree()
          Will save the entire documnet tree in a relative folder under the document path.
 boolean saveEntireDocumentTree(java.io.File toSaveFile)
           
 boolean saveFile()
          Shows the FileDialog and saves the file to the selected location.
 void saveToLocation(java.lang.String saveLocation, boolean entireFile)
          Sends the document content to given URL.
 void selectCurrentTable()
          Selects the table at the caret position or does nothing if there is no table.
 void selectCurrentTableCell()
          Selects the table cell at the caret position or does nothing if there is no table.
 void selectCurrentTableColumn()
           
 void selectCurrentTableRow()
          Selects the table row at the caret position or does nothing if there is no table.
 void setAdditionalQueryParameters(java.lang.String additionalQueryParameters)
          Adds additional query parameters to the content when using HTTP POST method to upload the content to a remote server.
 void setAllMenusAndShortcutsStatus(boolean status)
          Enables/disables the menu items and shortcuts.
 void setAsYouTypeSpellcheckingEnabled(boolean enabled)
           
 void setBold()
          Will update the selection to toggle/set bold attribute
 void setBrowsingInPreviewEnabled(boolean enabled)
          Enables browsing in the preview section.
 void setContent(java.lang.String htmlContent)
          This method creates dynamically new document and inserts the given HTML String as new document content.
 void setContentAsynchronously(java.lang.String htmlContent)
          This method is used to sets the content of the editor without the synchronization locks.
 void setDefaultCharset(java.lang.String defaultCharset)
          Sets the default charset to be used by the editor.
 void setDefaultInitialFont(java.lang.String initialFont)
          Sets the default font family to be used in the editor - this will generate automatically the required font tags in order to reflect the font into the browsers
 void setDefaultInitialFontSize(java.lang.String fontSize)
          Sets the default font size to be used in the editor - this will generate automatically the required font tags in order to reflect the font into the browsers
 void setDocumentLenghtLimit(int limit, java.lang.String warningMessage)
          Sets the maximum allowed document length if any has been set.
 void setEditorTransparent(boolean editorTransparent)
          This will cause the visual editor to become completely transparent.
 void setEnabled(boolean enabled)
           
 void setExitOnExit(boolean exit)
          Sets the behavior of the editor when "Exit" on the file menu is pressed If this method is invoked with true then the editor will use ask to save changes and then will exit with System.exit(); To be used with caution when being a part of other applications if there are other things to save befor exitting the application The default value is false.
 void setExternalDictionary(java.lang.String externalDictionary)
          Sets the external dictionary URL of the dictionary to be loaded for spellchecking operations -indicates the URL of the dictionary to be used for spell checking. The dictionary should be plain text in the following semicolon delimited format:

A=;aa;aaaa;aaaaaa;.....etc;
B=;bb;bbb;bbbbb;bbbbbbb;......;
C=;ccc;cccc;ccccc;ccccc;....;

Each line contains all words for a given letter, for example the first line contains all the words beginning with A, the second with B etc.

All the words should be in lower case, note the initial and end delimiters. There shouldn't be any white spaces.

 

 void setExternalStyleSheetLocation(java.lang.String externalStyleSheetLocation)
          Sets the external style sheet to be loaded and used for rendering and editing of the document.
 void setFileDialog(javax.swing.JFileChooser newFileChooser)
          Sets the file dialog to be used in all browsing operations.
 void setFontComboBoxesStatus(boolean status)
          Sets the status enabled/disabled of the comboboxes on the toolbar - the headings, font family, font size.
 void setFontRenderingEnabled(boolean enabled)
          This allows the font dropdown to be enabled to render its content for each font line or simply to display the font names with standard font.
 void setFontRenderingZoom(int relativeIncrease)
          Specifies the relative redering size of the fonts.
 void setHeadingStyle(java.lang.String headingStyle)
          Sets the heading style of the selected paragraph - the parameters should be in the following format "Heading 1", or "Heading 2" etc.
 void setItalic()
          Will update the selection with the italic attribute - set/toggle it.
 void setLinkedObjectsFolderName(java.lang.String linkedObjectsFolderName)
          This method is used to set the folder name where all linked objects should be moved upon save.
 void setLocalFileBrowsingDisabled(boolean disabled)
          This method will enable/disable the local file dialog when needed.
 void setMainMenuVisible(boolean visible)
          Sets the main menu of the editor (File, Edit ...) visible and active or not.
 void setMenuItemsStatus(boolean status)
          Enables/disable all the menu items
 void setPopupMenuVisible(boolean visible)
          Sets the popup menu of the editor visible and active or not.
 void setPreferredPasteOperation(int preferredPasteOperation)
          Sets the preferred paste operation to be used by the editor.
 void setPreserveComments(java.lang.String _preserveComments)
          This will previent the user from deleting hidden comments into the document
 void setPreviewModeOnly(boolean previewModeOnly)
          Enables the preivew mode only.
 void setPreviewVisible(boolean visible)
          Sets the preview section of the editor visible and active or not.
 void setRemovedMenuItems(java.lang.String menuItemNames)
          setRemovedMenuItems("openLocationMenuItem, printFileMenuItem, closeFileMenuItem,...") - Indicates which menu items should be removed from the menus.
 void setRemovedMenus(java.lang.String menuItemNames)
          setRemovedMenus("menuTools, menuHelp,..") - Indicates which menus should be removed from the main menu bar.
 void setRemovedToolbarItems(java.lang.String toolbarItemNames)
          setRemovedToolbarItems("fontUnderlineButton,fontItalicButton,alignRightButton,fontsList,...") - Indicates which toolbar items should be removed from the tool bars.
 void setSaveEntireDocumentTree(boolean saveEntrireDocTree)
          Sets whether the entire document tree should be saved upon saving.
void setSharedIcon(java.lang.String iconName, javax.swing.ImageIcon icon)
          Replaces a shared icon which can be used for creating new items with the icons already preloaded 
 void setShowBodyContentOnlyInSource(java.lang.String _showBodyContentOnlyInSource)
          This method will cause the editor to show only the body content when switching to the HTML source editor.
 void setShowParagraphsEnabled(boolean showParagraphsEnabled)
          Enables/disables revealing of the pragraphs inside the document
 void setSingleParagraphSpacing(boolean singleParagraphSpacing)
          If set to true this method will force the editor to generate single paragraphs spacing whe hitting the enter key - a MS Word like behaviour.
 void setSmartWordContentHanldingEnabled(boolean active)
          Indicates whether should be enable the paste filter or not.
 void setSourceCodeModeOnly(boolean sourceCodeModeOnly)
          If set to true the editor will run in HTML source mode only acting as a simple text editor with synthax highlighting.
 void setSourceEditorVisible(boolean visible)
          Sets the source editor section of the editor visible and active or not.
 void setStatusBarVisible(boolean visible)
          Sets the status bar section of the editor visible and active or not.
 void setStatusMessage(java.lang.String message)
          Sets the given message to the status bar of the HTMLEditor.
 void setTableItemsStatus(boolean status)
          Disbales/enables all the table related menu items, on the basis of the caret position - if there is a table or not.
 void setToolbarButtonsStatus(boolean status)
          Sets all toolbar items status
 void setToolBarVisible(boolean visible)
          Sets the toolbar section of the editor visible and active or not.
 void setUnderline()
          Will update the selection with the underline attribute - set/toggle it.
 void setUploadContentAsMultipartFormData(boolean uploadContentAsMultipartFormData)
          Indicateds whether the content of the editor should be uploaded as multipart/form-data or as a url-encoded content
 void setUploadedObjectsTranslationPath(java.lang.String uploadedObjectsTranslationPath)
          Indicates the translation path for local objects when uploaded to the server as multipart/form data.
 void setVariableName(java.lang.String variableName)
          Sets the name of the HTTP POST variable to used for the html content when uploading.
 void setVisualEditorFollowsPreview(boolean enabled)
          This will enable the visual editor to follow the page changes when navigating in the preview.
 void setWordWrapMode(boolean active)
           
 void setXMLMode(boolean xmlMode)
          This will enable the editor to build automatically its own XML grammar for handling XML/XHTML documents.
 void showBookmarkPropertiesDialog()
          Will show the bookmark properties dialog
 void showCheckButtonPropertiesDialog()
          Shows the checkbox form field properties dialog for the form at the caret position or does nothing if there is no checkbox form field.
 void showCustomObjectPropertiesDialog()
          Will show the custom dialog for object tag.
 void showFindDialog()
          Shows the find/search dialog.
 void showFontPropertiesDialog()
          Shows the font properties dialog.
 void showFormPropertiesDialog()
          Shows the form properties dialog.
 void showHyperlinkPropertiesDialog()
          Shows the hyperlink properties dialog and modifies or inserts new hyperlink on the selected text.
 void showImageButtonPropertiesDialog()
          Shows the image button form field properties dialog box which allows change of its parameters or does nothing if there is no image button.
 void showInsertImageButtonDialog()
          Shows the FileDialog to insert an image button.
 void showInsertImageDialog()
          Shows the file dialog to insert an image at the caret position.
 void showInsertSymbolDialog()
          Shows the insert symbol dialog.
 void showInsertTableDialog()
          Shows the insert table dialog which allows the selection of the number of rows and columns and inserts new table
 void showListPropertiesDialog()
          Shows the picture properties dialog box which allows change of the picture parameters at the caret position or does nothing if there is no picture.
 void showObjectPropertiesDialog()
          Will show generic object tag properties dialog.
 void showPagePropertiesDialog()
          Shows the page properties dialog box which allows change of the page parameters such as title, background etc.
 void showParagraphPropertiesDialog()
          Will display the paragraph properties dialog
 void showPicturePropertiesDialog()
          Shows the picture properties dialog box which allows change of the picture parameters at the caret position or does nothing if there is no picture.
 void showPushButtonPropertiesDialog()
          Shows the button form field properties dialog for the form at the caret position or does nothing if there is no button form field.
 void showRadioButtonPropertiesDialog()
          Shows the radio button form field properties dialog for the form at the caret position or does nothing if there is no radio button form field.
 void showReplaceDialog()
          Shows the find/replace dialog.
 void showSelectFormFieldPropertiesDialog()
          Shows the select(dropdown menu or list) form field properties dialog for the form at the caret position or does nothing if there is no select(dropdown menu or list) form field.
 void showSpellCheckerDialog()
          Starts the spellchecker and begins the check of the document.
 void showTableCellPropertiesDialog()
          Shows the table cell properties dialog which allows the customization of the selected table cells or does nothing if there is no table cells selected
 void showTablePropertiesDialog()
          Shows the table properties dialog which allows the customization of the table at the caret position or does nothing if there is no table
 void showTextAreaPropertiesDialog()
          Shows the textarea form field properties dialog for the form at the caret position or does nothing if there is no textarea form field.
 void showTextFieldPropertiesDialog()
          Shows the textfield form field properties dialog for the form at the caret position or does nothing if there is no textfield form field.
 void splitSelectedTableCell()
          Splits the cell at the caret position into two cells horizontally.
 boolean uploadMultipartContent(java.lang.String saveLocation, boolean entireFile)
          Casues the entire content of the editor to be uploaded to given location as multipart form data.
 void wrapNewLineIntoBR(boolean wrap)
          Sets whether the line breaks should be converted into <br> or into a <p>


Customization of the user interface

The Sferyx JSyndrome HTMLEditor Component Edition offers zero efforts full customization of the user interface also directly from inside the IDE. Using the following methods you can remove menus, menu items or toolbar items in order to make the HTMLEditor bean fit your needs.

Removing menu items:

setRemovedMenuItems("openLocationMenuItem, printFileMenuItem, closeFileMenuItem,...") - Indicates which menu items should be removed from the menus. This list contains comma separated names of the menu items contained within the editor to be removed. This allows the full customization of the dropdown menus inside the main menu. The full list is:

File Menu

newFileMenuItem - new file menu item on the "File" menu
openFileMenuItem - open file menu item on the "File" menu
openLocationMenuItem - open location menu item on the "File" menu
closeFileMenuItem - close file menu item on the "File" menu
saveFileMenuItem - save file menu item on the "File" menu
saveasFileMenuItem - save remote file menu item on the "File" menu
printFileMenuItem - print file menu item on the "File" menu
exitFileMenuItem - close file menu item on the "File" menu

Edit Menu

copyMenuItem -copy menu item on the "Edit" menu
cutMenuItem - cut menu item on the "Edit" menu
pasteMenuItem - paste menu item on the "Edit" menu
copyFormattedTextMenuItem
- copy formatted text menu item on the "Edit" menu
pasteFormattedTextMenuItem- paste formatted text menu item on the "Edit" menu
selectAllMenuItem - select all menu item on the "Edit" menu
findMenuItem - find menu item on the "Edit" menu - professional version
replaceMenuItem - replace menu item on the "Edit" menu - professional version

Insert Menu

insertBreakMenuItem - insert break menu item on the "Insert" menu
insertParagraphMenuItem
- insert paragraph menu item on the "Insert" menu
insertSpaceMenuItem
- insert space menu item on the "Insert" menu
horizontalLineMenuItem
- insert horizontal line menu item on the "Insert" menu
insertDateMenuItem
- insert date menu item on the "Insert" menu
insertSymbolMenuItem
- insert symbol menu item on the "Insert" menu
insertFormFieldTextBoxMenuItem
- insert text box menu item on the "Insert -> Form" menu
insertFormFieldTextAreaMenuItem
- insert text area menu item on the "Insert -> Form" menu
insertFormFieldCheckBoxMenuItem
- insert check box menu item on the "Insert -> Form" menu
insertFormFieldRadioButtonMenuItem
- insert radio button menu item on the "Insert -> Form" menu
insertFormFieldDropDownMenuItem
- insert drop down menuitem on the "Insert -> Form" menu
insertFormFieldPushButtonMenuItem
- insert push button menu item on the "Insert -> Form" menu
insertFormFieldImageButtonMenuItem
- insert image button menu item on the "Insert -> Form" menu
insertInsertImageMenuItem
- insert image menu item on the "Insert" menu
insertInsertHyperlinkMenuItem
- insert hyperlink menu item on the "Insert " menu

Table Menu

insertTableMainMenuItem - insert table menu item on the "Table" menu
insertTableRowMainMenuItem
- insert table row menu item on the "Table" menu
insertTableColumnMainMenuItem
- insert table column menu item on the "Table" menu
deleteTableCellsItem
- delete table column menu item on the "Table" menu
selectTableMenuItem
- select table menu item on the "Table" menu
selectTableColumnMenuItem
- select table column menu item on the "Table" menu
selectTableRowMenuItem
- select table row menu item on the "Table" menu
selectTableCellMenuItem
- select table cell menu item on the "Table" menu
splitTableCellMenuItem
- split table cell menu item on the "Table" menu
mergeTableCellMenuItem
- merge table cell menu item on the "Table" menu
tablePropertiesMainMenuItem
- table properties menu item on the "Table" menu
tableCellPropertiesMainMenuItem
- table cell properties menu item on the "Table" menu

Window Menu

newWindowMenuItem - new window menu item on the "Window" menu

Format Menu

fontPropertiesMainMenuItem - font properties menu item on the "Format" menu
pagePropertiesMainMenuItem
- page properties menu item on the "Format" menu

View Menu

viewStatusBarMenuItem - view status bar menu item on the "View" menu
viewToolBarMenuItem
- view tool bar menu item on the "View" menu  - professional version 
viewSourceEditorMenuItem
- view source editor menu item on the "View" menu - professional version
viewPagePreviewMenuItem
- view preview menu item on the "View" menu  - professional version

Help Menu

aboutFileMenuItem - about menu item on the "Help" menu
 

Removing entire menus:

setRemovedMenus("menuTools, menuHelp,..") - Indicates which menus should be removed from the main menu bar. This list contains comma separated names of the menus contained within the editor's main menu bar to be removed. This allows the full customization of the menus inside the main menu bar. The full list of the menus is:

Main Menus:

menuFile - the File menu on the main menu bar - will remove the entire menu;
menuEdit
- the Edit menu on the main menu bar - will remove the entire menu; 
menuView
- the View menu on the main menu bar - will remove the entire menu;
menuInsert
- the Insert menu on the main menu bar - will remove the entire menu;
menuFormat
- the Format menu on the main menu bar - will remove the entire menu;
menuTools
- the Tools menu on the main menu bar - will remove the entire menu;
menuTable
- the Table menu on the main menu bar - will remove the entire menu;
menuWindow
- the Window menu on the main menu bar - will remove the entire menu;
menuHelp
- the Help menu on the main menu bar - will remove the entire menu;

Submenus:

menuInsertTable - the Insert menu inside the Table main menu - will remove the entire menu;
menuSelectTable
- the Select menu inside the Table main menu - will remove the entire menu;
menuPropertiesTable
- the Properties menu inside the Table main menu - will remove the entire menu;
menuForm
-  the Form menu inside the Insert main menu - will remove the entire menu;

Removing toolbar items:

setRemovedToolbarItems("fontUnderlineButton,fontItalicButton,alignRightButton,fontsList,...") - Indicates which toolbar items should be removed from the tool bars. This list contains comma separated names of the toolbar items contained within the editor's tool bars to be removed. This allows the full customization of the tool bars of the editor. The full list of the tool bar items is:

insertImageButton -  the insert image toolbar button;
tableBtn
-  the insert table toolbar button;
undoButton 
-  the undo toolbar button;
redoButton 
-  the redo toolbar button;
insertHyperlinkButton 
-  the insert hyperlink toolbar button;
increaseIndentButton 
-  the increase indent toolbar button;
decreaseIndentButton 
-  the decrease indent toolbar button;
fontSizeButton 
-  the font properties button;
setForegroundButton 
-  the font foreground toolbar button;
unorderedListButton 
-  the unordered list toolbar button;
orderedListButton  
-  the ordered list toolbar button;
newFileButton  
-  the new file toolbar button;
openFileButton 
-  the open file toolbar button;
saveFileButton  
-  the save file button;
printFileButton  
-  the print file button;
pasteButton  
-  the paste toolbar button;
copyButton  
-  the copy toolbar button;
cutButton  
-  the cut toolbar button;
alignRightButton  
-  the align right toolbar button;
alignCenterButton  
-  the align center toolbar button;
alignLeftButton  
-  the align left toolbar button;
fontUnderlineButton  
-  the font underline toolbar button;
fontItalicButton  
-  the font italic toolbar button;
fontBoldButton  
-  the font bold toolbar button;
copyFormattingButton - the copy formatting toolbar button;
fontsList  
-  the fonts list toolbar combo box;
fontSizes  
-  the font sizes toolbar combo box;
headingStyles - the headings toolbar combo box;

insertTableButton - insert table toolbar button
insertTableRowButton
- insert row toolbar button
insertTableColumnButton
- insert column toolbar button
deleteTableCellsButton
- delete table cells toolbar button
selectTableButton
- select table toolbar button
selectTableColumnButton
- select table column toolbar button
selectTableRowButton
- select table row toolbar button
selectTableCellButton
- select table cell toolbar button
splitTableCellButton
- split table cell toolbar button
mergeTableCellButton
- merge table cell toolbar button
tablePropertiesButton
- table properties toolbar button
tableCellPropertiesButton
- table cell properties toolbar button

styleClasses - the style classes toolbar combo box

showParagraphsButton - the button for revealing paragraphs
fontBackgroundButton - font background (text highlight) button
insertEquationButton -
the button for inserting mathematical equations through Sferyx EquationEditor

alignJustifyButton - the button for align justify paragraphs
superscriptButton -
the button for superscipt
subscriptButton -
the button for subscript
insertSymbolButton- 
the button for inserting symbols

tableToolbarSeparator- the separator between the table items
pasteToolbarSeparator-
the separator between the pasting items
undoToolbarSeparator-
the separator between the undo items
saveToolbarSeparator-
the separator between save items

printToolbarSeparator - the separator before the print item
fontToolbarSeparator -
the separator between formatting items
fontStyleToolbarSeparator - 
the separator before the style combo
alignmentToolbarSeparator -
the separator before the paragraph alignment items
listsToolbarSeparator-
the separator before the list items

zoomoutTextButton - the text zoom out button
zoominTextButton -
the text zoom in button
pdfExportButton -
the PDF export toolbar button when enabled

imageMapRectButton - the image map insert rectangle button
imageMapCircleButton -
the image map insert circle button
imageMapPolyButton -
the image map insert polygon button

 

Enabling text folding features:

If you would like to enable text folding on a certain document elements, you will need to add the following attributes:

<div textfolding="true" initialstate="collapsed | expanded"><h1>Some heading</h1>
<p>
The rest of the text here</p>
</div>

 

 

User Manual for use with Oracle Forms

Please consult the new updated User manual for Oracle Forms

In order to use our editor in Oracle forms you should do the following steps:

1) Place the jar file in the class path of the oracle forms:

For example, if your installation folder is c:\orant, you have to place the jar file in the following folder:

C:\orant\forms90\java

2) Edit the /forms/server/formsweb.cfg file to add the jar file to the archive_jinit variable - this step is needed for the starting the form on the web

# Forms applet archive setting for JInitiator 
archive_jini=f90all_jinit.jar,HTMLEditorPro.jar

3) Designing your form with the java bean and the Forms designer
- Open your form
- Add a "Bean area" to any block from the layout designer - there is a "Bean area" canvas on the toolbox and you can add it to any container on your form
- Set its Implementation class property to : sferyx.administration.editors.HTMLEditorOracleBean

That's all - if you have configured everything properly, the editor will appear inside your form. For setting variables and using its methods, please refer to the oracle help - the topic for using java beans with oracle forms. Further you can consult our FAQ - it contains some examples and tips on how to handle the editor in various situations regarding Oracle Forms.

 

Users Manual for use as an applet

 If you intend to use this component as an applet you may want to review the other edition of this component - Sferyx JSyndrome HTMLEditor Applet Edition at http://www.sferyx.com/htmleditorapplet which is end user product and is a ready for use applet especially designed for use in websites or content management systems. However this users manual describes possible uses of the Component Edition as applet within web pages and possible integration with javascripts. The differences between the two versions could be found into the extended product documentation. Both Light and Professional versions can be used as components to be integrated in applications or applets. For major details how to use the different modes consult the Installation section.

Compatibility

The Sferyx JSyndrome HTMLEditor has been written and tested under JDK 1.3/1.4/1.5/1.6. It is recommended using these versions of the JDK or higher as it uses features not presented into the earlier versions of the JDK. It has been tested on various versions of Windows such as  Windows 98, Windows Me, Windows 2000 and Windows XP, Vista, 7, Linux  with both the JRE 1.3/1.4/1.5/1.6 and JDK 1.3/1.4/1.5/1.6, Solaris and MacOS X 10.2.x/10.3.x/10.4.x/10.5.x/10.6.x with JRE 1.3.1, 1.4.1/1.5/1.6 . Compatibility is tested also with Eclipse SWT and Oracle Forms. It has been tested with Netscape, FireFox, Chrome, Opera, Konqueror, Safari, Mozilla  and Internet Explorer as you can see from the matrix below:

 

Browser Compatibility Matrix

Platform/Browser Internet Explorer Netscape Mozilla Opera Safari Firefox Galleon Google Chrome Konqueror
Windows 95/98/ME/NT/2000/XP/ Vista
java 1.3.x / 1.4.x/1.5/ 6.0
Available
java - javascript:yes
Available
java - javascript:yes
Available
java - javascript:yes
Available
java - javascript:yes
n.a. Available
java - javascript:yes
n.a. Available
java - javascript:yes
n.a.
Mac OS X
java 1.3.x / 1.4.x/1.5/ 6.0
Available
java - javascript: yes*
Available
java - javascript: yes
Available
java - javascript: yes
Available
java - javascript: yes
Available
java - javascript:yes
Available
java - javascript:yes
n.a. n.a. n.a.
Linux
recommended java 1.4.2/1.5/ 6.0
n.a. Available
java - javascript:yes
Available
java - javascript:yes
Available
java - javascript:yes
n.a. Available
java - javascript:yes
Available
java - javascript:yes
n.a. Available
java - javascript: yes
Solaris (Sparc)
java 1.4.x/1.5/ 6.0
n.a. Available
java - javascript:yes
Available
java - javascript:yes
Available
java - javascript:yes
n.a. Available
java - javascript:yes
n.a. n.a. Available
java - javascript:yes
Solaris (x86)
java 1.4.x/1.5/ 6.0
n.a. Available
java - javascript:yes
Available
java - javascript:yes
Available
java - javascript:yes
n.a. Available
java - javascript:yes
n.a. n.a. Available
java - javascript:yes
FreeBSD
java 1.4.x/1.5/ 6.0
n.a. Available
java - javascript:yes
Available
java - javascript:yes
Available
java - javascript:yes
n.a. Available
java - javascript:yes
Available
java - javascript:yes
n.a. Available
java - javascript:yes

*- through the Sferyx LiveConnectProxy

 

 

 

Installation:

 

If you use it as a javabean, the installation is quite simple and is sufficient to add the HTMLEditor jar file (for example HTMLEditorPro.jar) to the classpath of your application and include few lines of code for instantiating the HTML editor instance like:

sferyx.administration.editors.HTMLEditor htmlEditor = new sferyx.administration.editors.HTMLEditor();
htmlEditor.setContent("Some html content"); //set some initial content
htmlEditor.setRemovedMenuItems("menuFile, menuEdit"); //remove some unwanted menu items
htmlEditor.setRemovedMenus("printFileMenuItem,openFileMenuItem ,newFileMenuItem "); // remove some menus
htmlEditor.setRemovedToolbarItems("openFileButton, printFileButton"); //remove some toolbar items

 

When used as an applet instead, the installation is also immediate. All the classes needed are contained within the HTMLEditor.jar and if the Java Plug-in 1.3/1.4/1.5/1.6 is installed you will be able to see the applet opening the page which contains it. To include it within a page you have to include the following code inside the page. 

To embed the component as applet in a page the class to be started is sferyx.administration.editors.HTMLEditorApplet

<applet code=sferyx.administration.editors.HTMLEditorApplet archive=HTMLEditorPro.jar width=800 height=600>
</applet>

In generally this code is sufficient to achieve the desired result, thought sometimes there could be problems with the browser using its embedded java environment instead of the Java Plug-in 1.4.x, 1.5.x. 1.6.x In this cases it would be necessary to use the following code which is also included into the demo and the example files:

For Internet Explorer:

<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = "800" HEIGHT = "600" NAME = "htmleditor" codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-win.cab#Version=1,4,0,0">
<PARAM NAME = CODE VALUE = "sferyx.administration.editors.HTMLEditorApplet">
<PARAM NAME = ARCHIVE VALUE = "HTMLEditorAppletPro.jar">
<PARAM NAME = NAME VALUE = "htmleditor">
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
<PARAM NAME="scriptable" VALUE="true">
<COMMENT>
</COMMENT>
</OBJECT>

The applet edition Sferyx JSyndrome HTML Editor Applet edition allows also running in full screen mode. 

Consult the html source of the demo included for major details on the inclusion of the applet within web pages.

Applet Parameters

If you need applet parameters to configure your applet you should consider the Sferyx JSyndrome HTMLEditor Applet Edition. It has been especially designed for use as applet and supports wide range of parameters and functionalities which make easier integration within web pages and server side scripts.

Accessing the HTMLEditor from javascript

The demo includes functional examples how to access the HTMLEditor content using javascript. 

There are available the following functions:

public void setContent(String htmlContent) - sets the content of the HTMLEditor. The content could be an html document, portion of html document or plain text

public String getContent() -
returns the content of the html editor as entire html document (includes tags <html>, and <body>). 

public String getBodyContent() -
returns the content of the html editor as a potion of  html document (without  tags <html>, and <body>). For use with content management systems is recommended using this function when editing single pieces of pages. If you have inserted portion of document using setContent method this will return what you need.

public void insertImage(String imageURL)
-inserts an image inside the editor. For correct resolving of relative URLs if used as an applet you may cosider the Applet Edition of this product. 

public void insertLink(String linkURL) -inserts a hyperlink over the selected text in the editor. For correct resolving of relative URLs if used as an applet you may cosider the Applet Edition of this product. 

public void setDefaultCharset(String charsetMimeType) -set the default charset for converting the document content. This value will be used as default if charset statement is not specified in the page loaded. If there is a statement indicating the charset of the page such as "<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">" this statement will be parsed and used instead of the default one. The charset is used when loading and saving documents.

public void openLocation(String location) - opens new document from the location specified. When used as an applet the document obviously should from the same server where the applet resides.

These are only the most used methods - the developer may create own subclasses of the HTMLEditorApplet and create public references to all methods  specified in the javadoc documentation supplied with the product of the class sferyx.amdinistration.HTMLEditor in order to be accessed from javascript.

 

About the browse and save buttons

Due to the security restrictions for the applets, when used as normal applet the browse and save buttons and menu items are disabled since are used to open, browse files on the local computer. For browsing remote locations are used "Open location" and "Save remote" menu items on the File menu. If the HTMLEditor is used as signed applet within an intranet or on an internet site and the user grants the requested permissions all the menu items become available and the HTMLEditor can be used for example as an unified editing solution within an organization installed on the LAN server and accessed from unlimited number of clients. 

Our Services and assistance

All Sferyx products are assured with continuous e-mail support. With the retail products is included in the price 30 days startup support. Additionally, you can purchase annual support subscription tickets from our web store.

Sferyx offers also a wide range of customization services for its products in order to satisfy any customer requirement. We can adapt our products to fit the customer needs and any kind of integration requirements. We execute also express developments, customization under request, development of new features on demand. You can request a quote at sales@sferyx.com or support@sferyx.com indicating your requirements and the terms of delivery.

 

 


Copyright © 2002 - 2009 Sferyx Srl. All rights reserved. Sferyx and the Sferyx logo are registered trademarks of Sferyx Srl. http://www.sferyx.com