Index: trunk/src/org/expeditee/gui/FrameKeyboardActions.java
===================================================================
--- trunk/src/org/expeditee/gui/FrameKeyboardActions.java	(revision 943)
+++ trunk/src/org/expeditee/gui/FrameKeyboardActions.java	(revision 944)
@@ -63,59 +63,175 @@
 
 	protected FrameKeyboardActions() {
-		IndirectKeyboardActions.getInstance().setDropDownAction(new KeyboardAction() {
-			@Override
-			public void exec(KeyboardInfo info) {
-				// Get the last text item and drop from in
-				Item lastText = null;
-				for (Item i : info.enclosed) {
-					if (i instanceof Text) {
-						lastText = i;
+		IndirectKeyboardActions.getInstance().setDropDownAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						// Get the last text item and drop from in
+						Item lastText = null;
+						for (Item i : info.enclosed) {
+							if (i instanceof Text) {
+								lastText = i;
+							}
+						}
+						// Drop from the item if there was a text item in the
+						// box
+						if (lastText != null) {
+							Drop(lastText, false);
+						} else {
+							// Move to the top of the box
+							Rectangle rect = info.firstConnected
+									.getEnclosedShape().getBounds();
+							int newX = rect.x + Text.MARGIN_LEFT;
+							int newY = Text.MARGIN_LEFT
+									+ rect.y
+									+ DisplayIO.getCurrentFrame()
+											.getItemTemplate()
+											.getBoundsHeight();
+							moveCursorAndFreeItems(newX, newY);
+							// TODO can resetOffset be put inside
+							// moveCursorAndFreeItems
+							FrameMouseActions.resetOffset();
+						}
+						return null;
 					}
-				}
-				// Drop from the item if there was a text item in the box
-				if (lastText != null) {
-					Drop(lastText, false);
-				} else {
-					// Move to the top of the box
-					Rectangle rect = info.firstConnected.getEnclosedShape()
-							.getBounds();
-					int newX = rect.x + Text.MARGIN_LEFT;
-					int newY = Text.MARGIN_LEFT
-							+ rect.y
-							+ DisplayIO.getCurrentFrame().getItemTemplate()
-									.getBoundsHeight();
-					moveCursorAndFreeItems(newX, newY);
-					// TODO can resetOffset be put inside
-					// moveCursorAndFreeItems
-					FrameMouseActions.resetOffset();
-				}
-			}  
-		});
-		IndirectKeyboardActions.getInstance().setSizeUpAction(new KeyboardAction() {
-			@Override
-			public void exec(final KeyboardInfo info) {
-				SetSize(info.firstConnected, info.repeat, false, true, info.isControlDown);
-			}		
-		});
-		IndirectKeyboardActions.getInstance().setSizeDownAction(new KeyboardAction() {
-			@Override
-			public void exec(final KeyboardInfo info) {
-				SetSize(info.firstConnected, -info.repeat, false, true, info.isControlDown);
-			}		
-		});
-		IndirectKeyboardActions.getInstance().setChangeColorAction(new KeyboardAction() {
-			@Override
-			public void exec(final KeyboardInfo info) {
-				if (info.connected.size() > 0) {
-					for (Item d : info.lineEnds) {
-						if (info.isControlDown)
-							SetGradientColor(d, info.isShiftDown);
-						else
-							SetFillColor(d, info.isShiftDown);
-						break;
+				});
+		IndirectKeyboardActions.getInstance().setSizeUpAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						SetSize(info.firstConnected, info.repeat, false, true,
+								info.isControlDown);
+						return null;
 					}
-				}
-			} 
-		});
+				});
+		IndirectKeyboardActions.getInstance().setSizeDownAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						SetSize(info.firstConnected, -info.repeat, false, true,
+								info.isControlDown);
+						return null;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setChangeColorAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						if (info.connected.size() > 0) {
+							for (Item d : info.lineEnds) {
+								if (info.isControlDown)
+									SetGradientColor(d, info.isShiftDown);
+								else
+									SetFillColor(d, info.isShiftDown);
+								break;
+							}
+						}
+						return null;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setToggleAnnotationAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						ToggleAnnotation(info.firstConnected);
+						return null;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setChangeFontStyleAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						ToggleFontStyle(info.firstConnected);
+						return null;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setChangeFontFamilyAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						ToggleFontFamily(info.firstConnected);
+						return null;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setInsertDateAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						AddDate(info.firstConnected);
+						return null;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setSaveAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						Save();
+						return null;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setCreateNewTextAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(KeyboardInfo info, char c) {
+						Text t = DisplayIO.getCurrentFrame().createBlankText(
+								"" + c);
+
+						Point2D.Float newMouse = t.insertChar(c,
+								DisplayIO.getMouseX(), FrameMouseActions.getY());
+						DisplayIO.setCursorPosition(newMouse.x, newMouse.y,
+								false);
+
+						return t;
+					}
+				});
+		IndirectKeyboardActions.getInstance().setInsertCharacterAction(
+				new KeyboardAction() {
+					@Override
+					public Text exec(final KeyboardInfo info, final char c) {
+						float oldY = FrameMouseActions.MouseY;
+						Point2D.Float newMouse = null;
+						if (c == '\t') {
+							if (info.isShiftDown) {
+								newMouse = ((Text)info.firstConnected).removeTab(c, DisplayIO.getFloatMouseX(),
+										FrameMouseActions.MouseY);
+							} else {
+								newMouse = ((Text)info.firstConnected).insertTab(c, DisplayIO.getFloatMouseX(),
+										FrameMouseActions.MouseY);
+							}
+						} else {
+							newMouse = ((Text)info.firstConnected).insertChar(c, DisplayIO.getFloatMouseX(),
+									FrameMouseActions.MouseY);
+						}
+						/*
+						 * check if the user hit enter and the cursor is now on another text
+						 * item
+						 */
+						if (oldY < newMouse.y) {
+							// float diff = newMouse.y - oldY;
+							// System.out.print("c");
+							Rectangle rect = info.firstConnected.getPolygon().getBounds();
+
+							// Text lastEdited = FrameUtils.getLastEdited();
+							// FrameUtils.setLastEdited(null);
+
+							Item justBelow = FrameUtils.onItem(DisplayIO.getCurrentFrame(),
+									info.firstConnected.getX() + 10, rect.y + rect.height + 1, false);
+
+							// FrameUtils.setLastEdited(lastEdited);
+
+							// Dont drop unless
+							if (justBelow != null && justBelow instanceof Text
+									&& justBelow != info.firstConnected) {
+								// Drop all the items below it down!
+								// Get the list of items that must be dropped
+								List<Text> column = DisplayIO.getCurrentFrame().getColumn(info.firstConnected);
+								FrameUtils.Align(column, false, 0);
+							}
+						}
+
+						DisplayIO.setCursorPosition(newMouse.x, newMouse.y, false);
+						return (Text) info.firstConnected;
+					}
+				});
 	}
 
