set path of the FileChooser to current project XML location and started saving features development, removed formatter

This commit is contained in:
2024-09-11 17:23:10 +07:00
parent d39374d8bb
commit 2fab9b13d9
14 changed files with 93 additions and 49 deletions

View File

@ -4,6 +4,7 @@ import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.util.LinkedList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@ -27,8 +28,6 @@ public class DrawboxEditor extends Editable {
logger.setLevel(Level.CONFIG);
}
@Override
public void drawing(Graphics2D g) {
Drawbox drawbox = entity.getDrawbox();
@ -71,7 +70,9 @@ public class DrawboxEditor extends Editable {
}
@Override
public void saveDataInEntity() { }
public void saveDataInEntity() {
entity.setDrawbox(new Drawbox(drawboxPoints));
}
@Override
@ -92,6 +93,8 @@ public class DrawboxEditor extends Editable {
}
basePoints.add(baseStart);
basePoints.add(baseEnd);
saveDataInEntity();
}
}
}
@ -103,6 +106,9 @@ public class DrawboxEditor extends Editable {
repaint();
}
// эта штука очищает точки при нажатии универскальной кнопки очистки в Main GUI. Это следует рефакторнуть и вместо передачи события сюда,
// обрабатывать его прямо в Main GUI(лямбдой) вызывая отсюда только метод в духе clearPoints()
@Override
public void actionPerformed(ActionEvent e) {
JTabbedPane parent = (JTabbedPane) getParent();

View File

@ -22,7 +22,7 @@ public abstract class Editable extends JPanel implements MouseListener, MouseMot
protected ListGUI listGUI;
protected Entity entity;
protected String name;
protected String selectedEntityName;
protected BufferedImage image;
JPanel drawPanel;
@ -51,11 +51,11 @@ public abstract class Editable extends JPanel implements MouseListener, MouseMot
//get,set для name
public String getName() {
return name;
return selectedEntityName;
}
public void setName(String name) {
this.name = name;
this.selectedEntityName = name;
}
//заполнить текущую сущность по имени.
@ -96,13 +96,13 @@ public abstract class Editable extends JPanel implements MouseListener, MouseMot
//TODO: надо бы элегантнее пробросить сюда ListGUI - просто передача его в аргументах немножко громоздкая
// как-то обыграть это через события?
// ps. попытки обратиться к eventSource проваливаются - ListGUI это панель, уже внутри которой лежит JList
name = listGUI.getSelectedName();
selectedEntityName = listGUI.getSelectedName();
try {
entity = Project.getInstance().getEntityByName(name);
entity = Project.getInstance().getEntityByName(selectedEntityName);
} catch (Exception e1) {
logger.severe("Entity with name '"+name+"' was not found! Cannot display it on panel!");
logger.severe("Entity with name '"+selectedEntityName+"' was not found! Cannot display it on panel!");
}
image = Project.getInstance().loadImageByName(name);
image = Project.getInstance().loadImageByName(selectedEntityName);
//TODO: if(image == null) вызов FileChooser'a и выбор изображения
this.repaint();

View File

@ -16,6 +16,7 @@ import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import listeners.OpenXMLFileButtonListener;
import repository.Project;
public class MainGUI extends JFrame{
ListGUI list;
@ -67,7 +68,7 @@ public class MainGUI extends JFrame{
OpenXMLFileButtonListener = new OpenXMLFileButtonListener(list);
openXMLJButton = createButton("XML",5,5, OpenXMLFileButtonListener,"res/xml.png");
saveXMLJButton = createButton("Save",80,5,null,"res/download.png");
saveXMLJButton = createButton("Save",80,5,(e)-> Project.getInstance().printXMlToConsole(),"res/download.png");
clearLinesJButton = createButton("Clear lines",155,5,null,"res/destroy.png");
clearLinesJButton.addActionListener(drawBoxPanel);