General questions / System
configurations
-
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
-
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
-
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
-
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
-
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
-
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
-
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
- 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
-
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
-
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
-
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
-
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.
-
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
-
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
-
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
-
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.
-
How can I provide custom rendering for my XML
tags? Back to top
Customization/Internationalization features
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
- 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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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;
-
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
-
How to disable the
popup menu?
htmlEditor.setPopupMenuVisible();
Back to top
-
How to enable/disable
the as-you-type spellchecker?
htmlEditor.setAsYouTypeSpellcheckingEnabled(true|false);
Back to top
-
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
-
-
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
- 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
-
-
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
-
How to disable the
HTML Source editor?
htmlEditor.setSourceEditorVisible(true|false);
Back to top
-
How to disable the
HTML Preview?
htmlEditor.setPreviewVisible(true|false);
Back to top
-
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
- 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
-
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
-
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
-
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
-
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
-
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
-
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;
-
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
-
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
-
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
-
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
-
Do you have
maintenance contracts?
Yes, we do offer maintenance contracts. Please check the
pricing page for major details.
Back to top
-
Do you have support
contracts?
Yes, we do offer priority support contracts. Please check the
pricing page for major details.
Back to top
-
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
-
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
-
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
-
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
-
Do you have
maintenance contracts?
Yes, we do offer maintenance contracts. Please check the
pricing page for major details.
Back to top
-
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
-
- 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.
- 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.
- 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);
- 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);
|