/*
* Copyright (C) 2008 Rob Manning
* manningr@users.sourceforge.net
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package net.sourceforge.squirrel_sql.client.update.gui.installer;
/**
* Interface for separating the display of progress for a long running task from the task that is updating it.
* This helps keeps UI code out of the business logic code.
*/
public interface ProgressDialogController
{
/**
* Shows a progress bar with the specified title and message, with the number of increments set to total.
*
* @param title
* the title of the dialog
* @param msg
* the message to display in the body of the dialog
* @param total
* the number of increments the bar is made of
*/
void showProgressDialog(String title, String msg, int total);
/**
* Updates the detail message in the progress bar dialog
*
* @param msg a new detail message for the body of the dialog
*/
void setDetailMessage(String msg);
/**
* Increments the currently displayed progress bar
*/
void incrementProgress();
void resetProgressDialog(String title, String msg, int total);
/**
* Hides the currently displayed progress bar
*/
void hideProgressDialog();
}