package com.gmail.dpierron.calibre.gui; /** * Method that provides ways of interacting with the GUI * * This interface is defined in the DataModel package so that classes * in this package can interact with the GUI components that are * instantiated within the OpdsOuputput pckage. It is oone this * way to avoid circular references. */ import com.gmail.dpierron.calibre.gui.GenerationStoppedException; import javax.swing.*; public interface CatalogCallbackInterface { // Progrees Indicator public void setProgressMax(long max); public void incStepProgressIndicatorPosition(); // show options public void dumpOptions(); // main catalog public void startInitializeMainCatalog(); public void endInitializeMainCatalog(); public void startFinalizeMainCatalog(); public void endFinalizeMainCatalog(String where, long timeInHtml); // database public void setDatabaseCount(String sumamary); public void startReadDatabase(); public void endReadDatabase(); // Tags public void setTagCount(String summary); public void startCreateTags(long nb); public void endCreateTags(); public void disableCreateTags(); // Authors public void setAuthorCount(String summary); public void startCreateAuthors(long nb); public void endCreateAuthors(); public void disableCreateAuthors(); // Series public void setSeriesCount(String summary); public void startCreateSeries(long nb); public void endCreateSeries(); public void disableCreateSeries(); // Recent books public void setRecentCount(String summary); public void startCreateRecent(long nb); public void endCreateRecent(); public void disableCreateRecent(); // Rated books public void startCreateRated(long nb); public void endCreateRated(); public void disableCreateRated(); // All books public void setAllBooksCount(String summary); public void startCreateAllbooks(long nb); public void endCreateAllbooks(); public void disableCreateAllBooks(); // Featured books public void setFeaturedCount(String summary); public void startCreateFeaturedBooks(long nb); public void endCreateFeaturedBooks(); public void disableCreateFeaturedBooks(); // Custom catalogs public void startCreateCustomCatalogs(long nb); public void endCreateCustomCatalogs(); public void disableCreateCustomCatalogs(); // ePub metadata public void startReprocessingEpubMetadata(long nb); public void endReprocessingEpubMetadata(); public void disableReprocessingEpubMetadata(); public void showMessage(String message); // Javascript database public void startCreateJavascriptDatabase(long nb); public void endCreateJavascriptDatabase(); public void disableCreateJavascriptDatabase(); // Copy to target public void setCopyLibCount(String summary); public void setCopyCatCount(String summary); public void startCopyLibToTarget(long nb); public void startCopyCatToTarget(long nb); public void endCopyLibToTarget(); public void disableCopyLibToTarget(); public void endCopyCatToTarget(); public void startZipCatalog(long nb); public void endZipCatalog(); public void disableZipCatalog(); // Error public void errorOccured(String message, Throwable error); /** * ask the user a question * * @param message the question * @param possibleAnswers the possible answers (3 max) * @return the number of the choosen answer, -1 if error or cancel */ public int askUser(String message, String... possibleAnswers); /** * @throws com.gmail.dpierron.calibre.gui.GenerationStoppedException if the user has specified that he wants to stop the generation */ public void checkIfContinueGenerating() throws GenerationStoppedException; public void resetWarnCount(); public int getWarnCount(); public void incrementWarnCount(); public void setStopGenerating(); public void clearStopGenerating(); }