Ignore:
Timestamp:
07/24/19 11:23:45 (5 years ago)
Author:
bln4
Message:

Renamed Frame.getItems() to Frame.getSortedItems() to better represent its functionality.

-> org.apollo.ApolloGestureActions
-> org.apollo.ApolloSystem
-> org.expeditee.actions.Actions
-> org.expeditee.actions.Debug
-> org.expeditee.actions.ExploratorySearchActions
-> org.expeditee.actions.JfxBrowserActions
-> org.expeditee.actions.Misc
-> org.expeditee.actions.Navigation
-> org.expeditee.actions.ScriptBase
-> org.expeditee.actions.Simple
-> org.expeditee.agents.ComputeTree
-> org.expeditee.agents.CopyTree
-> org.expeditee.agents.DisplayComet
-> org.expeditee.agents.DisplayTree
-> org.expeditee.agents.DisplayTreeLeaves
-> org.expeditee.agents.GraphFramesetLinks
-> org.expeditee.agents.TreeProcessor
-> org.expeditee.gio.gesture.StandardGestureActions
-> org.expeditee.gui.DisplayController
-> org.expeditee.gui.FrameCreator
-> org.expeditee.gui.FrameIO
-> org.expeditee.io.DefaultTreeWriter
-> org.expeditee.io.JavaWriter
-> org.expeditee.io.PDF2Writer
-> org.expeditee.io.TXTWriter
-> org.expeditee.io.WebParser
-> org.expeditee.io.flowlayout.XGroupItem
-> org.expeditee.items.Dot
-> org.expeditee.items.Item
-> org.expeditee.items.ItemUtils
-> org.expeditee.network.FrameShare
-> org.expeditee.stats.TreeStats


Created ItemsList class to wrap ArrayList<Item>. Frames now use this new class to store its body list (used for display) as well as its primaryBody and surrogateBody.

-> org.expeditee.agents.Format
-> org.expeditee.agents.HFormat
-> org.expeditee.gio.gesture.StandardGestureActions
-> org.expeditee.gui.Frame
-> org.expeditee.gui.FrameUtils


Refactorted Frame.setResort(bool) to Frame.invalidateSorted() to better function how it is intended to with a more accurate name.

-> org.expeditee.agents.Sort


When writing out .exp files and getting attributes to respond to LEFT + RIGHT click, boolean items are by default true. This has always been the case. An ammendment to this is that defaults can now be established.
Also added 'EnterClick' functionality. If cursored over a item with this property and you press enter, it acts as if you have clicked on it instead.

-> org.expeditee.assets.resources-public.framesets.authentication.1.exp to 6.exp
-> org.expeditee.gio.gesture.StandardGestureActions
-> org.expeditee.gio.input.KBMInputEvent
-> org.expeditee.gio.javafx.JavaFXConversions
-> org.expeditee.gio.swing.SwingConversions
-> org.expeditee.gui.AttributeUtils
-> org.expeditee.io.Conversion
-> org.expeditee.io.DefaultFrameWriter
-> org.expeditee.items.Item


Fixed a bug caused by calling Math.abs on Integer.MIN_VALUE returning unexpected result. Due to zero being a thing, you cannot represent Math.abs(Integer.MIN_VALUE) in a Integer object. The solution is to use Integer.MIN_VALUE + 1 instead of Integer.MIN_VALUE.

-> org.expeditee.core.bounds.CombinationBounds
-> org.expeditee.io.flowlayout.DimensionExtent


Recoded the contains function in EllipticalBounds so that intersection tests containing circles work correctly.

-> org.expeditee.core.bounds.EllipticalBounds


Added toString() to PolygonBounds to allow for useful printing during debugging.

-> org.expeditee.core.bounds.PolygonBounds

Implemented Surrogate Mode!

-> org.expeditee.encryption.io.EncryptedExpReader
-> org.expeditee.encryption.io.EncryptedExpWriter
-> org.expeditee.encryption.items.surrogates.EncryptionDetail
-> org.expeditee.encryption.items.surrogates.Label
-> org.expeditee.gui.FrameUtils
-> org.expeditee.gui.ItemsList
-> org.expeditee.items.Item
-> org.expeditee.items.Text


