Compare commits
	
		
			No commits in common. "master" and "master" have entirely different histories.
		
	
	
		
	
		
@ -127,7 +127,7 @@ public class MarioKartWorldTracker {
 | 
			
		||||
			panel.setCompletionState(false);
 | 
			
		||||
		}, null));
 | 
			
		||||
		bulk.add(item("Bulk Mark", T -> {
 | 
			
		||||
			panel.startBulkMarking();
 | 
			
		||||
			panel.startBulkMarking(panel.getMousePosition());
 | 
			
		||||
		}, KeyStroke.getKeyStroke('m')));
 | 
			
		||||
		bar.add(bulk);
 | 
			
		||||
		JMenu fuckups = new JMenu("I Fucked up");
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,6 @@
 | 
			
		||||
package speiger.src.ui;
 | 
			
		||||
 | 
			
		||||
import java.awt.Color;
 | 
			
		||||
import java.awt.Cursor;
 | 
			
		||||
import java.awt.EventQueue;
 | 
			
		||||
import java.awt.Graphics;
 | 
			
		||||
import java.awt.Graphics2D;
 | 
			
		||||
@ -35,8 +34,6 @@ public class MapPanel extends JPanel {
 | 
			
		||||
	Point lastDrag = null;
 | 
			
		||||
	Point startPos;
 | 
			
		||||
	Point lastPos;
 | 
			
		||||
	Point dragStart = null;
 | 
			
		||||
	boolean bulkSelectionBegin;
 | 
			
		||||
	Image map = new ImageIcon(MapPanel.class.getResource("/assets/images/map.png")).getImage();
 | 
			
		||||
	Image[] medal = new Image[] {
 | 
			
		||||
			new ImageIcon(MapPanel.class.getResource("/assets/images/medal.png")).getImage(),
 | 
			
		||||
@ -91,14 +88,7 @@ public class MapPanel extends JPanel {
 | 
			
		||||
			
 | 
			
		||||
			@Override
 | 
			
		||||
			public void mousePressed(MouseEvent e) {
 | 
			
		||||
				if (bulkSelectionBegin && startPos == null) {
 | 
			
		||||
					startPos = screenToMap(e.getPoint());
 | 
			
		||||
					bulkSelectionBegin = false;
 | 
			
		||||
					repaint();
 | 
			
		||||
					return;
 | 
			
		||||
				}
 | 
			
		||||
				lastDrag = e.getPoint();
 | 
			
		||||
				dragStart = lastDrag;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			@Override
 | 
			
		||||
@ -116,10 +106,6 @@ public class MapPanel extends JPanel {
 | 
			
		||||
			
 | 
			
		||||
			@Override
 | 
			
		||||
			public void mouseDragged(MouseEvent e) {
 | 
			
		||||
				if (startPos != null) {
 | 
			
		||||
					lastPos = screenToMap(e.getPoint());
 | 
			
		||||
					repaint();
 | 
			
		||||
				}
 | 
			
		||||
				if(lastDrag == null) return;
 | 
			
		||||
				offset.translate((int)(e.getX() - lastDrag.getX()), (int)(e.getY() - lastDrag.getY()));
 | 
			
		||||
				lastDrag = e.getPoint();
 | 
			
		||||
@ -127,37 +113,23 @@ public class MapPanel extends JPanel {
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			@Override
 | 
			
		||||
			public void mouseReleased(MouseEvent e) {
 | 
			
		||||
				if (lastDrag != null && !e.getPoint().equals(dragStart)) {
 | 
			
		||||
					lastDrag = null;
 | 
			
		||||
					dragStart = null;
 | 
			
		||||
					return;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				dragStart = null;
 | 
			
		||||
				if(startPos != null && !startPos.equals(screenToMap(e.getPoint()))) {
 | 
			
		||||
			public void mouseClicked(MouseEvent e) {
 | 
			
		||||
				if(startPos != null) {
 | 
			
		||||
					if(e.getButton() == 1) {
 | 
			
		||||
						setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 | 
			
		||||
						int result = JOptionPane.showOptionDialog(frame, "What do you want to do?", "Bulk Marking", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, new Object[] {"Complete", "Uncomplete", "Cancel"}, "Complete");
 | 
			
		||||
						if(result == JOptionPane.CANCEL_OPTION || result == JOptionPane.CLOSED_OPTION) {
 | 
			
		||||
							startPos = null;
 | 
			
		||||
							repaint();
 | 
			
		||||
							return;
 | 
			
		||||
						}
 | 
			
		||||
						if(result == 2) return;
 | 
			
		||||
						List<Marker> markers = getMarkers(getMarkedArea(), zoom);
 | 
			
		||||
						if(markers.isEmpty()) return;
 | 
			
		||||
						boolean completion = result == JOptionPane.OK_OPTION;
 | 
			
		||||
						boolean completion = result == 0;
 | 
			
		||||
						Registry.INSTANCE.setBulkOperation(true);
 | 
			
		||||
						markers.forEach(T -> T.setCompletion(completion));
 | 
			
		||||
						Registry.INSTANCE.setBulkOperation(false);
 | 
			
		||||
						startPos = null;
 | 
			
		||||
						repaint();
 | 
			
		||||
					}
 | 
			
		||||
					return;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			@Override
 | 
			
		||||
			public void mouseClicked(MouseEvent e) {
 | 
			
		||||
				
 | 
			
		||||
				Point hover = screenToMap(e.getPoint());
 | 
			
		||||
				Marker marker = findMarker(hover, zoom);
 | 
			
		||||
				if(marker == null) return;
 | 
			
		||||
@ -181,9 +153,8 @@ public class MapPanel extends JPanel {
 | 
			
		||||
		this.progressUpdate = run;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public void startBulkMarking() {
 | 
			
		||||
		bulkSelectionBegin = true;
 | 
			
		||||
		setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
 | 
			
		||||
	public void startBulkMarking(Point point) {
 | 
			
		||||
		this.startPos = this.screenToMap(point);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public void onImported() {
 | 
			
		||||
@ -243,9 +214,20 @@ public class MapPanel extends JPanel {
 | 
			
		||||
        	marker.drawHover(g2, (float)zoom);
 | 
			
		||||
        }
 | 
			
		||||
        if(startPos != null && lastPos != null) {
 | 
			
		||||
			Rectangle rect = getMarkedArea();
 | 
			
		||||
        	Point start = new Point(startPos);
 | 
			
		||||
        	Point end = new Point(lastPos);
 | 
			
		||||
        	if(start.x > end.x) {
 | 
			
		||||
        		int x = start.x;
 | 
			
		||||
        		start.x = end.x;
 | 
			
		||||
        		end.x = x;
 | 
			
		||||
        	}
 | 
			
		||||
        	if(start.y > end.y) {
 | 
			
		||||
        		int y = start.y;
 | 
			
		||||
        		start.y = end.y;
 | 
			
		||||
        		end.y = y;
 | 
			
		||||
        	}
 | 
			
		||||
        	g2.setColor(Color.BLUE);
 | 
			
		||||
        	g2.drawRect(rect.x, rect.y, rect.width, rect.height);
 | 
			
		||||
        	g2.drawRect(start.x, start.y, end.x-start.x, end.y-start.y);
 | 
			
		||||
        }
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user