summaryrefslogtreecommitdiffstats
path: root/Source/WXDialog/progressdlg.h
blob: 34652203186371dd5ff3145b28d648ada0e60a3d (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
/*=========================================================================

  Program:   WXDialog - wxWidgets X-platform GUI Front-End for CMake
  Module:    $RCSfile$
  Language:  C++
  Date:      $Date$
  Version:   $Revision$

  Author:    Jorgen Bodde

  Copyright (c) 2002 Kitware, Inc., Insight Consortium.  All rights reserved.
  See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.

     This software is distributed WITHOUT ANY WARRANTY; without even 
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
     PURPOSE.  See the above copyright notices for more information.

=========================================================================*/

#ifndef _PROGRESSDLG_H_
#define _PROGRESSDLG_H_

#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "progressdlg.cpp"
#endif

/*!
 * Includes
 */

////@begin includes
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_PROGRESSDLG 10000
#define SYMBOL_CMPROGRESSDIALOG_STYLE wxRAISED_BORDER
#define SYMBOL_CMPROGRESSDIALOG_TITLE _("Progress Dialog")
#define SYMBOL_CMPROGRESSDIALOG_IDNAME ID_PROGRESSDLG
#define SYMBOL_CMPROGRESSDIALOG_SIZE wxSize(400, 300)
#define SYMBOL_CMPROGRESSDIALOG_POSITION wxDefaultPosition
#define ID_CMAKE_PROGRESS 10001
#define ID_CMAKE_BUTTON 10002
////@end control identifiers

/*!
 * Compatibility
 */

#ifndef wxCLOSE_BOX
#define wxCLOSE_BOX 0x1000
#endif
#ifndef wxFIXED_MINSIZE
#define wxFIXED_MINSIZE 0
#endif

/*!
 * CMProgressDialog class declaration
 */

class CMProgressDialog: public wxDialog
{    
    DECLARE_DYNAMIC_CLASS( CMProgressDialog )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    CMProgressDialog( );
    CMProgressDialog( wxWindow* parent, wxWindowID id = SYMBOL_CMPROGRESSDIALOG_IDNAME, const wxString& caption = SYMBOL_CMPROGRESSDIALOG_TITLE, const wxPoint& pos = SYMBOL_CMPROGRESSDIALOG_POSITION, const wxSize& size = SYMBOL_CMPROGRESSDIALOG_SIZE, long style = SYMBOL_CMPROGRESSDIALOG_STYLE );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CMPROGRESSDIALOG_IDNAME, const wxString& caption = SYMBOL_CMPROGRESSDIALOG_TITLE, const wxPoint& pos = SYMBOL_CMPROGRESSDIALOG_POSITION, const wxSize& size = SYMBOL_CMPROGRESSDIALOG_SIZE, long style = SYMBOL_CMPROGRESSDIALOG_STYLE );

    /// Creates the controls and sizers
    void CreateControls();

    void SetProgress(float progress) {
        m_progress->SetValue((int)(progress * 100));
    };

////@begin CMProgressDialog event handler declarations

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_CMAKE_BUTTON
    void OnCmakeCancelClick( wxCommandEvent& event );

////@end CMProgressDialog event handler declarations

////@begin CMProgressDialog member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end CMProgressDialog member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

    bool CancelPressed() const {
        return m_cancelPressed;
    };

    void CancelAcknowledged() {
        m_cancelling = true;
    };

    bool IsCancelling() const {
        return m_cancelling;
    };

    void ResetCancel() {
        m_cancelling = false;
        m_cancelPressed = false;
    };

////@begin CMProgressDialog member variables
    wxStaticText* m_textMessage;
    wxGauge* m_progress;
////@end CMProgressDialog member variables

private:
    bool m_cancelPressed;
    bool m_cancelling;

};

#endif
    // _PROGRESSDLG_H_