summaryrefslogtreecommitdiff
path: root/ui/progress_indicator.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/progress_indicator.h')
-rw-r--r--ui/progress_indicator.h92
1 files changed, 0 insertions, 92 deletions
diff --git a/ui/progress_indicator.h b/ui/progress_indicator.h
deleted file mode 100644
index e2dbb99c..00000000
--- a/ui/progress_indicator.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// **************************************************************************
-// * This file is part of the FreeFileSync project. It is distributed under *
-// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
-// * Copyright (C) Zenju (zenju AT gmx DOT de) - All Rights Reserved *
-// **************************************************************************
-
-#ifndef PROGRESSINDICATOR_H_INCLUDED
-#define PROGRESSINDICATOR_H_INCLUDED
-
-#include <functional>
-#include <zen/error_log.h>
-//#include <zen/zstring.h>
-#include <wx/frame.h>
-#include "../lib/status_handler.h"
-//#include "main_dlg.h"
-
-
-class CompareProgressDialog
-{
-public:
- CompareProgressDialog(wxFrame& parentWindow); //CompareProgressDialog will be owned by parentWindow!
-
- wxWindow* getAsWindow(); //convenience! don't abuse!
-
- void init(const zen::Statistics& syncStat); //begin of sync: make visible, set pointer to "syncStat", initialize all status values
- void finalize(); //end of sync: hide again, clear pointer to "syncStat"
-
- void switchToCompareBytewise();
- void updateStatusPanelNow();
-
-private:
- class Pimpl;
- Pimpl* const pimpl;
-};
-
-
-//SyncStatusHandler will internally process Window messages => disable GUI controls to avoid unexpected callbacks!
-
-struct SyncProgressDialog
-{
- enum SyncResult
- {
- RESULT_ABORTED,
- RESULT_FINISHED_WITH_ERROR,
- RESULT_FINISHED_WITH_WARNINGS,
- RESULT_FINISHED_WITH_SUCCESS
- };
- //essential to call one of these two methods in StatusUpdater derived class' destructor at the LATEST(!)
- //to prevent access to callback to updater (e.g. request abort)
- virtual void processHasFinished(SyncResult resultId, const zen::ErrorLog& log) = 0; //sync finished, still dialog may live on
- virtual void closeWindowDirectly() = 0; //don't wait for user
-
- //---------------------------------------------------------------------------
-
- virtual wxWindow* getWindowIfVisible() = 0; //may be nullptr; don't abuse, use as parent for modal dialogs only!
-
- virtual void initNewPhase() = 0; //call after "StatusHandler::initNewPhase"
- virtual void notifyProgressChange() = 0; //throw (), required by graph!
- virtual void updateGui() = 0; //update GUI and process Window messages
-
- virtual std::wstring getExecWhenFinishedCommand() const = 0; //final value (after possible user modification)
-
- virtual void stopTimer() = 0; //halt all internal timers!
- virtual void resumeTimer() = 0; //
-
-protected:
- ~SyncProgressDialog() {}
-};
-
-
-SyncProgressDialog* createProgressDialog(zen::AbortCallback& abortCb,
- const std::function<void()>& notifyWindowTerminate, //note: user closing window cannot be prevented on OS X! (And neither on Windows during system shutdown!)
- const zen::Statistics& syncStat,
- wxFrame* parentWindow, //may be nullptr
- bool showProgress,
- const wxString& jobName,
- const std::wstring& execWhenFinished,
- std::vector<std::wstring>& execFinishedHistory); //changing parameter!
-//DON'T delete the pointer! it will be deleted by the user clicking "OK/Cancel"/wxWindow::Destroy() after processHasFinished() or closeWindowDirectly()
-
-
-class PauseTimers
-{
-public:
- PauseTimers(SyncProgressDialog& ss) : ss_(ss) { ss_.stopTimer(); }
- ~PauseTimers() { ss_.resumeTimer(); }
-private:
- SyncProgressDialog& ss_;
-};
-
-
-#endif // PROGRESSINDICATOR_H_INCLUDED
bgstack15