/* @(#)Methods.java   15 September 2005 */

/* Useful imports */

import edu.neu.ccs.*;
import edu.neu.ccs.gui.*;
import edu.neu.ccs.codec.*;
import edu.neu.ccs.console.*;
import edu.neu.ccs.filter.*;
import edu.neu.ccs.jpf.*;
import edu.neu.ccs.parser.*;
import edu.neu.ccs.pedagogy.*;
import edu.neu.ccs.quick.*;
import edu.neu.ccs.util.*;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.font.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import java.util.*;
import java.math.*;
import java.beans.*;
import java.lang.reflect.*;
import java.net.URL;
import java.util.regex.*;
import java.text.ParseException;

/** The sample starter class for Java Power Framework. */
public class Methods extends JPF 
{
    
    public static void main(String[] args) { 
        // LookAndFeelTools.showSelectLookAndFeelDialog();
        // LookAndFeelTools.adjustAllDefaultFontSizes(2);
        
        new Methods();
    }
    
    
    public void KeyEventFields() {
        StringInt[] data =
            StaticFields.getPublicStaticIntFieldData
                (KeyEvent.class);
        
        int N = data.length;
        
        console.out.println("KeyEvent: " + N + "\n");
        
        sortAndPrint(data);
    }
    
    
    public void InputEventFields() {
        StringInt[] data =
            StaticFields.getPublicStaticIntFieldData
                (InputEvent.class);
        
        int N = data.length;
        
        console.out.println("InputEvent: " + N + "\n");
        
        sortAndPrint(data);
    }
    
    
    private void sortAndPrint(StringInt[] data) {
        Arrays.sort(data, StringInt.stringFirst);
        print(data);
        
        Arrays.sort(data, StringInt.numberFirst);
        print(data);
    }
    
    
    private void print(StringInt[] data) {
        int wS = -30;
        int wN = 6;
        int wH = 6;
        
        int N = data.length;
        
        for (int i = 0; i < N; i++)
            console.out.println(data[i].toString(wS, wN, wH));
        
        console.out.println();
    }
    
    
    private BooleanStateArray bsa =
        new BooleanStateArray(9, 7, 3, 5, 7, 1);
    
    
    public boolean GetState(int key) {
        return bsa.getState(key);
    }
    
    
    public void SetState(int key, boolean state) {
        bsa.setState(key, state);
    }
    
}
