183 lines
5.2 KiB
C++
183 lines
5.2 KiB
C++
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
|
// Copyright (C) 2010 Winch Gate Property Limited
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as
|
|
// published by the Free Software Foundation, either version 3 of the
|
|
// License, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
// ExportCBDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "master.h"
|
|
#include "ExportCBDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
# ifdef new
|
|
# undef new
|
|
# endif
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CExportCB
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
CExportCB::CExportCB()
|
|
{
|
|
_Canceled = false;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::setExportCBDlg (CExportCBDlg *dlg)
|
|
{
|
|
_Dialog = dlg;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::cancel ()
|
|
{
|
|
_Canceled = true;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::pump()
|
|
{
|
|
MSG msg;
|
|
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
|
|
{
|
|
TranslateMessage (&msg);
|
|
DispatchMessage (&msg);
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
bool CExportCB::isCanceled ()
|
|
{
|
|
pump();
|
|
return _Canceled;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::dispPass (const std::string &Text)
|
|
{
|
|
_Dialog->PassText = Text.c_str();
|
|
_Dialog->ProgressBar.SetPos (0);
|
|
_Dialog->UpdateData (FALSE); // Upload
|
|
_Dialog->Invalidate();
|
|
pump();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::dispPassProgress (float percentage)
|
|
{
|
|
_Dialog->ProgressBar.SetPos ((sint32)(100*percentage));
|
|
_Dialog->UpdateData (FALSE); // Upload
|
|
pump();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::dispInfo (const std::string &Text)
|
|
{
|
|
_Dialog->InfoText = CString(Text.c_str()) + "\r\n" + _Dialog->InfoText;
|
|
_Dialog->UpdateData (FALSE); // Upload
|
|
pump();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::dispWarning (const std::string &Text)
|
|
{
|
|
_Dialog->InfoText = CString("WARNING : ") + CString(Text.c_str()) + "\r\n" + _Dialog->InfoText;
|
|
_Dialog->UpdateData (FALSE); // Upload
|
|
pump();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCB::dispError (const std::string &Text)
|
|
{
|
|
_Dialog->InfoText = CString("ERROR : ") + CString(Text.c_str()) + "\r\n" + _Dialog->InfoText;
|
|
_Dialog->UpdateData (FALSE); // Upload
|
|
pump();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CExportCBDlg dialog
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
CExportCBDlg::CExportCBDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CExportCBDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CExportCBDlg)
|
|
PassText = _T("");
|
|
InfoText = _T("");
|
|
_Finished = false;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCBDlg::setFinishedButton ()
|
|
{
|
|
CButton *but = (CButton*)GetDlgItem (IDCANCEL);
|
|
but->SetWindowText ("FINISHED");
|
|
Invalidate ();
|
|
pump ();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCBDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CExportCBDlg)
|
|
DDX_Control(pDX, IDC_EDIT1, EditCtrl);
|
|
DDX_Control(pDX, IDC_PROGRESS1, ProgressBar);
|
|
DDX_Text(pDX, IDC_PASS, PassText);
|
|
DDX_Text(pDX, IDC_EDIT1, InfoText);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CExportCBDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CExportCBDlg)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CExportCBDlg message handlers
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void CExportCBDlg::OnCancel()
|
|
{
|
|
CButton *but = (CButton*)GetDlgItem (IDCANCEL);
|
|
CString zeText;
|
|
but->GetWindowText (zeText);
|
|
if (zeText == "Cancel")
|
|
_ExportCB.cancel ();
|
|
else
|
|
_Finished = true;
|
|
//CDialog::OnCancel();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
BOOL CExportCBDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
// TODO: Add extra initialization here
|
|
_ExportCB.setExportCBDlg (this);
|
|
ProgressBar.SetRange (0, 100);
|
|
EditCtrl.SetLimitText (200);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|