Sferyx LogoSferyx Internet Based Systems
 

HTML EDITOR COMPONENT

User Manual
Oracle Forms
SWT / Eclipse
XML features
FAQ
Download
Screenshots
Licensing & Prices

HTML EDITOR APPLET

User Manual
FAQ
Drupal Integration
SAKAI Integration
IBM Lotus Notes
Download
Screenshots
Licensing & Prices

PDF GENERATOR

User Manual
Oracle Forms
Licensing & Prices

EQUATION/MATHML EDITOR

User Manual
FAQ
Download
Screenshots
Licensing & Prices

PDFEXPORT ADD-ON

User Manual
On-line store
Customers
Contacts


Sferyx JSyndrome HTML Editor Component Edition



General questions / System configurations

Demo version questions

Publishing content

Custom XML tags

Customization/Internationalization features

Content manipulation features

  1. How can I enable the text folding functionalities?

Application integration features

  1. How to disable the Main Menu?
  2. How to disable the Toolbars?
  3. How to disable the Statusbar?

Oracle Forms Integration

  1.  

Licensing questions

Customization services

Customer support questions

Add-ons / Additional features

  1. Is there CSS (Style Sheet) editor component?
  2. Is there a PDF Export component?
  3. How do I enable the EquationEditor inside the HTML Editor?
  4. How to enable the PDF Export inside the HTML Editor?

 

General questions / System configurations

  1. What is the Sferyx JSyndrome HTMLEditor Component Edition?
    - Sferyx JSyndrome HTMLEditor is a Java Bean component suitable for use in any Java application which needs HTML/XHTML document authoring. It allows the creation of complex HTML documents visually and contains a huge API and entire SDK which permits java developers to customize it easily and integrate it in their applications and services. Back to top

  2. For who is intended the Component Edition?
    - The Component Edition is designed especially for java developers who have the necessary programming skills to operate with. It has extensive API and allows full customization and integration with existing java application. In case you are web designer without specific java programming experience you may consider the Applet Edition which is ready for use java applet easily configurable through applet parameters. Back to top

  3. How can I customize the editor in order to integrate it with my application?
    - You can use the API available in the retail product to fully customize the editor's UI, functionalities and end user experience. The retail product comes with Users manual, Javadoc documentation, sample code and our 30 days startup support in order to resolve any possible integration issues you may encounter. Back to top

  4. How can I provide my own dialogs for browsing images and hyperlinks?
    - The HTMLEditor exposes a special interface sferyx.administration.editors.extensions.BrowsableComponent which allows custom dialogs to be integrated easily with only a few lines of code and replace the existing browse features for images, hyperlinks etc.

    public class CustomHyperlinkDialog extends javax.swing.JDialog implements sferyx.administration.editors.extensions.BrowsableComponent
    {
    .....
    }


    with this are sufficient only few lines to bind your dialog to the editor:

    sferyx.administration.editors.HTMLEditor htmlEditor=new sferyx.administration.editors.HTMLEditor();
    htmlEditor.setHyperlinkCustomBrowsableComponent(new CustomHyperlinkDialog(null,true));


    The entire sample program listing could be found in the examples folder of the downloadable demo version.
    Back to top

  5. What system configurations are supported?
    - Virtually is supported any system with compatible Java runtime v. 1.3/1.4/1.5/ 1.6/1.7 or greater. Among the directly supported operating systems are Microsoft Windows 95/98/ME, NT, 2000, XP, Vista, Windows 7, Windows 8, Mac OS X 10.3 or greater, Linux, Solaris, Free BSD and also Oracle Forms - designer and runtime. You can consult also the browser/OS compatibility matrix for further details Back to top

  6. What JDK/JRE versions are supported?
    - Any subversion of the following JRE/JDKs are supported 1.3/1.4/1.5/1.6/1.7 or higher. We do recommend when possible to install the latest java releases for optimal performance and best user experience. Back to top

