summaryrefslogtreecommitdiff
path: root/ui/SmallDialogs.h
blob: 77da9eac062ace84f66acbf03581028fc589793b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#ifndef SMALLDIALOGS_H_INCLUDED
#define SMALLDIALOGS_H_INCLUDED

#include "MainDialog.h"

class MainDialog;

class AboutDlg : public AboutDlgGenerated
{
public:
    AboutDlg(MainDialog* window);
    ~AboutDlg();

private:
    void OnClose(wxCloseEvent& event);
    void AboutDlg::OnOK(wxCommandEvent& event);
};


class HelpDlg : public HelpDlgGenerated
{
public:
    HelpDlg(MainDialog* window);
    ~HelpDlg();

private:
    void OnClose(wxCloseEvent& event);
    void OnOK(wxCommandEvent& event);
};


class FilterDlg : public FilterDlgGenerated
{
public:
    FilterDlg(MainDialog* window);
    ~FilterDlg();

private:
    void OnDefault(wxCommandEvent& event);
    void OnOK(wxCommandEvent& event);
    void OnClose(wxCloseEvent& event);

    MainDialog* mainDialog;
};


class ErrorDlg : public ErrorDlgGenerated
{
public:
    ErrorDlg(const wxString messageText, bool& suppressErrormessages);
    ~ErrorDlg();

    static const int ContinueButtonPressed       = 35;
    static const int RetryButtonPressed          = 45;
    static const int AbortButtonPressed          = 55;

private:
    void OnClose(wxCloseEvent& event);
    void OnContinue(wxCommandEvent& event);
    void OnRetry(wxCommandEvent& event);
    void OnAbort(wxCommandEvent& event);

    bool& suppressErrors;
};


class SyncStatus : public SyncStatusGenerated
{
public:
    SyncStatus(StatusUpdater* updater, double gaugeTotalElements, wxWindow* parentWindow = 0);
    ~SyncStatus();

    void resetGauge(double totalNrOfElements);
    void incProgressIndicator_NoUpdate(double number);
    void setStatusText_NoUpdate(const wxString& text);
    void updateStatusDialogNow();

    void processHasFinished(const wxString& finalStatusText);  //essential to call this in StatusUpdater derived class destructor at the LATEST(!) to prevent access to currentStatusUpdater

private:
    void OnOkay(wxCommandEvent& event);
    void OnAbort(wxCommandEvent& event);
    void OnClose(wxCloseEvent& event);

    StatusUpdater* currentStatusUpdater;
    wxWindow* windowToDis;
    bool currentProcessIsRunning;

    //gauge variables
    double totalElements;   //each element represents one byte for proper progress indicator scaling
    double currentElements;
    double scalingFactor;   //nr of elements has to be normalized to smaller nr. because of range of int limitation

    wxString currentStatusText;
    unsigned int numberOfProcessedObjects;
};


#endif // SMALLDIALOGS_H_INCLUDED
bgstack15