igeo.gui

## Class IPanel

- java.lang.Object
- - igeo.gui.IComponent
  - - igeo.gui.IPanel

- All Implemented Interfaces:
    IPanelI, IServerI, java.awt.event.ComponentListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.event.WindowListener, java.util.EventListener
  Direct Known Subclasses:
    IScreenTogglePanel

      public class IPanel
      extends IComponent
      implements IPanelI

  A root GUI object of iGeo managing all IPane instance. An instance IG is keyed by IPanel object when it's in Graphic mode.
  Author:
    Satoru Sugihara

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `IPanel.AIScaleDialog`
    `(package private) static class` | `IPanel.FileAndFilterIndex`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `IBounds` | `bounds`
    `IPane` | `currentMousePane`
    `boolean` | `firstDraw`
    `IG` | `ig`
    `java.util.ArrayList<IPane>` | `panes`
    `java.awt.Container` | `parentContainer` AWT parent component
    `int` | `serverStateCount`
    `boolean` | `sizeChanged`
    `boolean` | `skipAutoFocus`
    `boolean` | `startDynamicServer`

    - ### Fields inherited from class igeo.gui.IComponent

      `height, visible, width, x, y`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IPanel(int x, int y, int width, int height)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPane(IPane p)`
    `IPanel.FileAndFilterIndex` | `chooseFile(java.lang.String[][] acceptableExtensions, java.lang.String[] extensionDescriptions, java.lang.String approveButtonText, boolean writing, java.lang.String defaultPath, java.io.File defaultFile)`
    `IPanel.FileAndFilterIndex` | `chooseFile(java.lang.String[] acceptableExtensions, java.lang.String extensionDescription, java.lang.String approveButtonText, boolean writing, java.lang.String defaultPath, java.io.File defaultFile)`
    `IPanel.FileAndFilterIndex` | `chooseFile(java.lang.String acceptableExtension, java.lang.String extensionDescription, java.lang.String approveButtonText, boolean writing, java.lang.String defaultPath, java.io.File defaultFile)`
    `void` | `clearPane()`
    `void` | `componentHidden(java.awt.event.ComponentEvent e)`
    `void` | `componentMoved(java.awt.event.ComponentEvent e)`
    `void` | `componentResized(java.awt.event.ComponentEvent e)`
    `void` | `componentShown(java.awt.event.ComponentEvent e)`
    `IPane` | `currentPane()` returns current pane; if null, it returns first pane.
    `void` | `draw(IGraphics g)`
    `void` | `focus()` focus on all pane
    `void` | `focusGained(java.awt.event.FocusEvent e)`
    `void` | `focusLost(java.awt.event.FocusEvent e)`
    `IBounds` | `getBounds()`
    `IG` | `getIG()`
    `IPane` | `getPaneAt(IMouseEvent e)`
    `IPane` | `getPaneAt(int x, int y)`
    `void` | `keyPressed(IKeyEvent e)`
    `void` | `keyPressed(java.awt.event.KeyEvent e)`
    `void` | `keyReleased(IKeyEvent e)`
    `void` | `keyReleased(java.awt.event.KeyEvent e)`
    `void` | `keyTyped(IKeyEvent e)`
    `void` | `keyTyped(java.awt.event.KeyEvent e)`
    `void` | `mouseClicked(IMouseEvent me)`
    `void` | `mouseClicked(java.awt.event.MouseEvent e)`
    `void` | `mouseDragged(IMouseEvent me)`
    `void` | `mouseDragged(java.awt.event.MouseEvent e)`
    `void` | `mouseEntered(java.awt.event.MouseEvent e)`
    `void` | `mouseExited(java.awt.event.MouseEvent e)`
    `void` | `mouseMoved(IMouseEvent me)`
    `void` | `mouseMoved(java.awt.event.MouseEvent e)`
    `void` | `mousePressed(IMouseEvent me)`
    `void` | `mousePressed(java.awt.event.MouseEvent e)`
    `void` | `mouseReleased(IMouseEvent me)`
    `void` | `mouseReleased(java.awt.event.MouseEvent e)`
    `void` | `mouseWheelMoved(IMouseWheelEvent me)`
    `void` | `mouseWheelMoved(java.awt.event.MouseWheelEvent e)`
    `IPane` | `pane(int i)`
    `int` | `paneNum()`
    `void` | `postdraw(IGraphics g)`
    `void` | `predraw(IGraphics g)`
    `void` | `removePane(int i)`
    `void` | `saveDialog()`
    `IServer` | `server()`
    `void` | `setBounds()`
    `void` | `setIG(IG ig)`
    `void` | `setParent(java.awt.Container container)`
    `void` | `setSize(int w, int h)`
    `void` | `setVisible(boolean v)`
    `void` | `skipAutoFocus()`
    `void` | `startDynamicServer()`
    `void` | `stopDynamicServer()`
    `void` | `windowActivated(java.awt.event.WindowEvent e)`
    `void` | `windowClosed(java.awt.event.WindowEvent e)`
    `void` | `windowClosing(java.awt.event.WindowEvent e)`
    `void` | `windowDeactivated(java.awt.event.WindowEvent e)`
    `void` | `windowDeiconified(java.awt.event.WindowEvent e)`
    `void` | `windowIconified(java.awt.event.WindowEvent e)`
    `void` | `windowOpened(java.awt.event.WindowEvent e)`

    - ### Methods inherited from class igeo.gui.IComponent

      `contains, getHeight, getWidth, getX, getY, isVisible, setBounds, setBounds, setLocation`

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

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

    - ### Methods inherited from interface igeo.gui.IPanelI

      `getHeight, getWidth, getX, getY`

- - ### Field Detail

    - #### panes

          public java.util.ArrayList<IPane> panes

    - #### ig

          public IG ig

    - #### currentMousePane

          public IPane currentMousePane

    - #### parentContainer

          public java.awt.Container parentContainer

      AWT parent component

    - #### bounds

          public IBounds bounds

    - #### serverStateCount

          public int serverStateCount

    - #### startDynamicServer

          public boolean startDynamicServer

    - #### firstDraw

          public boolean firstDraw

    - #### skipAutoFocus

          public boolean skipAutoFocus

    - #### sizeChanged

          public boolean sizeChanged

  - ### Constructor Detail

    - #### IPanel

          public IPanel(int x,
                        int y,
                        int width,
                        int height)

  - ### Method Detail

    - #### setIG

          public void setIG(IG ig)

      Specified by:
        `setIG` in interface `IPanelI`

    - #### getIG

          public IG getIG()

      Specified by:
        `getIG` in interface `IPanelI`

    - #### server

          public IServer server()

      Specified by:
        `server` in interface `IPanelI`
      Specified by:
        `server` in interface `IServerI`

    - #### setParent

          public void setParent(java.awt.Container container)

      Specified by:
        `setParent` in interface `IPanelI`

    - #### addPane

          public void addPane(IPane p)

      Specified by:
        `addPane` in interface `IPanelI`

    - #### pane

          public IPane pane(int i)

      Specified by:
        `pane` in interface `IPanelI`

    - #### paneNum

          public int paneNum()

      Specified by:
        `paneNum` in interface `IPanelI`

    - #### removePane

          public void removePane(int i)

      Specified by:
        `removePane` in interface `IPanelI`

    - #### clearPane

          public void clearPane()

      Specified by:
        `clearPane` in interface `IPanelI`

    - #### setVisible

          public void setVisible(boolean v)

      Specified by:
        `setVisible` in interface `IPanelI`
      Overrides:
        `setVisible` in class `IComponent`

    - #### focus

          public void focus()

      focus on all pane
      Specified by:
        `focus` in interface `IPanelI`

    - #### setSize

          public void setSize(int w,
                              int h)

      Specified by:
        `setSize` in interface `IPanelI`
      Overrides:
        `setSize` in class `IComponent`

    - #### startDynamicServer

          public void startDynamicServer()

      Specified by:
        `startDynamicServer` in interface `IPanelI`

    - #### stopDynamicServer

          public void stopDynamicServer()

    - #### skipAutoFocus

          public void skipAutoFocus()

      Specified by:
        `skipAutoFocus` in interface `IPanelI`

    - #### predraw

          public void predraw(IGraphics g)

      Specified by:
        `predraw` in interface `IPanelI`

    - #### draw

          public void draw(IGraphics g)

      Specified by:
        `draw` in interface `IPanelI`

    - #### postdraw

          public void postdraw(IGraphics g)

      Specified by:
        `postdraw` in interface `IPanelI`

    - #### getPaneAt

          public IPane getPaneAt(int x,
                                 int y)

      Specified by:
        `getPaneAt` in interface `IPanelI`

    - #### getPaneAt

          public IPane getPaneAt(IMouseEvent e)

    - #### currentPane

          public IPane currentPane()

      returns current pane; if null, it returns first pane.
      Specified by:
        `currentPane` in interface `IPanelI`

    - #### mousePressed

          public void mousePressed(IMouseEvent me)

      Specified by:
        `mousePressed` in interface `IPanelI`

    - #### mousePressed

          public void mousePressed(java.awt.event.MouseEvent e)

      Specified by:
        `mousePressed` in interface `java.awt.event.MouseListener`

    - #### mouseReleased

          public void mouseReleased(IMouseEvent me)

      Specified by:
        `mouseReleased` in interface `IPanelI`

    - #### mouseReleased

          public void mouseReleased(java.awt.event.MouseEvent e)

      Specified by:
        `mouseReleased` in interface `java.awt.event.MouseListener`

    - #### mouseClicked

          public void mouseClicked(java.awt.event.MouseEvent e)

      Specified by:
        `mouseClicked` in interface `java.awt.event.MouseListener`

    - #### mouseClicked

          public void mouseClicked(IMouseEvent me)

      Specified by:
        `mouseClicked` in interface `IPanelI`

    - #### mouseEntered

          public void mouseEntered(java.awt.event.MouseEvent e)

      Specified by:
        `mouseEntered` in interface `java.awt.event.MouseListener`

    - #### mouseExited

          public void mouseExited(java.awt.event.MouseEvent e)

      Specified by:
        `mouseExited` in interface `java.awt.event.MouseListener`

    - #### mouseMoved

          public void mouseMoved(java.awt.event.MouseEvent e)

      Specified by:
        `mouseMoved` in interface `java.awt.event.MouseMotionListener`

    - #### mouseMoved

          public void mouseMoved(IMouseEvent me)

      Specified by:
        `mouseMoved` in interface `IPanelI`

    - #### mouseDragged

          public void mouseDragged(java.awt.event.MouseEvent e)

      Specified by:
        `mouseDragged` in interface `java.awt.event.MouseMotionListener`

    - #### mouseDragged

          public void mouseDragged(IMouseEvent me)

      Specified by:
        `mouseDragged` in interface `IPanelI`

    - #### mouseWheelMoved

          public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)

      Specified by:
        `mouseWheelMoved` in interface `java.awt.event.MouseWheelListener`

    - #### mouseWheelMoved

          public void mouseWheelMoved(IMouseWheelEvent me)

      Specified by:
        `mouseWheelMoved` in interface `IPanelI`

    - #### keyPressed

          public void keyPressed(java.awt.event.KeyEvent e)

      Specified by:
        `keyPressed` in interface `java.awt.event.KeyListener`

    - #### keyPressed

          public void keyPressed(IKeyEvent e)

      Specified by:
        `keyPressed` in interface `IPanelI`

    - #### keyReleased

          public void keyReleased(java.awt.event.KeyEvent e)

      Specified by:
        `keyReleased` in interface `java.awt.event.KeyListener`

    - #### keyReleased

          public void keyReleased(IKeyEvent e)

      Specified by:
        `keyReleased` in interface `IPanelI`

    - #### keyTyped

          public void keyTyped(java.awt.event.KeyEvent e)

      Specified by:
        `keyTyped` in interface `java.awt.event.KeyListener`

    - #### keyTyped

          public void keyTyped(IKeyEvent e)

      Specified by:
        `keyTyped` in interface `IPanelI`

    - #### focusLost

          public void focusLost(java.awt.event.FocusEvent e)

      Specified by:
        `focusLost` in interface `java.awt.event.FocusListener`

    - #### focusGained

          public void focusGained(java.awt.event.FocusEvent e)

      Specified by:
        `focusGained` in interface `java.awt.event.FocusListener`

    - #### componentHidden

          public void componentHidden(java.awt.event.ComponentEvent e)

      Specified by:
        `componentHidden` in interface `java.awt.event.ComponentListener`

    - #### componentMoved

          public void componentMoved(java.awt.event.ComponentEvent e)

      Specified by:
        `componentMoved` in interface `java.awt.event.ComponentListener`

    - #### componentResized

          public void componentResized(java.awt.event.ComponentEvent e)

      Specified by:
        `componentResized` in interface `java.awt.event.ComponentListener`

    - #### componentShown

          public void componentShown(java.awt.event.ComponentEvent e)

      Specified by:
        `componentShown` in interface `java.awt.event.ComponentListener`

    - #### windowActivated

          public void windowActivated(java.awt.event.WindowEvent e)

      Specified by:
        `windowActivated` in interface `java.awt.event.WindowListener`

    - #### windowClosed

          public void windowClosed(java.awt.event.WindowEvent e)

      Specified by:
        `windowClosed` in interface `java.awt.event.WindowListener`

    - #### windowClosing

          public void windowClosing(java.awt.event.WindowEvent e)

      Specified by:
        `windowClosing` in interface `java.awt.event.WindowListener`

    - #### windowDeactivated

          public void windowDeactivated(java.awt.event.WindowEvent e)

      Specified by:
        `windowDeactivated` in interface `java.awt.event.WindowListener`

    - #### windowDeiconified

          public void windowDeiconified(java.awt.event.WindowEvent e)

      Specified by:
        `windowDeiconified` in interface `java.awt.event.WindowListener`

    - #### windowIconified

          public void windowIconified(java.awt.event.WindowEvent e)

      Specified by:
        `windowIconified` in interface `java.awt.event.WindowListener`

    - #### windowOpened

          public void windowOpened(java.awt.event.WindowEvent e)

      Specified by:
        `windowOpened` in interface `java.awt.event.WindowListener`

    - #### getBounds

          public IBounds getBounds()

      Specified by:
        `getBounds` in interface `IPanelI`

    - #### setBounds

          public void setBounds()

      Specified by:
        `setBounds` in interface `IPanelI`

    - #### saveDialog

          public void saveDialog()

      Specified by:
        `saveDialog` in interface `IPanelI`

    - #### chooseFile

          public IPanel.FileAndFilterIndex chooseFile(java.lang.String acceptableExtension,
                                                      java.lang.String extensionDescription,
                                                      java.lang.String approveButtonText,
                                                      boolean writing,
                                                      java.lang.String defaultPath,
                                                      java.io.File defaultFile)

    - #### chooseFile

          public IPanel.FileAndFilterIndex chooseFile(java.lang.String[] acceptableExtensions,
                                                      java.lang.String extensionDescription,
                                                      java.lang.String approveButtonText,
                                                      boolean writing,
                                                      java.lang.String defaultPath,
                                                      java.io.File defaultFile)

    - #### chooseFile

          public IPanel.FileAndFilterIndex chooseFile(java.lang.String[][] acceptableExtensions,
                                                      java.lang.String[] extensionDescriptions,
                                                      java.lang.String approveButtonText,
                                                      boolean writing,
                                                      java.lang.String defaultPath,
                                                      java.io.File defaultFile)