Demo version questions

  1. What are the limitations of the demo version?
    - The demo version for the Component Edition is generally obfuscated and contains only a few of the hundreds of the methods and functionalities available. It also is setup to expire after 30 days. If you may need extended trial version please contact support@sferyx.com . You can consult the supplied documentation, this FAQ and the executable examples and program listings for to evaluate better the available functionalities. Back to top

  2. Does the retail product display a splash screen and other messages?
    - No the retail product does not contain the splash screen, the nag screens and other evaluation messages. Those are present only in the demo versions. Back to top

  3. I have some questions regarding my evaluation - what should I do?
    - In case you may have questions about the product, evaluation etc. do not hesitate to contact our customer support at support@sferyx.com . They will be happy to assist you. Back to top

  4. Is it possible to receive a fully functional evaluation version?
    - Currently we do not ship plain class evaluation versions as direct downloads since many have abused with this in the past, however decisions on that is be taken on per case basis, so if you are interested in receiving full evaluation please contact sales@sferyx.com . In any case you will receive response to your inquiry. Back to top

Publishing content

  1. How can I upload files using the editor?
     
    If you want to retrieve the editor content including all document images embedded inside the document   encoded as strings and create self contained standards compliant document you should use the following methods:

    htmlEditor.setEmbedAllImagesInsideTheDocument(true);

    For retrieving the current state of embedding images you can use this method:

    public boolean isEmbedAllImagesInsideTheDocument()

    After that it is sufficient to use getContent() or getBodyContent() to retrieve the editor content as a String including all the images inside.
    Otherwise you can consider also the uploading features described below:
    All linked files in the document such as images, objects, hyperlink targets like pdf,doc etc. can be published easily in a way absolutely transparent for the end user. These automatic uploads can be configured easily through the built-in "save remote" of the editor. the editor can publish content though HTTP multipart form upload or WebDav. Back to top

  2. How can I configure WebDav in order to publish content and files through the editor?
    - this is quite simple:
     

    htmlEditor.setUploadedObjectsTranslationPath("http://your_server_translation_path");
    htmlEditor.setPublishContentUsingWebDAV(true);
    htmlEditor.saveToLocation("http://yourhost.com/webdav_enabled_dir",true);

    The setUploadedObjectsTranslationPath method is needed in order to indicate how the uploaded images and objects paths should be translated by the editor in order to match the server path for correct display after upload.

  3. How can I configure multipart form uploads in order to publish content and files through the editor?

    htmlEditor.setUploadContentAsMultipartFormData(true);
    htmlEditor.saveToLocation("http://yourhost.com/yourscript_which_receives_uploads",true);

    Back to top


Custom XML tags

  1. Custom XML tags are supported - how can I use them?
    - Custom tags are supported in the Enterprise version of the editor component. You can create easily your own grammar specification for handling custom tags or turn on the automatic grammar builder which will inspect the document and create automatically the grammar for you. This can be done the following way:

    htmlEditor.setXMLMode(true);

    for manual tag handling see question #3 below.

    Back to top
  2. How can I provide my own property dialogs for my custom XML tags and associate action with them?
    - This is illustrated in the example provided in the demo version in the folder examples/custom tags . You can provide your own component which responds to actions and displays custom dialogs. This is fully customizable behavior.

    Back to top
  3. How can I create my own custom XML grammar?
    - You can manually specify for each tag how to be handled - block, inline or empty tags. Additionally you can manage the rendering of the block and inline tags through style sheets and/or associate custom components and actions to the empty tags.

    sferyx.administration.editors.CustomXMLTagsGrammarSpecification.registerCustomXMLTag("my_empty_tag",true); - will register empty tag
    sferyx.administration.editors.CustomXMLTagsGrammarSpecification.registerCustomXMLTag("my_custom_block_tag",false); - will register block tag
    sferyx.administration.editors.CustomXMLTagsGrammarSpecification.registerEmptyCustomXMLTagComponentRepresentation
    ("my_empty_tag","MyCustomEmptyTag");
    - will associate the class MyCustomEmptyTag with the <my_emtpy_tag>. Additionally you can add actions to MyCustomEmptyTag component. You can find the entire example in the examples/custom tags folder in the demo version.

    sferyx.administration.editors.CustomXMLTagsGrammarSpecification.registerCustomXMLTagRenderingType("my_custom_block_tag", CustomXMLTagsGrammarSpecification.INLINE_TAG) - this will cause the <my_custom_block_tag> to be rendered as inline tag while the following method call

    CustomXMLTagsGrammarSpecification.setTreatAllBlockTagsAsBlocks(true); will cause all block tags to be rendered automatically as blocks.

    Note that this will work with the Enterprise version only.
  4. How can I provide custom rendering for my XML tags?

    Back to top

