src/main/java/xelfi/top/TopDialog.java
author Jaroslav Tulach <jaroslav.tulach@xelfi.cz>
Tue, 17 Jan 2017 21:09:05 +0100
changeset 7 e25795e78b78
parent 0 189280700bc7
permissions -rw-r--r--
Allow access to getBase from the same package
jaroslav@0
     1
/**  Top level desktop dialog
jaroslav@0
     2
* @author Filip Dvorak
jaroslav@0
     3
* @version 2.0
jaroslav@0
     4
*/
jaroslav@0
     5
jaroslav@0
     6
package xelfi.top;
jaroslav@0
     7
jaroslav@0
     8
import java.awt.*;
jaroslav@0
     9
//import java.util.*;
jaroslav@0
    10
jaroslav@0
    11
//import xelfi.design.forms.XelfiDesignForm;
jaroslav@0
    12
//import xelfi.compiler.Output;
jaroslav@0
    13
jaroslav@0
    14
  /** Inherit this class to create a xelfi top level desktop dialog window.
jaroslav@0
    15
   */
jaroslav@0
    16
public class TopDialog extends Dialog
jaroslav@0
    17
{
jaroslav@0
    18
  private TopWindowBase base;
jaroslav@0
    19
jaroslav@0
    20
  /** Calls matching constructor of Dialog. Parent will be xelfi main window.*/
jaroslav@0
    21
  public TopDialog(String title, boolean modal)
jaroslav@0
    22
  {
jaroslav@0
    23
    super(TopLevel.getMenu(), title, modal);
jaroslav@0
    24
    base = new TopWindowBase(this);
jaroslav@0
    25
  }
jaroslav@0
    26
jaroslav@0
    27
  /** Calls matching constructor of Dialog. */
jaroslav@0
    28
  public TopDialog(Frame parent, boolean modal)
jaroslav@0
    29
  {
jaroslav@0
    30
    super(parent, modal);
jaroslav@0
    31
    base = new TopWindowBase(this);
jaroslav@0
    32
  }
jaroslav@0
    33
jaroslav@0
    34
  /** Calls matching constructor of Dialog. */
jaroslav@0
    35
  public TopDialog(Frame parent, String title, boolean modal)
jaroslav@0
    36
  {
jaroslav@0
    37
    super(parent, title, modal);
jaroslav@0
    38
    base = new TopWindowBase(this);
jaroslav@0
    39
  }
jaroslav@0
    40
jaroslav@0
    41
  public boolean handleEvent(Event ev)
jaroslav@0
    42
  {
jaroslav@0
    43
    if(base.handleEvent(ev)) return true;
jaroslav@0
    44
    else return super.handleEvent(ev);
jaroslav@0
    45
  }
jaroslav@0
    46
jaroslav@0
    47
    /** Handles Window menu items updating, setting window positions, etc. */
jaroslav@0
    48
  public void show()
jaroslav@0
    49
  {
jaroslav@0
    50
    base.beforeShow();
jaroslav@0
    51
    // Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
jaroslav@0
    52
    super.show();
jaroslav@0
    53
  }
jaroslav@0
    54
jaroslav@0
    55
    /** Handles Window menu items updating. */
jaroslav@0
    56
  public void hide()
jaroslav@0
    57
  {
jaroslav@0
    58
    super.hide();
jaroslav@0
    59
    base.afterHide();
jaroslav@0
    60
  }
jaroslav@0
    61
jaroslav@0
    62
  /** Handles focus switchinhg. The system needs to know the window that has got the focus. */
jaroslav@0
    63
  public boolean gotFocus(Event ev, Object what)
jaroslav@0
    64
  {
jaroslav@0
    65
    boolean bas = base.gotFocus(ev, what);
jaroslav@0
    66
    boolean par = super.gotFocus(ev, what);
jaroslav@0
    67
    return bas || par;
jaroslav@0
    68
  }
jaroslav@0
    69
jaroslav@0
    70
  /** Handles focus switchinhg. The system needs to know the window that has got the focus. */
jaroslav@0
    71
  public boolean lostFocus(Event ev, Object what)
jaroslav@0
    72
  {
jaroslav@0
    73
    boolean bas = base.lostFocus(ev, what);
jaroslav@0
    74
    boolean par = super.lostFocus(ev, what);
jaroslav@0
    75
    return bas || par;
jaroslav@0
    76
  }
jaroslav@0
    77
jaroslav@0
    78
    /** Key shortcuts */
jaroslav@0
    79
  public boolean keyDown(Event  e, int  key)
jaroslav@0
    80
  {
jaroslav@0
    81
    if(base.keyDown(e, key)) return true;
jaroslav@0
    82
    else return super.keyDown(e, key);
jaroslav@0
    83
  }
jaroslav@0
    84
jaroslav@0
    85
    /** Should be called before closing the frame is no longer needed. */
jaroslav@0
    86
  public void dispose()
jaroslav@0
    87
  {
jaroslav@0
    88
    base.done();
jaroslav@0
    89
    super.dispose();
jaroslav@0
    90
  }
jaroslav@0
    91
jaroslav@0
    92
    /** Adds item to the list of focused items for this frame. Focused items are items that will be
jaroslav@0
    93
      automatically enabled/disabled when the frame receives/looses a focus.
jaroslav@0
    94
      @param itemId new focused item. */
jaroslav@0
    95
  public void addFocusedItem(int itemId)
jaroslav@0
    96
  {
jaroslav@0
    97
    base.addFocusedItem(itemId);
jaroslav@0
    98
  }
jaroslav@0
    99
jaroslav@0
   100
    /** Removes item from the list of focused items for this frame. Focused items are items that will be
jaroslav@0
   101
      automatically enabled/disabled when the frame receives/looses a focus.
jaroslav@0
   102
      @param itemId focused item to remove */
jaroslav@0
   103
  public void removeFocusedItem(int itemId)
jaroslav@0
   104
  {
jaroslav@0
   105
    base.removeFocusedItem(itemId);
jaroslav@0
   106
  }
jaroslav@0
   107
jaroslav@7
   108
  protected TopWindowBase getBase()
jaroslav@0
   109
  {
jaroslav@0
   110
    return base;
jaroslav@0
   111
  }
jaroslav@0
   112
}
jaroslav@0
   113
jaroslav@0
   114