Frequently
Asked Questions
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/ 6.0 or greater. Among the directly supported operating
systems are Microsoft Windows 95/98/ME, NT, 2000, XP, Vista, 7,
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/6.0.
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?
- Yes, 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.setPublishContentUsingWebDAV(true);
htmlEditor.saveToLocation("http://yourhost.com/webdav_enabled_dir",true);
Back to top
-
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 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.
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");
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 oprations as follows:
PASTE_FORMATTED_TEXT=0;
PASTE_PLAIN_TEXT=1;
PASTE_FORMATTED_PARAGRAPHS_WITHOUT_STYLE=2;
PASTE_FILTERED_FORMATTED_TEXT=3;
That means you can do the following:
setPreferredPasteOperation(HTMLEditor.PASTE_PLAIN_TEXT);
or simply
setPreferredPasteOperation(1);
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.setBrowsingInPreviewEnabled(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
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
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 menu item 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
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
newWindowMenuItem -
new window menu item on the "Window" menu
fontPropertiesMainMenuItem
- font properties menu item on the "Format" menu
pagePropertiesMainMenuItem - page properties
menu item on the "Format" 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
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
-
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;
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.e
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 Add-on for the
HTML Editor component?
Yes, we do have Equation Editor component -
Sferyx PDF Export Add-on
- please contact support@sferyx.com
for major details.
|