Customization/Internationalization features

  1. How do I provide custom objects (<object> tag) rendering and how do I associate my own property dialogs with them?
     
    - You can provide your own rendering for your <object> tags - for example if you whish to provide a custom icon to be displayed simply specify the ""editor_icon"" attribute like this: <object editor_icon="http://your_icon.gif"> . This will cause the editor to render the object tag with your icon.
    If you need to provide a component representation then you can use the classid attribute and provide a class to be loaded and used for rendering of the <object> tag like this:
    <object use_custom_object_rendering="true" classid="mypackage.MyComponentClass"> - this will result in loading and instantiating of you class.
    If you need to associate a custom property dialog then you can use the following approach:
    <object classid_property_dialog="mypackage.MyCustomDialogClass"> - this will cause when clicking on the "Properties" menu to be displayed your property dialog. You can integrate it with the editor implementing the methods initDialogFields() and getNewAttributes(). Please see the sample file for detailed information on how to do that.
     
    <object use_custom_object_rendering="true" classid_property_dialog="com.test.PropertiesDialog" name="mc1" classid="com.test.TestButton" text="test button1">
    </object>
    - this examples show how to use custom component for rendering and also to set custom property dialog.  You can also pass some property through the attributes such as names, label, text etc.


    Back to top

  2. How can I translate the UI of the editor?
    - htmlEditor.loadInterfaceLanguageFile("http://yourhost/german.txt") - If you use this method, the editor will load the language file and will initialize the entire user interface with the new language setting. This way the editor interface can be localized in any language as needed. See the supplied "sample-german-translation.txt" file as an example for the format of the UI language files. This method 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.

    If you see some labels missing you simply can add the translation in the language file respecting this simple rule:
    Convert the text in English in lowercase and replace the whitespaces with "_" . This way add new entry in the language file with the correct translation.

    Example:

    Label "Find what" - should be added an entry like this:

    find_what=your translation in your language

    Also for the "Whole words only"

    whole_words_only=your translation in your language

    Upon request we can supply to our customers additional translations in French, German, Spanish, Italian and also other languages. In case you need specific language, you may contact us at support@sferyx.com .

    Back to top

  3. How can I specify my own dictionary for the spellchecker?
    - htmlEditor.loadExternalDictionary("http://yourhost/your_dictionary_file.dict") - If you use this method, the editor will load the dictionary file and will use it for further spellchecking operations. This method 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. Dictionary can be plain text or compressed - this will be recognized automatically by the editor upon loading.

    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.

    Back to top

