/** This method paints grid bounds for "grid" containers */ public static void paintGridOutline( final GuiEditor editor, @NotNull final RadComponent component, final Graphics g) { if (!editor.isShowGrid()) { return; } if (!(component instanceof RadContainer)) { return; } final RadContainer container = (RadContainer) component; if (!container.getLayoutManager().isGrid()) { return; } // performance: don't paint grid outline in drag layer Container parent = component.getDelegee().getParent(); while (parent != null) { if (parent == editor.getDragLayer()) { return; } parent = parent.getParent(); } final Point point = SwingUtilities.convertPoint( component.getDelegee(), 0, 0, editor.getRootContainer().getDelegee()); g.translate(point.x, point.y); try { // Paint grid if (container.getWidth() > 0 && container.getHeight() > 0) { Image gridImage = CachedGridImage.getGridImage(container); g.drawImage(gridImage, 0, 0, null); } } finally { g.translate(-point.x, -point.y); } }