chrriis.dj.nativeswing.swtimpl.components
Class JHTMLEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by chrriis.dj.nativeswing.swtimpl.NSPanelComponent
                      extended by chrriis.dj.nativeswing.swtimpl.components.JHTMLEditor
All Implemented Interfaces:
NSComponent, ImageObserver, MenuContainer, Serializable, Accessible

public class JHTMLEditor
extends NSPanelComponent

An HTML editor. It is a browser-based component, which relies on the FCKeditor, CKEditor or the TinyMCE editor.
Methods execute when this component is initialized. If the component is not initialized, methods will be executed as soon as it gets initialized. If the initialization fails, the methods will not have any effect. The results from methods have relevant values only when the component is valid.

Author:
Christopher Deckers, Jörn Heid (TinyMCE implementation)
See Also:
Serialized Form

Nested Class Summary
static class JHTMLEditor.CKEditorOptions
           
static class JHTMLEditor.FCKEditorOptions
           
static class JHTMLEditor.HTMLEditorImplementation
           
static class JHTMLEditor.TinyMCEOptions
           
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JHTMLEditor(JHTMLEditor.HTMLEditorImplementation editorImplementation, NSOption... options)
          Construct an HTML editor.
 
Method Summary
 void addHTMLEditorListener(HTMLEditorListener listener)
          Add an HTML editor listener.
 void clearDirtyState()
          Clear the dirty state.
 String getHTMLContent()
          Get the HTML content.
 HTMLEditorListener[] getHTMLEditorListeners()
          Get the HTML editor listeners.
 JWebBrowser getWebBrowser()
          Get the web browser that contains this component.
protected static WebServer.WebServerContent getWebServerContent(WebServer.HTTPRequest httpRequest)
           
protected  WebServer.WebServerContent getWebServerContent(WebServer.HTTPRequest httpRequest, String resourcePath, int instanceID)
          Serve the HTTP content requested by the editor web page, which can be altered by subclasses.
 boolean isDirty()
          Indicate whether the editor is dirty, which means its content has changed since it was last set or the dirty state was cleared.
 void removeHTMLEditorListener(HTMLEditorListener listener)
          Remove an HTML editor listener.
 void setHTMLContent(String html)
          Set the HTML content.
 
Methods inherited from class chrriis.dj.nativeswing.swtimpl.NSPanelComponent
constrainVisibility, destroyOnFinalization, disposeNativePeer, getNativeComponent, initialize, initializeNativePeer, isNativePeerDisposed, isNativePeerInitialized, isNativePeerValid, proxyComponentHierarchy, runInSequence
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JHTMLEditor

public JHTMLEditor(JHTMLEditor.HTMLEditorImplementation editorImplementation,
                   NSOption... options)
Construct an HTML editor.

Parameters:
options - the options to configure the behavior of this component.
Method Detail

getWebBrowser

public JWebBrowser getWebBrowser()
Get the web browser that contains this component. The web browser should only be used to add listeners, for example to listen to window creation events.

Returns:
the web browser.

getWebServerContent

protected static WebServer.WebServerContent getWebServerContent(WebServer.HTTPRequest httpRequest)

getWebServerContent

protected WebServer.WebServerContent getWebServerContent(WebServer.HTTPRequest httpRequest,
                                                         String resourcePath,
                                                         int instanceID)
Serve the HTTP content requested by the editor web page, which can be altered by subclasses. Note that altering the default content is generally not needed and is not recommended.

Returns:
the content.

getHTMLContent

public String getHTMLContent()
Get the HTML content.

Returns:
the HTML content.

setHTMLContent

public void setHTMLContent(String html)
Set the HTML content.

Parameters:
html - the HTML content.

isDirty

public boolean isDirty()
Indicate whether the editor is dirty, which means its content has changed since it was last set or the dirty state was cleared.

Returns:
true if the editor is dirty, false otherwise.

clearDirtyState

public void clearDirtyState()
Clear the dirty state.


addHTMLEditorListener

public void addHTMLEditorListener(HTMLEditorListener listener)
Add an HTML editor listener.

Parameters:
listener - The HTML editor listener to add.

removeHTMLEditorListener

public void removeHTMLEditorListener(HTMLEditorListener listener)
Remove an HTML editor listener.

Parameters:
listener - the HTML editor listener to remove.

getHTMLEditorListeners

public HTMLEditorListener[] getHTMLEditorListeners()
Get the HTML editor listeners.

Returns:
the HTML editor listeners.