Content manipulation features

  1. How can I import external style sheets?
    - use the following method:
    htmlEditor.loadExternalStyleSheet("http://your_css_file") ; This method 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. The generic CSS file format is fully supported. This will load the CSS file and will refresh the editor content applying the new style sheet. The style dropdowns will reflect the newly loaded style classes. You can use any combination of externally loaded classes, in-document style definitions like <style> tags and linked style sheets through <link> tags or @import statements.

    Back to top
  2. How can I specify default fonts without using style sheets?
    - This is easy. Simply use the following:
    htmlEditor.setDefaultInitialFont("verdana,sans-serif");
    htmlEditor.setDefaultInitialFontSize("10");

    This will cause the editor by default to generate <font> tags setting automatically the specified font without the need style sheets to be loaded.


    Back to top
  3. How can I set the editor's content?
    - There are a plenty of ways to set the content of the editor. The most common are:

    htmlEditor.setContent("<htm>some htmlcontent</html>"); - will set the content of the editor

    htmlEditor.insertContent("<b>some htmlcontent</b>");
    - will insert arbitrary content at the caret position

    htmlEditor.appnedContent("<b>some htmlcontent</b>");
    - will append the content to the existing content of the editor

    htmlEditor.openLocation("http://your_location");
    - will open the file at the give location

    htmlEditor.openLocation(URL location);
    - will open the file at the give location

    htmlEditor.openFile(URL file);
    - will open the file.

    Here we insert some content using content buffer:
    -------------------------------------------------------------------
    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();


    Back to top

  4. How can I get the editor's content?
    When using the component, you can get the content of the editor:

    htmleditor.getContent()
    - will return the entire content of the page

    htmleditor.getBodyContent() - will return only the content of the body

    Other methods for retrieving the content of the editor are the following:

    htmlEditor.saveFile(); - will display File dialog and save the file

    htmlEditor.saveToLocation("http://your_location"); - this will send the content of the editor using POST by default. You can specify alternative publishing methods as WebDav or Multipart Form uploads.

    htmlEditor.setSaveEntireDocumentTree(true|false); - this will cause the editor to save the entire document tree in a specified folder - this will include all linked images and object.

    htmlEditor.setLinkedObjectsFolderName("images"); - this method is used to retrieve the folder name where all linked objects should be moved upon save. This is used in conjunction 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.

    htmlEditor.saveEntireDocumentTree() - will save the entire document tree as specified in the methods described above.

    Back to top

  5. How can I specify read-only sections within the document?
    You can mark sections of the document as read-only simply putting a readonly attribute like this:

    <p readonly="true">
    ...some content
    </p>

    or

    <div readonly="true">
    ...some content
    </div>

    or

    <table readonly="true">
    ...some content
    </table>

    Note that the attribute readonly="true" should be specified in lowercase.

    All page elements containing such an attribute will be treated as read-only and thus not editable.

    Back to top

  6. What pasting operations are supported?
    public void setPreferredPasteOperation(int preferredPasteOperation)

    public int getPreferredPasteOperation()

    You can switch between the default operations 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);


    Back to top

  7. What symbols can be inserted in the editor in edit time?
    - Through the built-in Insert Symbol dialog on the Insert menu you can insert any available symbol on your platform. Additionally through insertContent() you can insert any kind on html content and thus all supported html entities.

    Back to top
  8. How can I apply style classes to the different document elements?
    - Through the quick style dropdown menu on the toolbar to all text elements. Additionally on all property dialogs there are style dropdowns for applying an manipulating the style classes of all document elements such as paragraphs, lists, tables, table cells, images, form elements etc.

    Back to top
  9. How can I retrieve document elements easily?
    The Enterprise version provides an additional package which is the Javascript Emulation Engine which allows document elements to be referenced in a javascript like manner from your java application like this:

    This will work both on Visual editor and Preview 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.

    Back to top

  10. How can I enable the text folding functionalities?
    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>