@@ -185,7 +301,9 @@
 			return;
 		}
-		
-		if(isShiftDown && MagneticConstraints.getInstance().keyHit(-ch, on)) return;
-		else if(MagneticConstraints.getInstance().keyHit(ch, on)) return;
+
+		if (isShiftDown && MagneticConstraints.getInstance().keyHit(-ch, on))
+			return;
+		else if (MagneticConstraints.getInstance().keyHit(ch, on))
+			return;
 
 		if (_toRemove != null && on != _toRemove) {
@@ -251,48 +369,8 @@
 		}
 
-		float oldY = FrameMouseActions.MouseY;
-
 		DisplayIO.setTextCursor(text, Text.NONE);
-		Point2D.Float newMouse = null;
-		if (ch == '\t') {
-			if (isShiftDown) {
-				newMouse = text.removeTab(ch, DisplayIO.getFloatMouseX(),
-						FrameMouseActions.MouseY);
-			} else {
-				newMouse = text.insertTab(ch, DisplayIO.getFloatMouseX(),
-						FrameMouseActions.MouseY);
-			}
-		} else {
-			newMouse = text.insertChar(ch, DisplayIO.getFloatMouseX(),
-					FrameMouseActions.MouseY);
-		}
-		/*
-		 * check if the user hit enter and the cursor is now on another text
-		 * item
-		 */
-		if (oldY < newMouse.y) {
-			// float diff = newMouse.y - oldY;
-			// System.out.print("c");
-			Rectangle rect = text.getPolygon().getBounds();
-
-			// Text lastEdited = FrameUtils.getLastEdited();
-			// FrameUtils.setLastEdited(null);
-
-			Item justBelow = FrameUtils.onItem(DisplayIO.getCurrentFrame(),
-					text.getX() + 10, rect.y + rect.height + 1, false);
-
-			// FrameUtils.setLastEdited(lastEdited);
-
-			// Dont drop unless
-			if (justBelow != null && justBelow instanceof Text
-					&& justBelow != on) {
-				// Drop all the items below it down!
-				// Get the list of items that must be dropped
-				List<Text> column = DisplayIO.getCurrentFrame().getColumn(on);
-				FrameUtils.Align(column, false, 0);
-			}
-		}
-
-		DisplayIO.setCursorPosition(newMouse.x, newMouse.y, false);
+		IndirectKeyboardActions.getInstance().getInsertCharacterAction()
+				.exec(new KeyboardInfo(null, ch, isShiftDown, isShiftDown,
+						_enclosedItems, text, _enclosedItems, _enclosedItems), ch);
 
 		// This repaint is needed for WINDOWS only?!?!? Mike is not sure why!
