Consolida documentação e plugins de referência ao núcleo atual.

Alinha mpChat e screenCast a ConnectionManager/GuiManager, adiciona docs em docs/ e README de plugins; remove artefatos de build do índice.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Gabriel Felipe Souza SantosandCursor committed 2026-10-13 21:20:20 -03:00
1 parent d92708a6e9
commit f02acaf131
61 files changed
+1408 -758

No files matched your search

@@ -1,6 +0,0 @@
#Tue, 29 Sep 2026 11:04:58 -0300
C\:\\Users\\Gustavo\\OneDrive\\Documentos\\Faculdade\\2026_2\\Monitoria\\pitiupi\\pitiupi.screenCast=
C\:\\Users\\Gustavo\\OneDrive\\Documentos\\Faculdade\\2026_2\\Monitoria\\pitiupi\\pitiupi=
@@ -1 +0,0 @@
pitiupi.screenCast.plugin.ScreenCastPlugin
-32
View File
@@ -1,32 +0,0 @@
========================
BUILD OUTPUT DESCRIPTION
========================
When you build an Java application project that has a main class, the IDE
automatically copies all of the JAR
files on the projects classpath to your projects dist/lib folder. The IDE
also adds each of the JAR files to the Class-Path element in the application
JAR files manifest file (MANIFEST.MF).
To run the project from the command line, go to the dist folder and
type the following:
java -jar "pitiupi.screenCast.jar"
To distribute this project, zip up the dist folder (including the lib folder)
and distribute the ZIP file.
Notes:
* If two JAR files on the project classpath have the same name, only the first
JAR file is copied to the lib folder.
* Only JAR files are copied to the lib folder.
If the classpath contains other types of files or folders, these files (folders)
are not copied.
* If a library on the projects classpath also has a Class-Path element
specified in the manifest,the content of the Class-Path element has to be on
the projects runtime path.
* To set a main class in a standard Java project, right-click the project node
in the Projects window and choose Properties. Then click Run and enter the
class name in the Main Class field. Alternatively, you can manually type the
class name in the manifest Main-Class element.
@@ -4,28 +4,49 @@
*/
package pitiupi.screenCast.GUI;
import java.awt.event.ActionEvent;
import javax.swing.JMenu;
import java.util.List;
import pitiupi.models.Menus.MulticastMenus.MulticastActionMenu;
import pitiupi.models.Menus.MulticastMenus.MulticastMenu;
import pitiupi.models.Menus.MulticastMenus.MulticastSubMenu;
/**
*
* @author flavio
*/
public class ScreenCastMenu extends JMenu {
public class ScreenCastMenu extends MulticastSubMenu {
private final ScreenCastWindow screenCastWindow;
private final javax.swing.JMenuItem menuItem;
private final ScreenCastShowMenu showMenu;
public ScreenCastMenu(ScreenCastWindow screenCastWindow) {
this.screenCastWindow = screenCastWindow;
this.setText("Screen Cast");
menuItem = new javax.swing.JMenuItem();
menuItem.setText("ScreenCast Window");
menuItem.addActionListener(this::chatMenuActionPerformed);
this.add(menuItem);
this.showMenu = new ScreenCastShowMenu(screenCastWindow);
}
private void chatMenuActionPerformed(ActionEvent ae) {
this.screenCastWindow.setVisible(true);
@Override
public String getText() {
return "Screen Cast";
}
@Override
public List<MulticastMenu> getMenus() {
return List.of(showMenu);
}
private static final class ScreenCastShowMenu extends MulticastActionMenu {
private final ScreenCastWindow screenCastWindow;
ScreenCastShowMenu(ScreenCastWindow screenCastWindow) {
this.screenCastWindow = screenCastWindow;
}
@Override
public String getText() {
return "ScreenCast Window";
}
@Override
public void onClick() {
screenCastWindow.setVisible(true);
}
}
}
@@ -22,8 +22,6 @@ import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import pitiupi.GUI.MainWindow;
import pitiupi.net.Message;
/**
*
@@ -5,7 +5,7 @@
*/
package pitiupi.screenCast.net;
import pitiupi.net.Message;
import pitiupi.models.Messages.Message;
/**
*
@@ -46,7 +46,7 @@ public class ScreenCastMessage extends Message {
}
/**
* @param imageByte the image to set
* @param imageByte the imageByte to set
*/
public void setImageByte(byte[] imageByte) {
this.imageByte = imageByte;
@@ -4,14 +4,13 @@
*/
package pitiupi.screenCast.plugin;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import pitiupi.GUI.MainWindow;
import java.util.List;
import pitiupi.control.ConnectionManager;
import pitiupi.control.GuiManager;
import pitiupi.net.Message;
import pitiupi.plugin.Plugin;
import pitiupi.models.Menus.MenuCategory;
import pitiupi.models.Messages.Message;
import pitiupi.models.Plugin;
import pitiupi.screenCast.GUI.ScreenCastMenu;
import pitiupi.screenCast.GUI.ScreenCastWindow;
import pitiupi.screenCast.net.ScreenCastMessage;
@@ -20,7 +19,7 @@ import pitiupi.screenCast.net.ScreenCastMessage;
*
* @author flavio
*/
public class ScreenCastPlugin implements Plugin {
public class ScreenCastPlugin extends Plugin {
private ScreenCastWindow screenCastWindow;
@@ -47,26 +46,18 @@ public class ScreenCastPlugin implements Plugin {
@Override
public void createPlugin(ConnectionManager connectionManager, GuiManager guiManager) {
this.screenCastWindow = new ScreenCastWindow(connectionManager, guiManager);
guiManager.addMenu(new ScreenCastMenu(screenCastWindow));
guiManager.createMenu(MenuCategory.Social, new ScreenCastMenu(screenCastWindow));
}
@Override
public void receiveMessage(byte[] message) {
ByteArrayInputStream bis = new ByteArrayInputStream(message);
ObjectInputStream ois;
try {
ois = new ObjectInputStream(bis);
if (ois.readObject() instanceof ScreenCastMessage msg) {
this.screenCastWindow.receiveScreenCastMessage(msg);
}
} catch (IOException | ClassNotFoundException ex) {
System.out.println(ex.toString());
public List<Class<? extends Message>> getMessages() {
return List.of(ScreenCastMessage.class);
}
@Override
public void receiveMessage(Message message) {
if (message instanceof ScreenCastMessage msg) {
this.screenCastWindow.receiveScreenCastMessage(msg);
}
}
@Override
public Message getMessage() {
return new ScreenCastMessage();
}
}