???? Use Integer.MAX_VALUE cast to a float instead of Float.MAX_VALUE. This fixed some bug which I cannot remember.

-> org.expeditee.gio.TextLayoutManager
-> org.expeditee.gio.swing.SwingTextLayoutManager


Improved solution for dealing with the F10 key taking focus away from Expeditee due to it being a assessibility key.

-> org.expeditee.gio.swing.SwingInputManager


Renamed variable visibleItems in FrameGraphics.paintFrame to itemsToPaintCanditates to better represent functional intent.

-> org.expeditee.gui.FrameGraphics


Improved checking for if personal resources exist before recreating them

-> org.expeditee.gui.FrameIO


Repeated messages to message bay now have a visual feedback instead of just a beep. This visual feedback is in the form of a count of the amount of times it has repeated.

-> org.expeditee.gui.MessageBay


Updated comment on the Vector class to explain what vectors are.

-> org.expeditee.gui.Vector


Added constants to represent all of the property keys in DefaultFrameReader and DefaultFrameWriter.

-> org.expeditee.io.DefaultFrameReader
-> org.expeditee.io.DefaultFrameWriter


Updated the KeyList setting to be more heirarcial with how users will store their Secrets.

-> org.expeditee.settings.identity.secrets.KeyList

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gio/swing/SwingInputManager.java

    r1248 r1415  
    44import java.awt.Color;
    55import java.awt.Dimension;
     6import java.awt.KeyEventDispatcher;
     7import java.awt.KeyboardFocusManager;
    68import java.awt.MouseInfo;
    79import java.awt.Robot;
     
    3335import org.expeditee.gio.input.InputEvent.InputType;
    3436import org.expeditee.gio.input.KBMInputEvent;
     37import org.expeditee.gio.input.KBMInputEvent.Key;
     38import org.expeditee.gio.input.StandardInputEventListeners;
    3539import org.expeditee.gui.Popup;
    3640import org.expeditee.gui.PopupManager;
     
    3842
    3943public class SwingInputManager extends InputManager implements ComponentListener, WindowListener, WindowStateListener,
    40                 KeyListener, MouseListener, MouseMotionListener, MouseWheelListener {
     44                KeyListener, MouseListener, MouseMotionListener, MouseWheelListener, KeyEventDispatcher {
    4145        /** Singleton instance. */
    4246        private static SwingInputManager _instance;
     
    7377                // Sign up to receive input as events
    7478                SwingGraphicsManager graphicsManager = SwingMiscManager.getIfUsingSwingGraphicsManager();
    75                 if (graphicsManager != null) {
     79                if (graphicsManager != null) {                 
    7680                        graphicsManager.addWindowListener(swingInputManager);
    7781                        graphicsManager.addWindowStateListener(swingInputManager);
     
    9195                        graphicsManager.getGlassPane().setVisible(true);
    9296                        graphicsManager.getContentPane().setBackground(Color.WHITE);
    93                         graphicsManager.getContentPane().setFocusTraversalKeysEnabled(false);
    94                 }
     97                }
     98                graphicsManager.getContentPane().setFocusTraversalKeysEnabled(false);
    9599
    96100                // Set up the robot (for controlling the mouse)
     
    111115                });
    112116                _timer.setRepeats(false);
     117               
     118//              AWTEventListener[] listeners = Toolkit.getDefaultToolkit().getAWTEventListeners();
     119//              for (AWTEventListener listener: listeners) {
     120//                      System.err.println(listener);
     121//                      F10FriendlyKeyboardFocusManager keyboardManager = new F10FriendlyKeyboardFocusManager(listener);
     122//                      KeyboardFocusManager.setCurrentKeyboardFocusManager(keyboardManager);
     123//              }
     124//             
     125//              F10FriendlyKeyboardFocusManager keyboardManager = new F10FriendlyKeyboardFocusManager(this);
     126//              KeyboardFocusManager.setCurrentKeyboardFocusManager(keyboardManager);
     127
     128                KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(this);
    113129        }
    114130
     
    222238        @Override
    223239        public void mouseWheelMoved(MouseWheelEvent e) {
     240                //ensureShiftAltStateCorrect(e);
    224241                // Give widgets first whack at input
    225242                distributeNativeInput(e);
     
    247264        @Override
    248265        public void mouseMoved(MouseEvent e) {
     266                //ensureShiftAltStateCorrect(e);
     267               
    249268                // Update the cursor position
    250269                updateCursorPosition(e.getX(), e.getY());
     
    271290        @Override
    272291        public void mouseClicked(MouseEvent e) {
     292                //ensureShiftAltStateCorrect(e);
    273293                // Give widgets first whack at input
    274294                distributeNativeInput(e);
     
    282302        @Override
    283303        public void mousePressed(MouseEvent e) {
     304                //ensureShiftAltStateCorrect(e);
    284305                mouseAction(e, true);
    285306        }
     
    287308        @Override
    288309        public void mouseReleased(MouseEvent e) {
     310                //ensureShiftAltStateCorrect(e);
    289311                mouseAction(e, false);
    290312        }
     
    324346                } catch (Exception exception) {
    325347                        System.err.println("SwingInputManager::mouseAction: " + exception.getMessage());
     348                        exception.printStackTrace();
    326349                }
    327350        }
     
    349372        @Override
    350373        public void keyTyped(KeyEvent e) {
    351                 //System.err.println("SwingInputManager::keyTyped::KeyEvent: " + e.getKeyChar());
     374                //System.err.println("SwingInputManager::keyTyped::" + KeyEvent.getKeyText(e.getKeyCode()));
     375                //ensureShiftAltStateCorrect(e);
     376               
    352377                // Give widgets first whack at input
    353378                distributeNativeInput(e);
    354379                if (e.isConsumed()) {
    355                         //System.err.println("SwingInputManager::keyTyped::Widget/Popup Consumed KeyEvent");
    356                         return;
    357                 }
    358 
     380                        return;
     381                }
     382               
    359383                try {
    360384                        // Ignore escape character and control characters
     
    376400        @Override
    377401        public void keyPressed(KeyEvent e) {
     402                //System.err.println("SwingInputManager::keyPressed::" + KeyEvent.getKeyText(e.getKeyCode()));
     403                //ensureShiftAltStateCorrect(e);
    378404                keyAction(e, true);
    379405        }
     
    381407        @Override
    382408        public void keyReleased(KeyEvent e) {
     409                //System.err.println("SwingInputManager::keyReleased::" + KeyEvent.getKeyText(e.getKeyCode()));
    383410                keyAction(e, false);
    384411        }
     412
     413//      private void ensureShiftAltStateCorrect(java.awt.event.InputEvent inputEvent) {
     414////            Component source = (Component) e.getSource();
     415////            int id = KeyEvent.KEY_RELEASED;
     416////            long when = System.currentTimeMillis();
     417////            int keyCode = KeyEvent.VK_UNDEFINED;
     418////            char keyChar = KeyEvent.CHAR_UNDEFINED;
     419//             
     420////            int modifiers = (e.getModifiers() & ~KeyEvent.SHIFT_DOWN_MASK);
     421////            KeyEvent event = new KeyEvent(source, id, when, modifiers, keyCode, keyChar);
     422////            Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(event);
     423//             
     424//              boolean shiftIsDownInRecordedState = StandardInputEventListeners.kbmStateListener.isKeyDown(Key.SHIFT);
     425//              boolean shiftIsDownEventState = inputEvent.isShiftDown();
     426//              if (shiftIsDownInRecordedState && !shiftIsDownEventState) {
     427//                      try {
     428//                              // Create an input event
     429//                              InputEvent event = new KBMInputEvent(KBMInputEvent.EventType.KEY_UP, KBMInputEvent.Key.SHIFT);
     430//                              System.err.println("SwingInputManager::ensureShiftAltStateCorrect::Sending followup Shift Up");
     431//                             
     432//                              // Translate and perform the input
     433//                              distributeInputEvent(event);
     434//                      } catch (Exception exception) {
     435//                              System.err.println(exception.getMessage());
     436//                      }
     437//              }
     438               
     439//              System.err.println("SwingInputManager::ensureShiftAltStateCorrect::datastructure shift down: " + shiftIsDownInRecordedState);
     440//              if (shiftIsDownInRecordedState != e.isShiftDown() && !e.isShiftDown()) {
     441//                      System.err.println("SwingInputManager::ensureShiftAltStateCorrect::Sending shift up event.");
     442//                      int modifiers = (e.getModifiers() & ~KeyEvent.SHIFT_DOWN_MASK);
     443//                      KeyEvent event = new KeyEvent(source, id, when, modifiers, keyCode, keyChar);
     444//                      Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(event);
     445//              }               
     446               
     447//              boolean altIsDown = StandardInputEventListeners.kbmStateListener.isKeyDown(Key.ALT);
     448//              if (altIsDown != e.isAltDown() && !e.isAltDown()) {
     449//                      System.err.println("SwingInputManager::ensureShiftAltStateCorrect::Sending alt up event.");
     450//                      int modifiers = (e.getModifiers() & ~KeyEvent.ALT_DOWN_MASK);
     451//                      KeyEvent event = new KeyEvent(source, id, when, modifiers, keyCode, keyChar);
     452//                      Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(event);
     453//              }
     454//      }
    385455
    386456        /** Handles key pressed/released events. */
    387457        private void keyAction(KeyEvent e, boolean down) {
    388                 //System.err.println("SwingInputManager::keyAction::KeyEvent: " + e.getKeyChar());
    389458                // Give widgets first whack at input
    390459                distributeNativeInput(e);
    391460                if (e.isConsumed()) {
    392                         //System.err.println("SwingInputManager::keyAction::Was consumed: " + e.isConsumed());
    393                         return;
    394                 }
    395                 //System.err.println("SwingInputManager::keyAction::Was consumed: " + e.isConsumed());
    396 
     461                        return;
     462                }
     463               
    397464                KBMInputEvent.Key key = SwingConversions.fromSwingVirtualKey(e.getKeyCode());
    398465                if (key == null) {
    399466                        return;
    400467                }
    401 
     468               
    402469                try {
    403470                        // Create an input event
     
    424491        /** Forwards the given input event to the listener if it is listening for it. */
    425492        private void forwardNativeInputToListener(Object listener, java.awt.event.InputEvent event) {
    426                 //System.err.println("SwingInputManager::forwardNativeInputToListener");
    427493                if (listener == null || event == null) {
    428494                        return;
    429495                }
    430                 //System.err.println("SwingInputManager::forwardNativeInputToListener::Recieving input: " + event.toString());
     496               
    431497                if (listener instanceof KeyListener && event instanceof KeyEvent) {
    432498
    433499                        KeyListener keyListener = (KeyListener) listener;
    434500                        KeyEvent ke = (KeyEvent) event;
    435 
     501                       
    436502                        switch (event.getID()) {
    437503                        case KeyEvent.KEY_PRESSED:
     
    442508                                return;
    443509                        case KeyEvent.KEY_TYPED:
    444                                 //System.err.println("SwingInputManager::forwardNativeInputToListener::Recieving key typed: " + event.toString());
    445510                                keyListener.keyTyped(ke);
    446511                                return;
     
    632697
    633698        }
     699
     700        @Override
     701        public boolean dispatchKeyEvent(KeyEvent e) {
     702                if (e.getKeyCode() == KeyEvent.VK_F10) {
     703                        if (KeyEvent.KEY_PRESSED == e.getID()) {
     704                                keyPressed(e);
     705                        } else if (KeyEvent.KEY_RELEASED == e.getID()) {
     706                                keyReleased(e);
     707                        } else if (KeyEvent.KEY_TYPED == e.getID()) {
     708                                keyTyped(e);
     709                        } else {
     710                                System.err.println("SwingInputManager::dispatchKeyEvent::Found Key that is not pressed, "
     711                                                + "released or typed.  What is it?  " + e.getID());
     712                        }
     713                        return true;
     714                }
     715                return false;
     716        }
    634717}
Note: See TracChangeset for help on using the changeset viewer.