@@ -368,11 +446,6 @@
 	 */
 	private static Text createText(char start) {
-		Text t = DisplayIO.getCurrentFrame().createBlankText("" + start);
-
-		Point2D.Float newMouse = t.insertChar(start, DisplayIO.getMouseX(),
-				FrameMouseActions.getY());
-		DisplayIO.setCursorPosition(newMouse.x, newMouse.y, false);
-
-		return t;
+		return IndirectKeyboardActions.getInstance().getCreateNewTextAction()
+				.exec(new KeyboardInfo(null, start, false, false, _enclosedItems, _toRemove, _enclosedItems, _enclosedItems), start);
 	}
 
@@ -461,6 +534,6 @@
 
 		if (keyCode >= KeyEvent.VK_F1 && keyCode <= KeyEvent.VK_F12) {
-			functionKey(FunctionKey.values()[keyCode - KeyEvent.VK_F1 + 1], e
-					.isShiftDown(), e.isControlDown());
+			functionKey(FunctionKey.values()[keyCode - KeyEvent.VK_F1 + 1],
+					e.isShiftDown(), e.isControlDown());
 			return;
 		} else if (e.isAltDown()) {
@@ -511,6 +584,6 @@
 		case KeyEvent.VK_ESCAPE:
 			// Do escape after control so Ctl+Escape does not perform DropDown
-			functionKey(FunctionKey.DropDown, e.isShiftDown(), e
-					.isControlDown());
+			functionKey(FunctionKey.DropDown, e.isShiftDown(),
+					e.isControlDown());
 			SessionStats.Escape();
 			break;
@@ -626,6 +699,6 @@
 			// then scroll backup to the title
 			if (textItems.size() > 0) {
-				DisplayIO.MoveCursorToEndOfItem(textItems
-						.get(textItems.size() - 1));
+				DisplayIO
+						.MoveCursorToEndOfItem(textItems.get(textItems.size() - 1));
 			}
 			return;
@@ -677,6 +750,6 @@
 		// add the text of the item to the clipboard
 		StringSelection selection = new StringSelection(string);
-		Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selection,
-				null);
+		Toolkit.getDefaultToolkit().getSystemClipboard()
+				.setContents(selection, null);
 	}
 
@@ -848,9 +921,9 @@
 			return;
 		case KeyEvent.VK_C:
