From: Hendrik B. <nh...@us...> - 2010-04-24 15:51:18
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/client/gui/wt In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv12163/src/games/stendhal/client/gui/wt Modified Files: EntityContainer.java EntitySlot.java GroundContainer.java Log Message: delegate getCursor method to panels and subpanels Index: EntityContainer.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/client/gui/wt/EntityContainer.java,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** EntityContainer.java 4 Feb 2010 19:27:48 -0000 1.61 --- EntityContainer.java 24 Apr 2010 15:51:10 -0000 1.62 *************** *** 40,45 **** /** the logger instance. */ ! private static final Logger logger = Logger ! .getLogger(EntityContainer.class); /** --- 40,44 ---- /** the logger instance. */ ! private static final Logger logger = Logger.getLogger(EntityContainer.class); /** Index: GroundContainer.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/client/gui/wt/GroundContainer.java,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** GroundContainer.java 24 Apr 2010 14:33:32 -0000 1.91 --- GroundContainer.java 24 Apr 2010 15:51:10 -0000 1.92 *************** *** 28,32 **** import games.stendhal.client.gui.wt.core.WtDraggable; import games.stendhal.client.gui.wt.core.WtDropTarget; - import games.stendhal.client.gui.wt.core.WtPanel; import games.stendhal.client.gui.wt.core.WtWindowManager; import games.stendhal.common.Direction; --- 28,31 ---- *************** *** 294,298 **** } ! StendhalCursor cursor = getCursor(e); ui.setCursor(cursorRepository.get(cursor)); --- 293,297 ---- } ! StendhalCursor cursor = getCursor(e.getPoint()); ui.setCursor(cursorRepository.get(cursor)); *************** *** 304,336 **** @Override ! public StendhalCursor getCursor(MouseEvent e) { StendhalCursor cursor = null; // ask WtPanel about desired cursor if the mouse pointer is above an WtPanel ! WtPanel wtPanel = getWtPanelAt(e.getPoint()); ! if (wtPanel != null) { ! cursor = wtPanel.getCursor(e); ! } else { ! final Point2D point = screen.convertScreenViewToWorld(e.getPoint()); ! // Handle text boxes ! final Text text = screen.getTextAt(point.getX(), point.getY()); ! if (text != null) { ! return StendhalCursor.NORMAL; ! } ! ! final EntityView view = screen.getEntityViewAt(point.getX(), point.getY()); ! if (view != null) { ! cursor = view.getCursor(); ! } ! if (cursor == null) { ! cursor = StendhalCursor.WALK; ! if (calculateZoneChangeDirection(point) != null) { ! cursor = StendhalCursor.WALK_BORDER; ! } ! // TODO: display a cursor with a stop idea on collision } } return cursor; --- 303,335 ---- @Override ! public StendhalCursor getCursor(Point point) { StendhalCursor cursor = null; // ask WtPanel about desired cursor if the mouse pointer is above an WtPanel ! cursor = super.getCursor(point); ! if (cursor != null) { ! return cursor; ! } ! Point2D point2 = screen.convertScreenViewToWorld(point); ! // Handle text boxes ! final Text text = screen.getTextAt(point2.getX(), point2.getY()); ! if (text != null) { ! return StendhalCursor.NORMAL; ! } ! ! final EntityView view = screen.getEntityViewAt(point2.getX(), point2.getY()); ! if (view != null) { ! cursor = view.getCursor(); ! } ! ! if (cursor == null) { ! cursor = StendhalCursor.WALK; ! if (calculateZoneChangeDirection(point2) != null) { ! cursor = StendhalCursor.WALK_BORDER; } + // TODO: display a cursor with a stop idea on collision } return cursor; Index: EntitySlot.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/client/gui/wt/EntitySlot.java,v retrieving revision 1.81 retrieving revision 1.82 diff -C2 -d -r1.81 -r1.82 *** EntitySlot.java 22 Apr 2010 23:07:44 -0000 1.81 --- EntitySlot.java 24 Apr 2010 15:51:10 -0000 1.82 *************** *** 26,29 **** --- 26,30 ---- import games.stendhal.client.gui.j2d.entity.EntityView; import games.stendhal.client.gui.j2d.entity.EntityViewFactory; + import games.stendhal.client.gui.styled.cursor.StendhalCursor; import games.stendhal.client.gui.wt.core.WtDraggable; import games.stendhal.client.gui.wt.core.WtDropTarget; *************** *** 295,297 **** --- 296,310 ---- } + @Override + public StendhalCursor getCursor(Point point) { + if (view == null) { + return StendhalCursor.NORMAL; + } + + if (parent instanceof Player) { + return view.getCursor(); + } else { + return StendhalCursor.ITEM_PICK_UP_FROM_SLOT; + } + } } |