Package kiyut.sketsa.tool

## Class InsertImagePane

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - kiyut.sketsa.tool.InsertImagePane

- All Implemented Interfaces:
    `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`

      public class InsertImagePane
      extends JPanel

  A component that provide Insert Image into `VectorCanvas`
  Author:
    Kiyut
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### 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
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected boolean` | `isOptionsShown` |
    `protected boolean` | `useImageSize` |

    - ### Fields inherited from class javax.swing.JComponent

      `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

      `accessibleContext, 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

    Constructors
    Constructor | Description
    --- | ---
    `InsertImagePane()` | Creates new form InsertImage

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected org.w3c.dom.svg.SVGElement` | `embed​(org.w3c.dom.svg.SVGDocument doc, File file)` |
    `protected org.w3c.dom.svg.SVGElement` | `embedAsBase64​(org.w3c.dom.svg.SVGDocument doc, File file)` | Return SVGElement with appropriate data protocol and the file encoded as base64
    `protected org.w3c.dom.svg.SVGElement` | `embedAsSVG​(org.w3c.dom.svg.SVGDocument doc, File file)` |
    `String` | `getTitle()` | Return localization Title Text
    `protected void` | `initCustomComponents()` |
    `boolean` | `isUseImageSize()` | Return wheter the field width and height is auto fill with image size
    `void` | `setImageBounds​(Rectangle2D imageBounds)` | Fill the attribute bounds with specified param.
    `void` | `setUseImageSize​(boolean b)` | If true, when the image loaded by browse, it will auto fill the field width and height with Image size, currently it is only work with raster Image.
    `static void` | `showDialog​(Component parentComponent, VectorCanvas canvas, Rectangle2D imageBounds)` | Convenience static methods to display this component as a Dialog
    `void` | `updateVectorCanvas​(VectorCanvas canvas)` |

    - ### 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### useImageSize

          protected boolean useImageSize

    - #### isOptionsShown

          protected boolean isOptionsShown

  - ### Constructor Detail

    - #### InsertImagePane

          public InsertImagePane()

      Creates new form InsertImage

  - ### Method Detail

    - #### initCustomComponents

          protected void initCustomComponents()

    - #### getTitle

          public String getTitle()

      Return localization Title Text
      Returns:
        localization Title Text

    - #### showDialog

          public static void showDialog​(Component parentComponent,
                                        VectorCanvas canvas,
                                        Rectangle2D imageBounds)

      Convenience static methods to display this component as a Dialog
      Parameters:
        `parentComponent` - parentComponent
        `canvas` - the `VectorCanvas`
        `imageBounds` - a Rectangle2D which is used to fill the x,y,width,and height Field

    - #### updateVectorCanvas

          public void updateVectorCanvas​(VectorCanvas canvas)

    - #### setUseImageSize

          public void setUseImageSize​(boolean b)

      If true, when the image loaded by browse, it will auto fill the field width and height with Image size, currently it is only work with raster Image. The default value is true.
      Parameters:
        `b` - true or false

    - #### isUseImageSize

          public boolean isUseImageSize()

      Return wheter the field width and height is auto fill with image size
      Returns:
        true or false
      See Also:
        `setUseImageSize(boolean)`

    - #### setImageBounds

          public void setImageBounds​(Rectangle2D imageBounds)

      Fill the attribute bounds with specified param. The width and height field will be filled is size bigger than 10 px
      Parameters:
        `imageBounds` - Rectangle that specify bounds

    - #### embed

          protected org.w3c.dom.svg.SVGElement embed​(org.w3c.dom.svg.SVGDocument doc,
                                                     File file)
                                              throws IOException

      Throws:
        `IOException`

    - #### embedAsSVG

          protected org.w3c.dom.svg.SVGElement embedAsSVG​(org.w3c.dom.svg.SVGDocument doc,
                                                          File file)
                                                   throws IOException

      Throws:
        `IOException`

    - #### embedAsBase64

          protected org.w3c.dom.svg.SVGElement embedAsBase64​(org.w3c.dom.svg.SVGDocument doc,
                                                             File file)
                                                      throws IOException

      Return SVGElement with appropriate data protocol and the file encoded as base64
      Parameters:
        `doc` - the SVGDocument
        `file` - File to be processed
      Returns:
        SVGElement with appropriate data protocol and the file encoded as base64
      Throws:
        `IOException` - If an I/O error occurs