-			if(FreeItems.itemsAttachedToCursor()) {
+			if (FreeItems.itemsAttachedToCursor()) {
 				ItemSelection.copyClone();
 				return;
 			}
-			if(current instanceof Text) {
+			if (current instanceof Text) {
 				copyItemToClipboard(current);
 			}
@@ -881,5 +954,6 @@
 			if (current == null)
 				return;
-			if (current != null && !current.hasPermission(UserAppliedPermission.full)) {
+			if (current != null
+					&& !current.hasPermission(UserAppliedPermission.full)) {
 				MessageBay
 						.displayMessage("Insufficient permission toggle the items mark");
@@ -892,5 +966,5 @@
 			break;
 		case KeyEvent.VK_Z:
-			if(isShiftDown) {
+			if (isShiftDown) {
 				DisplayIO.getCurrentFrame().redo();
 			} else {
@@ -956,5 +1030,4 @@
 			 * shortcut for saving a document in most word processors and text
 			 * editors!
-			 * 
 			 */
 			if (!isShiftDown) {
@@ -1045,33 +1118,74 @@
 				switch (key) {
 				case DropDown:
-					IndirectKeyboardActions.getInstance().getDropDownAction().exec(
-							new KeyboardInfo(key, repeat, isShiftDown, isControlDown, enclosed, firstConnected, connected, lineEnds));
+					IndirectKeyboardActions
+							.getInstance()
+							.getDropDownAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case SizeUp:
-					IndirectKeyboardActions.getInstance().getSizeUpAction().exec(
-							new KeyboardInfo(key, repeat, isShiftDown, isControlDown, enclosed, firstConnected, connected, lineEnds));
+					IndirectKeyboardActions
+							.getInstance()
+							.getSizeUpAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case SizeDown:
-					IndirectKeyboardActions.getInstance().getSizeDownAction().exec(
-							new KeyboardInfo(key, repeat, isShiftDown, isControlDown, enclosed, firstConnected, connected, lineEnds));
+					IndirectKeyboardActions
+							.getInstance()
+							.getSizeDownAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case ChangeColor:
-					IndirectKeyboardActions.getInstance().getChangeColorAction().exec(
-							new KeyboardInfo(key, repeat, isShiftDown, isControlDown, enclosed, firstConnected, connected, lineEnds));
+					IndirectKeyboardActions
+							.getInstance()
+							.getChangeColorAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case ToggleAnnotation:
-					ToggleAnnotation(firstConnected);
+					IndirectKeyboardActions
+							.getInstance()
+							.getToggleAnnotationAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case ChangeFontStyle:
-					ToggleFontStyle(firstConnected);
+					IndirectKeyboardActions
+							.getInstance()
+							.getChangeFontStyleAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case ChangeFontFamily:
-					ToggleFontFamily(firstConnected);
+					IndirectKeyboardActions
+							.getInstance()
+							.getChangeFontFamilyAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case InsertDate:
-					AddDate(firstConnected);
+					IndirectKeyboardActions
+							.getInstance()
+							.getInsertDateAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					break;
 				case Save:
-					Save();
+					IndirectKeyboardActions
+							.getInstance()
+							.getSaveAction()
+							.exec(new KeyboardInfo(key, repeat, isShiftDown,
+									isControlDown, enclosed, firstConnected,
+									connected, lineEnds), (char) 0);
 					MessageBay.displayMessage(displayMessage);
 					break;
@@ -1097,9 +1211,10 @@
 				FrameKeyboardActions.Refresh();
 				return;
-//				if (isControlDown) {
-//					UserSettings.ScaleFactor.set(UserSettings.ScaleFactor.get() - 0.05f);
-//					Misc.repaint();
-//					return;
-//				}
+				// if (isControlDown) {
+				// UserSettings.ScaleFactor.set(UserSettings.ScaleFactor.get() -
+				// 0.05f);
+				// Misc.repaint();
+				// return;
+				// }
 			case SizeUp:
 				zoomFrame(DisplayIO.getCurrentFrame(), 1.1f);
@@ -1107,9 +1222,10 @@
 				FrameKeyboardActions.Refresh();
 				return;
-//				if (isControlDown) {
-//					UserSettings.ScaleFactor.set(UserSettings.ScaleFactor.get() + 0.05f);
-//					Misc.repaint();
-//					return;
-//				}
+				// if (isControlDown) {
+				// UserSettings.ScaleFactor.set(UserSettings.ScaleFactor.get() +
+				// 0.05f);
+				// Misc.repaint();
+				// return;
+				// }
 			default:
 				MessageBay.displayMessageOnce(displayMessage);
@@ -1339,13 +1455,13 @@
 
 						// Add previous button to the new frame
-						frameCreator.addPreviousButton(moreFrame, firstFrame
-								.getName());
+						frameCreator.addPreviousButton(moreFrame,
+								firstFrame.getName());
 						Item first = current.getAnnotation("first");
 						if (first != null) {
-							frameCreator.addFirstButton(moreFrame, first
-									.getLink());
+							frameCreator.addFirstButton(moreFrame,
+									first.getLink());
 						} else {
-							frameCreator.addFirstButton(moreFrame, firstFrame
-									.getName());
+							frameCreator.addFirstButton(moreFrame,
+									firstFrame.getName());
 						}
 						// Add the @next if we are pasting
@@ -1361,5 +1477,6 @@
 						if (!mouseMoved) {
 							Item moreTitle = moreFrame.getTitleItem();
-							moreTitle.setOverlayPermission(UserAppliedPermission.full);
+							moreTitle
+									.setOverlayPermission(UserAppliedPermission.full);
 							Drop(moreTitle, bPasting);
 						}
@@ -1592,15 +1709,14 @@
 		return newItemText;
 	}
-	
+
 	private static boolean refreshAnchors(Collection<Item> items) {
 		boolean bReparse = false;
-		
-		for(Item i : items) {
-			Float anchorLeft   = i.getAnchorLeft();
-			Float anchorRight  = i.getAnchorRight();
-			Float anchorTop    = i.getAnchorTop();
+
+		for (Item i : items) {
+			Float anchorLeft = i.getAnchorLeft();
+			Float anchorRight = i.getAnchorRight();
+			Float anchorTop = i.getAnchorTop();
 			Float anchorBottom = i.getAnchorBottom();
-	
-			
+
 			if (anchorLeft != null) {
 				i.setAnchorLeft(anchorLeft);
@@ -1609,5 +1725,5 @@
 				}
 			}
-			
+
 			if (anchorRight != null) {
 				i.setAnchorRight(anchorRight);
@@ -1616,5 +1732,5 @@
 				}
 			}
-			
+
 			if (anchorTop != null) {
 				i.setAnchorTop(anchorTop);
@@ -1623,5 +1739,5 @@
 				}
 			}
-			
+
 			if (anchorBottom != null) {
 				i.setAnchorBottom(anchorBottom);
@@ -1633,25 +1749,27 @@
 		return bReparse;
 	}
-	
+
 	public static void zoomFrame(Frame frame, double scaleFactor) {
-		
+
 		int x = FrameMouseActions.getX(), y = FrameMouseActions.getY();
-		
+
 		if (frame == null) {
 			return;
 		}
-		
+
 		Collection<Item> items = frame.getVisibleItems();
-		
-		for(Item item : items) {
-			if(item instanceof Text && item.getSize() <= Text.MINIMUM_FONT_SIZE && scaleFactor < 1) {
+
+		for (Item item : items) {
+			if (item instanceof Text
+					&& item.getSize() <= Text.MINIMUM_FONT_SIZE
+					&& scaleFactor < 1) {
 				return;
 			}
 		}
-		
+
 		for (Vector v : frame.getVectors()) {
 			v.Source.scale((float) scaleFactor, x, y);
 		}
-		
+
 		for (Item item : items) {
 			// This line is only needed for circles!!
@@ -1713,6 +1831,7 @@
 			if (item.isFrameName()) {
 				// scale the entire frame
-				if(diff != 0) {
-					zoomFrame(DisplayIO.getCurrentFrame(), diff > 0 ? 1.1 : 0.909090909);
+				if (diff != 0) {
+					zoomFrame(DisplayIO.getCurrentFrame(), diff > 0 ? 1.1
+							: 0.909090909);
 					DisplayIO.getCurrentFrame().refreshSize();
 					FrameKeyboardActions.Refresh();
@@ -1751,5 +1870,5 @@
 
 			}// Enclosed circle centers are resized with the center as origin
-			// Just add the circle center to the list of items to size
+				// Just add the circle center to the list of items to size
 			else if (!toSet.hasEnclosures() && !(toSet instanceof Text)
 					&& toSet.isLineEnd()) {
@@ -1775,10 +1894,10 @@
 			}
 		}
-		
+
 		// add widgets to notify
-		for(Item i : toSize) {
-			if(i instanceof WidgetEdge) {
+		for (Item i : toSize) {
+			if (i instanceof WidgetEdge) {
 				widgets.add(((WidgetEdge) i).getWidgetSource());
-			} else if(i instanceof WidgetCorner) {
+			} else if (i instanceof WidgetCorner) {
 				widgets.add(((WidgetCorner) i).getWidgetSource());
 			}
@@ -1828,6 +1947,6 @@
 					assert (i instanceof Text);
 					Text text = (Text) i;
-					AttributeValuePair avp = new AttributeValuePair(text
-							.getText());
+					AttributeValuePair avp = new AttributeValuePair(
+							text.getText());
 					double scale = 1F;
 					try {
@@ -1845,9 +1964,9 @@
 			}
 			// refresh anchored items
-    		if(refreshAnchors(toSize)) {
-    			FrameUtils.Parse(DisplayIO.getCurrentFrame(), false);
-    		}
+			if (refreshAnchors(toSize)) {
+				FrameUtils.Parse(DisplayIO.getCurrentFrame(), false);
+			}
 			// notify widgets they were resized
-			for(InteractiveWidget iw : widgets) {
+			for (InteractiveWidget iw : widgets) {
 				iw.onResized();
 			}
@@ -1908,12 +2027,12 @@
 		if (toSet != null)
 			toSet.getParent().setChanged(true);
-		
+
 		// refresh anchored items
-		if(refreshAnchors(toSize)) {
+		if (refreshAnchors(toSize)) {
 			FrameUtils.Parse(DisplayIO.getCurrentFrame(), false);
 		}
 
 		// notify widgets they were resized
-		for(InteractiveWidget iw : widgets) {
+		for (InteractiveWidget iw : widgets) {
 			iw.onResized();
 		}
@@ -1951,6 +2070,7 @@
 			color = null;
 		else
-			color = ColorUtils.getNextColor(color, TemplateSettings.FillColorWheel.get(), toSet
-					.getGradientColor());
+			color = ColorUtils.getNextColor(color,
+					TemplateSettings.FillColorWheel.get(),
+					toSet.getGradientColor());
 
 		// if (color == null) {
@@ -1979,6 +2099,6 @@
 			color = null;
 		else
-			color = ColorUtils.getNextColor(color, TemplateSettings.ColorWheel.get(), toSet
-					.getFillColor());
+			color = ColorUtils.getNextColor(color,
+					TemplateSettings.ColorWheel.get(), toSet.getFillColor());
 
 		// if (color == null) {
@@ -2060,8 +2180,10 @@
 			color = null;
 		else if (setBackgroundColor) {
-			color = ColorUtils.getNextColor(color, TemplateSettings.FillColorWheel.get(), item
-					.getPaintColor());
+			color = ColorUtils
+					.getNextColor(color, TemplateSettings.FillColorWheel.get(),
+							item.getPaintColor());
 		} else {
-			color = ColorUtils.getNextColor(color, TemplateSettings.ColorWheel.get(),
+			color = ColorUtils.getNextColor(color,
+					TemplateSettings.ColorWheel.get(),
 					currentFrame.getPaintBackgroundColor());
 		}
@@ -2319,6 +2441,6 @@
 	public static void Refresh() {
 		Frame currentFrame = DisplayIO.getCurrentFrame();
-		
-		if(FrameMouseActions.isShiftDown()) {
+
+		if (FrameMouseActions.isShiftDown()) {
 			currentFrame.refreshSize();
 		}
