/** * */ package de.danielsenff.badds.controller; import de.danielsenff.badds.model.SwingWorker; import de.danielsenff.badds.view.View; import de.danielsenff.badds.view.worker.FileProgressDialog; import de.danielsenff.badds.view.worker.ProgressDialog; /** * @author danielsenff * */ public abstract class OperationWorker extends SwingWorker { protected View view; protected int maxValue; protected ProgressDialog dialog; /** * */ public OperationWorker(View view, int maxValue) { super(); this.view = view; this.maxValue = maxValue; this.dialog = new FileProgressDialog(view, maxValue); this.dialog.setVisible(true); this.dialog.getProgressbar().setStringPainted(true); } /* (non-Javadoc) * @see Model.SwingWorker#start() */ @Override public void start() { view.getWorkingView().startWorkingState(maxValue); super.start(); } protected void setProgressValue(int i) { this.dialog.getProgressbar().setValue(i); } @Override public void finished() { this.view.getWorkingView().endWorkingState("All files done."); this.dialog.dispose(); } }