Application integration features

  1. Can I embed easily the editor in my application?
    - Yes, nothing easier than this. We have provided all the necessary customization features and API calls for to provide the easiest possible integration. However in case you may need help with your integration do not hesitate to contact our customer support at support@sferyx.com

    Back to top

  2. How can I specify my own style sheets, language files and dictionaries in order to redistribute them easily with the editor?
    You can bundle your resources in a jar file together with your classes and the HTMLEditor. We have done the possible to make this process easy - style sheets, language files and dictionaries can be loaded from the classpath of your application directly without the need to make any additional efforts. The editor automatically will search for the specified resources. See also the Customization/Internationalization features chapter above.

    Back to top
  3. How can I use multiple editors on the same HTML page or within the same application window?
    - Absolutely no problems with that - simply instantiate the editors in your page or application window and it will work out of the box without any additional configuration.

    Back to top

  4. How can I provide my own toolbar for multiple editor instances?
    - You can do that very easy - check the examples folder for sample program listings.

    Back to top

  5. How can I make the editor transparent?

    htmlEditor.setSourceEditorVisible(false);
    htmlEditor.setPreviewVisible(false);
    htmlEditor.setEditorTransparent(true);


    This will make the editor to run in a fully transparent mode and can be used in applications as a floating box. See the examples folder of the downloadable demo for sample program listings.

    Back to top

  6. How can I use the editor in read-only mode like a browser for displaying pages?
    This will work in the Enterprise version only. Do the following:

    hTMLEditor.setBrowsingInPreviewEnabled(true); - this will enable hyperlinks in the preview section and when you click on them you will able to navigate through the pages.

    hTMLEditor.setVisualEditorFollowsPreview(true); - if you use this method in conjunction with the one above, the visual editor will follow the preview. This way will be possible to navigate to a certain page in the preview and after that switching to the visual editor edit it directly.

    hTMLEditor.setPreviewModeOnly(true); - if you use this method in conjunction with the setBrowsingInPreviewEnabled(true), will be shown only the preview section, thus converting the editor in a browser.

    Back to top
  7. How to enable hyperlink following when in browser mode ?

    hTMLEditor.setBrowsingInPreviewEnabled(true);
    - this will enable hyperlinks in the preview section and when you click on them you will able to navigate through the pages.

    See the above question for major details.

    Back to top
  8. How can I display the editor in HTML Source mode only?

    hTMLEditor.setSourceCodeModeOnly(true);
    - this will show only the HTML Source Editor turning the HTML editor into a HTML markup text editor with syntax highlighting, search/replace etc.

    Back to top

  9. How to remove unwanted menu items?

    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
  10. How to remove unwanted toolbar items?

    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

     

  11. How to remove unwanted menus?

    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;
  12. How to remove items from the popup menu?

    setRemovedPopupMenuItems("listPropertiesMenuItem,insertTableRowMenuItem...") - Indicates which toolbar items should be removed from the main popup menu. This list contains comma separated names of the popup menu items contained within the editor's main popup bar to be removed. This allows the full customization of the tools inside the main popup menu. The full list of the items is:
    listPropertiesMenuItem - list properties popup menu item, appears when the cursor is placed over a list
    insertTableRowMenuItem - insert table row popup menu item
    insertTableCellMenuItem - insert table cell popup menu item
    insertTableMenuItem - insert table row popup menu item
    imagePropertiesMenuItem - image properties popup menu item, appears when there is an image selected
    imageButtonFieldPropertiesMenuItem - image button properties popup menu item, appears when there is an image button selected
    formPropertiesMenuItem - form button properties popup menu item, appears when there is a form
    buttonFieldPropertiesMenuItem - button properties popup menu item, appears when there is a button selected
    radioButtonFieldPropertiesMenuItem - radio button properties popup menu item, appears when there is a radio button selected
    checkBoxFieldPropertiesMenuItem - check box properties popup menu item, appears when there is a check box selected
    textFieldPropertiesMenuItem - text field properties popup menu item, appears when there is a text field selected
    textAreaFieldPropertiesMenuItem - text area properties popup menu item, appears when there is a text area selected
    selectFieldPropertiesMenuItem - select(list) field properties popup menu item, appears when there is a select field(list) selected
    tablePropertiesMenuItem - table properties popup menu item, appears when there is a table at the cursor position
    tableCellPropertiesMenuItem - table cell properties popup menu item, appears when there is a table at the cursor position
    pagePropertiesMenuItem - page properties popup menu item
    mergeItem - merge table cells properties popup menu item, appears when there is a table at the cursor position
    splitItem - split table cell properties popup menu item, appears when there is a table at the cursor position
    hyperlinkPropertiesPopupMenuItem - hyperlink properties popup menu item
    fontPropertiesMenuItem - font properties popup menu item
    objectPropertiesMenuItem - object properties popup menu item
    paragraphPropertiesPopupMenuItem - paragraph properties popup menu item
    copyItem - copy formatted text popup menu item
    copyPlainTextMenuItem - copy plain text popup menu item
    pasteItem - paste formatted text popup menu item
    copyPopupMenuItem - copy popup menu item
    pastePopupMenuItem - paste popup menu item
    cutPopupMenuItem - cut popup menu item
    boldPopupMenuItem - bold popup menu item
    italicPopupMenuItem - italic popup menu item
    underlinePopupMenuItem - underline popup menu item
    alignLeftPopupMenuItem - align left popup menu item
    alignCenterPopupMenuItem - align center popup menu item
    alignRightPopupMenuItem - align center popup menu item


  13. How to disable the popup menu?

    htmlEditor.setPopupMenuVisible();

    Back to top

  14. How to enable/disable the as-you-type spellchecker?

    htmlEditor.setAsYouTypeSpellcheckingEnabled(true|false);

    Back to top
  15. How to add my own buttons on the toolbar?


    There are several ways for doing this:

    1) Using the built-in createMenuButton function like this:


    JButton myToolbarButton=htmlEditor.createMenuButton(htmlEditor.getEditingToolBar(), "Click me", "Click me", htmlEditor.getSharedIcon("sferyx-logo"));


    class my_listener implements ActionListener
    {

    public void actionPerformed(ActionEvent evt)
    {

    JOptionPane.showMessageDialog(htmlEditor, "Now we will insert the following string into the editor:\n<h1>This is a HTML content inserted from a custom button</h1>");

    htmlEditor.setContent("<h1>This is a HTML content inserted from a custom button</h1>");
    }


    }

    myToolbarButton.addActionListener(new my_listener());


    2) Retireving the toolbars and adding whatever you want on them:

    JToolbar editingToolbar=htmlEditor.getEditingToolBar();
    - will return the editing toolbar

    JToolbar formattingToolbar=htmlEditor.getFormattingToolBar();
    - will return the formatting toolbar

  16. How to provide my own browsing dialogs for images and hyperlinks?

    See How can I provide my own dialogs for browsing images and hyperlinks?

    Back to top

  17. How to specify default charset?
    You can do this two ways:

    htmlEditor.setDefaultCharset("utf-8");

    or use inside the document

    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

    Back to top

  18. How to configure preferred past operations?

    See What pasting operations are supported . The user can choose paste operation from the "Edit" menu. Back to top
  19. How to configure save operations?

    See the "Publishing content " section for more details.

    Back to top
  20. How can I save the entire page including all images and objects in a relative to the page folder?

    You can use html.saveEntireDocumentTree(); functionality. You can get more details on its usage here: How can I get the editor's content?

    Back to top
  21. How to disable the HTML Source editor?

    htmlEditor.setSourceEditorVisible(true|false);

    Back to top
  22. How to disable the HTML Preview?

    htmlEditor.setPreviewVisible(true|false);

    Back to top
  23. How to disable the Main Menu?

    htmlEditor.setMainMenuVisible(boolean visible) - Indicates if the entire main menu is visible or not. The default value is true

    Back to top

  24. How to disable the Toolbars?

    htmlEditor.setToolBarVisible(boolean visible) - Indicates if the entire main toolbar is visible or not. The default value is true

    htmlEditor.setFormattingToolbarVisible(boolean visible) - Will show/hide the formatting toolbar - to be used when only one part of the toolbar needs to be disabled

    htmlEditor.setShortcutToolbarVisible(boolean visible) - Will show/hide the shortcuts toolbar - to be used when only one part of the toolbar needs to be disabled.

    Back to top

  25. How to disable the Statusbar

    htmlEditor.setStatusBarVisible(boolean visible)
    - Sets the status bar section of the editor visible and active or not. It could be changed at runtime.

    Back to top

