summaryrefslogtreecommitdiff
path: root/support/dktools/DkWxProgressDialog.h
blob: f206374f2c10292da95c3b7e91354af29f42b5df (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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/*
Copyright (C) 2011-2020, Dirk Krause
SPDX-License-Identifier: BSD-3-Clause
*/

/*
	WARNING: This file was generated by the dkct program (see
	http://dktools.sourceforge.net/ for details).
	Changes you make here will be lost if dkct is run again!
	You should modify the original source and run dkct on it.
	Original source: DkWxProgressDialog.wxc
*/

/**	@file DkWxProgressDialog.h Header file for the DkWxProgressDialog module.
*/

#ifndef DKWXPROGRESSDIALOG_H_INCLUDED
/** Avoid multiple inclusions. */
#define DKWXPROGRESSDIALOG_H_INCLUDED 1


#line 58 "DkWxProgressDialog.wxc"

#include <DkWxCommunicator.h>




#line 64 "DkWxProgressDialog.wxc"

/**	Progress dialog showing currently process file, progress bar
	and a button to abort operation.
*/
class DkWxProgressDialog : public wxDialog
{
  private:
    /**	Event table.
    */
#if	wxCHECK_VERSION(3,0,0)
    wxDECLARE_EVENT_TABLE();
#else
    DECLARE_EVENT_TABLE()
#endif

  protected:

    /**	Communicator object delivering the file name and progress bar
    	value.
    */
    DkWxCommunicator	*pComm;

    /**	String: Cancel operation scheduled. Please wait.
    */
    wxChar const	*sWaitPlease;

    /**	Parent frame.
    */
    DkWxFrame		*pParent;

    /**	Log text field to receive the messages.
    */
    wxTextCtrl		*pLogTextField;

    /**	Flag: GUI ok.
    */
    bool dkctGUILayoutOK;

    /**	GUI element sDialog.
    */
#line 15 "DkWxProgressDialog.wxc"
    wxBoxSizer *sDialog;

    /**	GUI element verticalSizer.
    */
#line 21 "DkWxProgressDialog.wxc"
    wxBoxSizer *verticalSizer;

    /**	GUI element sttFilename.
    */
#line 35 "DkWxProgressDialog.wxc"
    wxStaticText *sttFilename;

    /**	GUI element gaugeProgress.
    */
#line 41 "DkWxProgressDialog.wxc"
    wxGauge *gaugeProgress;

    /**	GUI element sttWait.
    */
#line 51 "DkWxProgressDialog.wxc"
    wxStaticText *sttWait;

    /**	GUI element bCancel.
    */
#line 46 "DkWxProgressDialog.wxc"
    wxButton *bCancel;


#line 99 "DkWxProgressDialog.wxc"
  public:

  /**	Constructor.
  	@param	parent		Parent window.
	@param	comm		Communicator object.
	@param	tc		Text control to show messages.
	@param	title		Title text.
	@param	firstFileName	First file name to show.
	@param	buttonText	Text for "Cancel" button.
	@param	buttonTip	Tooltip text for button.
	@param	waitText	Button to show while waiting for thread exit.
  */
  DkWxProgressDialog(
    DkWxFrame		*parent,
    DkWxCommunicator	*comm,
    wxTextCtrl		*tc,
    wxChar const	*title,
    wxChar const	*firstFileName,
    wxChar const	*buttonText,
    wxChar const	*buttonTip,
    wxChar const	*waitText
  );

  /**	Handler for idle events.
  	We request the current file name and progress bar from
	the communicator object and update the information shown
	in the dialog.
  */
  void
  OnIdle(wxIdleEvent & event);

  /**	Handler for cancel button.
  */
  void
  OnCancel(wxCommandEvent & event);

  /**	Choose a modal position centered on the parent.
  */
  void		 chooseModalPosition();

};




#line 144 "DkWxProgressDialog.wxc"


#endif