Sferyx JSyndrome Equation Editor Component EditionFrquently Asked Questions for the MathML Equation Editor Component Java Swing Integration
Frequently Asked Questions for use as JavaBean Note: In the demo version most of the development API is disabled - the retail product comes with full API available for development which allows full customization of the editor as well to implement any additional functionalities needed. Contact support@sferyx.com if you are interested in receiving the full javadoc for review of the available functionalities. The Sferyx JSyndrome EquationEditor Component Edition has been released in one version intended for broad range of applications as a component and also could be used as a standalone equation editor application if needed. If you intend to use it as component within an application then you can consult the javadoc documentation supplied with the product - it can be inserted as visual java bean into the editing environments such as Forte for Java, JBuilder or similar. It is sufficient to add the jar file to the component palette of the IDE and the icon of the EquationEditor should appear on the toolbar. The demo version is restricted and cannot be customized, it also takes automatically the default system look & feel. The retail versions instead feature different visual options for full customization of the user interface such as showing/hiding of the main menu, toolbars, popup menu, source editor also inserting of initial MathML content etc. You can consult the complete javadoc documentation supplied with your retail product. However some of the mostly used methods during customization operations are:
All Sferyx products are signed with Trusted Code Signing Security Certificate from Thawte Sferyx JSyndrome Equation Editor Component Edition : EquationEditorDemo.zip (ZIP file, ~ 0.5 MB)
|
The Sferyx JSyndrome EquationEditor has been written and tested under JDK 1.4/1.5/1.6/1.7/1.8 and higher. It is recommended using these versions of the JDK or higher as it uses features not presented into the earlier versions of the JDK. It has been tested on various versions of Windows such as Windows 98, Windows Me, Windows 2000, Windows XP, Windows Vista, 7,8, 10, Linux, Solaris and MacOS X 10.x.
Manipulating the EquationEditor content and UI
There are available the following functions:
public void setMathMLContent(java.lang.String mathMLContent)
-
sets the content of the EquationEditor. The content should be an well
formatted MathML document.
returns
the content of the equation editor as entire MathML document.
public String getMathMLContent() -
public void setContent(String mathmlContent)
-
sets the content of the EquationEditor.
public void setURLEncodedContent(String
mathmlURLEncodedContent)
- sets the content of the
EquationEditor.
The content could be an html document which is URLEncoded - it will
be decoded by the editor and rendered properly.
public String saveImage()
-
saves the image into a temporary file and returns the URL of the file as
a string.
public java.awt.Image getImage()
-retrieves
the content of the EquationEditor as an image.
public JPopupMenu getPopupMenu()
- returns
the popup menu used inside the visual editor. This allows easy
customization of the popup menu when needed. See the JPopupMenu Swing
API for major details on how the popup menu object can be customized.
public void setMainMenuVisible(boolean visible)
-
enables/disables the main menu. It could be used in order to customize
the UI of the equation editor as necessary.
public void setSourceVisible(boolean visible)
-
enables/disables the source editor. It could be used in order to customize
the UI of the equation editor as necessary.
-
enables/disables the toolbar. It could be used in order to customize
the UI of the equation editor as necessary.
public void setToolbarVisible(boolean visible)
public JToolBar getToolbar()
-
returns the toolbar used
inside the visual editor. This allows easy customization of the toolbar
when needed. See the JToolBar Swing API for major details on how the
toolbar object can be customized.
These are only the most used methods - the developer may create own subclasses of the EqautionEditor and create public references to all methods specified in the javadoc documentation supplied with the product of the class sferyx.math.equationeditor.EquationEditor in order to be accessed from javascript.
Removing unnecessary UI items like menus and toolbar items
public void removeMenuItems(String menuItemNames)
-This method is used for
configuring the menu items - by default they are all shown. To remove
them you can use this method along the names shown below:
PasteMenuItem
- the paste menu item;
CutMenuItem - the cut menu item;
CopyMenuItem - the copy menu item;
OpenFileMenuItem - the open file menu item;
ExitMenuItem - the exit menu item;
NewFileMenuItem - the new file menu item;
SaveFileMenuItem - the save file menu item;
The usage format is like this:
removeMenuItems("SaveFileMenuItem,OpenFileMenuItem");
public void removeMenu(String menuNames)
-This method is used for configuring the
menus - by default they are all shown. To remove them you can use this
method along the names shown below:
EditMenu - edit menu;
FileMenu - file menu;
The usage format is like this:
removeMenus("EditMenu,FileMenu");
public void removeToolbarItems(String
toolbarItemNames)
-This method is
used for configuring the toolbar items - by default they are all shown.
To remove them you can use this method along the names shown below:<br>
copyButton
- the copy button;
cutButton - the cut button;
pasteButton - the paste button;
redoButton - the redo button;
undoButton - the undo button;
openFileButton - the print file button;
saveFileButton - the save file button;
printButton - the print file button;
theoryButton
- theory group button;
logicSymbolsButton - logic group button;
arrowsButton - arrows group button;
trigButton - trigonometry group button;
fencesButton - fences group button;
layoutsButton - layouts group button;
accentsButton - accents group button;
greekSymbolsButton - greek symbols group button;
calcButton - calculus group button;
matricesButton - matrices group button;
relationSymbolsButton - relations group button;
operatorsButton - operators group button;
clearAllButton - clear all button;
The usage format is like this:
removeToolbarItems("pasteButton,arrowsButton");
- Sets the visibility status of the MathML
source editor - show/hide the MathML source editor
public void setSourceVisible(boolean visible)
public void setToolbarVisible(boolean visible)
-
Sets the visibility status of
the main toolbar - show/hide the main toolbar of the editor
public void setMainMenuVisible(boolean visible)
-
Sets the main menu visibility
status - show/hide the main menu of the editor
<PARAM NAME ="initialContent" VALUE="<math>Hello,
this is the initial content</math>">
-
Specifies simple initial content
of the editor when the editor is started. If this parameter is not specified
than blank page is created. For complex documents use
initialURL
instead of this one.
<PARAM NAME ="initialURLEncodedContent"
VALUE = "%3Cmath%3EHello%2c+this+is+ the+initial+content%3C/math%3E">
-
Specifies the initial content of the editor when the editor is started-
it should be URLEncoded. The editor will decode it and visualize it
for editing. This permits the loading of even very complicated pages,
since all the tags are encoded and there is no interference with the
rest of the page. This approach is very useful for loading of the initial
content simply without javascripts etc.
<PARAM NAME="transformInViewer" VALUE="true">
- when this is specified this parameter
the EquationEditor will be transformed into a Equation viewer which can
be used to display mathml content within a browser.
<PARAM
NAME ="menuItemsToRemove" VALUE="
PasteMenuItem,CutMenuItem
,
...">
- 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:
PasteMenuItem - the
paste menu item;
CutMenuItem - the cut menu item;
CopyMenuItem
- the copy menu item;
OpenFileMenuItem - the open file menu item;
ExitMenuItem
- the exit menu item;
NewFileMenuItem - the new file menu item;
SaveFileMenuItem
- the save file menu item;
<PARAM NAME ="menusToRemove" VALUE="
EditMenu,FileMenu,
...">
- 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:
EditMenu - edit menu;
FileMenu
- file menu;
<PARAM NAME ="toolbarItemsToRemove"
VALUE="saveFileButton,printButton,cutButton,...">
- Indicates which toolbar items should
be removed from the main tool bar. This list contains comma separated
names of the toolbar items contained within the editor's main tool bar
to be removed. This allows the full customization of the tools inside
the main tool bar. The full list of the items is:
copyButton - the
copy button;
cutButton - the cut button;
pasteButton - the paste button;
redoButton
- the redo button;
undoButton - the undo button;
openFileButton - the print file button;
saveFileButton
- the save
file button;
printButton - the print file button;
theoryButton - theory group button;
logicSymbolsButton - logic group button;
arrowsButton - arrows group button;
trigButton - trigonometry group button;
fencesButton - fences group button;
layoutsButton - layouts group button;
accentsButton - accents group button;
greekSymbolsButton - greek symbols group button;
calcButton - calculus group button;
matricesButton - matrices group button;
relationSymbolsButton - relations group button;
operatorsButton - operators group button;
clearAllButton - clear all button;
All Sferyx products are assured with continuous e-mail support. With the retail products is included in the price 30 days startup support. Additionally, you can purchase annual support subscription tickets from our web store.
Sferyx offers also a wide range of customization services for its products in order to satisfy any customer requirement. We can adapt our products to fit the customer needs and any kind of integration requirements. We execute also express developments, customization under request, development of new features on demand. You can request a quote at sales@sferyx.com or support@sferyx.com indicating your requirements and the terms of delivery.