Oracle Forms Integration

  1. How can I integrate the editor in Oracle Forms?
    As any other java bean is integrated in Oracle Forms designer. Please the jar file in the designer's classpath and it will be automatically detected by the Oracle Forms Designer. You can add it after that easily as a bean area.

    Back to top


  2. How to get the content of the editor in OracleForms?
    Invoking a function from PL/SQL:

    Declare
    vString VarChar2(2000);
    Begin
    vString := FBean.Invoke_Char('HTMLEDITOR_AREA',1,'getBodyContent');
    :block3.TEXT_AREA := vString;
    End;


    Back to top
     

  3. How to set the content of the editor in Oracle Forms?

    Declare
    hArgs FBEAN.ARGLIST;
    Begin
    hArgs:=FBEAN.CREATE_ARGLIST;
    FBEAN.ADD_ARG(hArgs,'some, text');
    FBean.Invoke('HTML_EDITOR',1,'setContent',hArgs);

     

    Back to top
     

  4. How to enable copy/paste from/to the editor in Oracle Forms?

    You will need to sign the component jar file with your security certificate. In case you may need help with this do not hesitate to contact our customer support at support@sferyx.com
     
     
  5. How to remove toolbar/menu items in Oracle Forms?
     
    Declare
    hArgs2 FBEAN.ARGLIST;
    --Here we remove the unwanted toolbar items using arglist
    hArgs2:=FBEAN.CREATE_ARGLIST;
    FBEAN.ADD_ARG(hArgs2,'newFileButton,openFileButton,saveFileButton');
    FBean.Invoke('HTML_EDITOR',1,'setRemovedToolbarItems',hArgs2);
    End;
     
     
     
  6. General tips for integration with Oracle Forms?
     
    Keep in mind that the mapping of String objects in Oracle Forms is to Varchar2- it does not allow transfers with beans greater than 4096 chars. That's why we have provided to our Oracle customers the following methods as a workaround in order to retrieve or set the content in smaller chunks. You may use this approach for handling of content with unlimited length and adapt the following java code for use in OracleForms as demonstrated with the examples for invoking methods above.

    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;
        }

