|
From: <fd...@us...> - 2008-01-05 08:51:31
|
Revision: 3685
http://jnode.svn.sourceforge.net/jnode/?rev=3685&view=rev
Author: fduminy
Date: 2008-01-05 00:51:26 -0800 (Sat, 05 Jan 2008)
Log Message:
-----------
build fix
Added Paths:
-----------
trunk/distr/src/apps/org/jnode/apps/jpartition/controller/MainController.java
trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/DeviceView.java
trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/ErrorReporter.java
trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/MainView.java
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/controller/MainController.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/controller/MainController.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/controller/MainController.java 2008-01-05 08:51:26 UTC (rev 3685)
@@ -0,0 +1,59 @@
+package org.jnode.apps.jpartition.controller;
+
+import org.jnode.apps.jpartition.ErrorReporter;
+import org.jnode.apps.jpartition.ViewFactory;
+
+public class MainController
+{
+ final private ErrorReporter errorReporter;
+
+ @SuppressWarnings("unchecked")
+ public MainController(ViewFactory viewFactory) throws Exception
+ {
+ errorReporter = viewFactory.createErrorReporter();
+
+ //support.addEventListener()
+ //dispatcher.registerModel("FileDeviceModel",fileDeviceModel);
+ //dispatcher.registerView("FileDeviceModel",fileDeviceView,true);
+
+ // CommandProcessor
+ Object cmdProcessorView = viewFactory.createCommandProcessorView();
+
+ // Device
+ Object deviceView = viewFactory.createDeviceView(cmdProcessorView);
+
+ //support.addEventListener()
+ //dispatcher.registerModel("DeviceModel",deviceModel);
+ //dispatcher.registerView("DeviceModel",deviceView,true);
+ }
+
+/*
+ final private DeviceModel model;
+
+ public DeviceController(DeviceModel model)
+ {
+ this.model = model;
+ }
+
+
+ public static DeviceModel getDevicePartitions()
+ {
+ DeviceModel devParts = new DeviceModel();
+ try {
+ org.jnode.driver.DeviceManager devMan = org.jnode.driver.DeviceUtils.getDeviceManager();
+ Collection<Device> devices = devMan.getDevicesByAPI(PartitionableBlockDeviceAPI.class);
+ for(Device device : devices)
+ {
+ devParts.add(new DeviceModel((IDEDevice) device));
+ }
+ } catch (NameNotFoundException e) {
+ log.error(e);
+ }
+ return devParts;
+ }
+*/
+
+// public void userProcessCommands() {
+// cmdProcessorModel.processCommands();
+// }
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/DeviceView.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/DeviceView.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/DeviceView.java 2008-01-05 08:51:26 UTC (rev 3685)
@@ -0,0 +1,76 @@
+package org.jnode.apps.jpartition.swingview;
+
+import java.awt.Color;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+
+import javax.swing.Action;
+import javax.swing.JLabel;
+
+import org.jnode.apps.jpartition.model.Device;
+import org.jnode.apps.jpartition.model.Partition;
+import org.jnode.apps.jpartition.model.UserFacade;
+
+public class DeviceView extends DiskAreaView
+{
+ public DeviceView()
+ {
+ super(Color.GREEN);
+ setLayout(null);
+ update();
+
+ addComponentListener(new ComponentListener(){
+
+ public void componentHidden(ComponentEvent e) {
+ update();
+ }
+
+ public void componentMoved(ComponentEvent e) {
+ update();
+ }
+
+ public void componentResized(ComponentEvent e) {
+ update();
+ }
+
+ public void componentShown(ComponentEvent e) {
+ update();
+ }});
+ }
+
+ public void update() {
+ removeAll();
+ Device device = UserFacade.getInstance().getSelectedDevice();
+ if(device == null)
+ {
+ add(new JLabel("no partition"));
+ }
+ else
+ {
+ final int space = 10;
+ double x = 0;
+ double pixelsPerByte = (double) getWidth() / (double) device.getSize();
+ for(Partition partition : device.getPartitions())
+ {
+ PartitionView p = new PartitionView(this, partition);
+ //JLabel p = new JLabel("test");
+
+ double size = pixelsPerByte * partition.getSize();
+ p.setBounds((int) x+space, 0+space, (int) size-2*space, getHeight()-2*space);
+ add(p);
+ p.update();
+
+ x += size;
+ }
+ repaint();
+ }
+ }
+
+ @Override
+ protected Action[] getActions() {
+ //return new Action[]{
+ // new AddPartitionAction()
+ // };
+ return null;
+ }
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/ErrorReporter.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/ErrorReporter.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/ErrorReporter.java 2008-01-05 08:51:26 UTC (rev 3685)
@@ -0,0 +1,39 @@
+package org.jnode.apps.jpartition.swingview;
+
+import org.apache.log4j.Logger;
+
+import java.awt.Component;
+import javax.swing.JOptionPane;
+
+public class ErrorReporter implements org.jnode.apps.jpartition.ErrorReporter {
+ public void reportError(Logger log, Object source, Throwable t)
+ {
+ reportError(log, source, (Object) t);
+ }
+
+ public void reportError(Logger log, Object source, String message)
+ {
+ reportError(log, source, (Object) message);
+ }
+
+ private static void reportError(Logger log, Object source, Object message)
+ {
+ Component parent = (source instanceof Component) ? (Component) source : null;
+ Throwable t = (message instanceof Throwable) ? (Throwable) message : null;
+
+ String msg = (t == null) ? String.valueOf(message) : t.getMessage();
+ JOptionPane.showMessageDialog(parent,
+ "an error happened : "+msg+"\nSee logs for details",
+ "error",
+ JOptionPane.ERROR_MESSAGE);
+
+ if(t != null)
+ {
+ log.error(msg, t);
+ }
+ else
+ {
+ log.error(msg);
+ }
+ }
+}
Added: trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/MainView.java
===================================================================
--- trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/MainView.java (rev 0)
+++ trunk/distr/src/apps/org/jnode/apps/jpartition/swingview/MainView.java 2008-01-05 08:51:26 UTC (rev 3685)
@@ -0,0 +1,95 @@
+package org.jnode.apps.jpartition.swingview;
+
+import java.awt.BorderLayout;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JFrame;
+
+import org.apache.log4j.Logger;
+import org.jnode.apps.jpartition.model.Device;
+import org.jnode.apps.jpartition.model.UserFacade;
+import org.jnode.apps.jpartition.model.UserListener;
+
+public class MainView extends JFrame {
+ private static final Logger log = Logger.getLogger(DeviceView.class);
+
+ final private DefaultComboBoxModel devices;
+ final private DeviceView deviceView;
+
+ public MainView(JComponent cmdProcessorView) throws Exception
+ {
+ setTitle("JPartition");
+ setLayout(new BorderLayout());
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ add(cmdProcessorView, BorderLayout.SOUTH);
+
+ deviceView = new DeviceView();
+ add(deviceView, BorderLayout.CENTER);
+
+ devices = new DefaultComboBoxModel(UserFacade.getInstance().getDevices());
+ final JComboBox cboDevices = new JComboBox(devices);
+ cboDevices.addItemListener(new ItemListener()
+ {
+ public void itemStateChanged(ItemEvent event) {
+ boolean selected = (event.getStateChange() == ItemEvent.SELECTED);
+ String item = selected ? String.valueOf(event.getItem()) : null;
+ UserFacade.getInstance().selectDevice(item);
+ deviceView.update();
+ }
+ });
+ add(cboDevices, BorderLayout.NORTH);
+
+ setSize(600, 300);
+ setVisible(true);
+ setLocation(300, 300);
+
+ UserFacade.getInstance().setUserListener(new UserListener(){
+ public void deviceAdded(String name) {
+ devices.addElement(name);
+ deviceView.update();
+ }
+
+ public void deviceRemoved(String name) {
+ devices.removeElement(name);
+ deviceView.update();
+ }
+
+ public void selectionChanged(Device selectedDevice) {
+ cboDevices.setSelectedItem(selectedDevice.getName());
+ deviceView.update();
+ }});
+ }
+
+// public void deviceStarted(Object device) {
+// log.debug("deviceStarted");
+// devices.addElement(device);
+// }
+//
+// public void deviceStop(Object device) {
+// log.debug("deviceStop");
+// devices.removeElement(device);
+// }
+//
+// public void deviceSelected(Object device) {
+// log.debug("deviceSelected");
+// deviceView.clearDevice();
+// //controller.userSelectDevice(device);
+// }
+//
+// public void partitionAdded(Object device) {
+// log.debug("partitionAdded");
+// deviceView.clearDevice();
+// //controller.userSelectDevice(device);
+// }
+//
+// public void partitionRemoved(Object device) {
+// log.debug("partitionRemoved");
+// deviceView.clearDevice();
+// //controller.userSelectDevice(device);
+// }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|