Sferyx JSyndrome Equation Editor Component Edition


Frquently 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

Download HTML Editor Component
Sferyx JSyndrome Equation Editor Component Edition : EquationEditorDemo.zip
(ZIP file, ~ 0.5 MB)

Compatibility

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.

public String getMathMLContent() -
returns the content of the equation editor as entire MathML document. 

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.

public void setToolbarVisible(boolean visible)
- enables/disables the toolbar. It could be used in order to customize the UI of the equation editor as necessary.

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");


public void setSourceVisible(boolean visible)
- Sets the visibility status of the MathML source editor - show/hide the MathML source editor

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
 

 

Applet Parameters

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

Our Services and assistance

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

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