Licensing questions

  1. Can I redistribute the HTMLEditor Component Edition with my application?
    Yes, the redistribution of the component with your applications and services is royalty free after purchasing the license for development

    Back to top
  2. What types of licenses are available?
    There are available the following licenses:
    - Single Developer License - for one developer seat
    - Company License - company wide license for all developer within the same company
    - Source code license - the full source code of the product

    The current prices can be found here . You can purchase licenses directly from our on-line store

    Back to top
  3. Should my users register when using the editor?
    No, no one of your customers will be ever asked to register in order to use the editor.

    Back to top
  4. Do you have maintenance contracts?
    Yes, we do offer maintenance contracts. Please check the pricing page for major details.

    Back to top
  5. Do you have support contracts?
    Yes, we do offer priority support contracts. Please check the pricing page for major details.

    Back to top
  6. Can I purchase the Source code?
    Yes, we do offer Source code license - it includes the full source code of the product with the right to create and redistribute derivative products. Please check the pricing page for major details and contact sales@sferyx.com in case you are interested in purchasing the Source code license.

    Back to top

Customization services

  1. I need a special feature - can you provide it for me?

    We do execute customization features upon customer request. Please contact sales@sferyx.com and you will get a quote for requested features. In many cases the features our customers are looking for already exist, so do not hesitate to contact us if you have any doubts.

    Back to top

Customer support questions

  1. How long are the support response times?

    We do all the possible to respond to customer questions during the first 24 hours. However in some cases the response time may take longer due to the message queue on our side.

    Back to top
  2. I contacted the customer support via e-mail, but didn't receive any reply. What should I do?

    We always respond to e-mails. In case you do not receive answer within a reasonable amount of time please check the following:
    1) Verify that you do not have a mail filter which may block our messages.
    2) Do the possible to verify that we actually have received your message.

    In case that there are communication problems you can always send us a fax to ++390292140494 supplying additional contact information such as your phone and/or fax numbers. We will contact you asap.

    Back to top
  3. Do you have maintenance contracts?
    Yes, we do offer maintenance contracts. Please check the pricing page for major details.

    Back to top

  4. Do you have support contracts?
    Yes, we do offer priority support contracts. Please check the pricing page for major details.

    Back to top

 

Add-ons / Additional features

  1. Is there Equation (Math ML) editor component?
    Yes, we do have Equation Editor component - Sferyx Equation Editor - please contact support@sferyx.com  for major details.

  2. Is there CSS (Style Sheet) editor component?
    Yes, we do have CSS Editor component - - Sferyx CSS Editor - please contact support@sferyx.com  for major details.
     
  3. Is there PDF Export component?
    Yes, we do have PDF Export component  - Sferyx PDF Export Add-on for the Sferyx HTML Editor - please contact support@sferyx.com  for major details.
     
  4. How to enable the Equation Editor component inside the Sferyx HTML Editor?
    If you have purchased a bundle including the Sferyx EquationEditor or you have purchased a separate license for the EquationEditor, you can enable it inside the Sferyx HTMLEditor Component Edition by simply invoking the following method:

    htmlEditor.setEquationEditorIntegrationEnabled(true);
     
  5. How to enable the PDF Export component inside the Sferyx HTML Editor?
    If you have purchased a bundle including the Sferyx PDFExport component or you have purchased a separate license for the PDFExport, you can enable it inside the Sferyx HTMLEditor Component Edition by simply invoking the following method:

    htmlEditor.setPDFExportEnabled(true);

 

| Home | Screenshots | Users Manual | LicenseDemo & Download

Copyright 2002-2006 Sferyx Srl. All rights reserved. Sferyx and the Sferyx logo are registered trademarks of Sferyx Srl. http://www.sferyx.com
All other trademarks and logos are the property of their respective owners.