📄 importwiz.c
字号:
}
// Save current filter selection
/*
string strFilter;
ComboBox cbFilters = ImportWizDlg.GetItem(IDC_SOURCE_FILTER, IDD_IW_SOURCE);
int iCurSel = cbFilters.GetCurSel();
if( iCurSel < 0 )
iCurSel = 0;
cbFilters.GetLBText(iCurSel, strFilter);
*/
// Update list
///Source_UpdateFilterComboBoxList(iFilterType, lpcszDataFile);
Source_UpdateFilterComboBoxList(iFilterType, strDataFile);
// Update selection
///Source_UpdateFilterComboBoxSel(iFilterType, lpcszDataFile);
Source_UpdateFilterComboBoxSel(iFilterType, strDataFile);
}
static void Source_LoadCurSelFilter()
{
s_strFilter.Empty();
Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
int iDataType = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF) - IDC_DATATYPE_ASCII;
ComboBox cbFilter = ImportWizDlg.GetItem(IDC_SOURCE_FILTER, IDD_IW_SOURCE);
/// EJP 07-17-2003 v7.0627 QA70-4818 SAVE_FILTER_IN_WKS
if( 0 == cbFilter.Text.CompareNoCase(SZ_IW_PAGE_FILTER) )
{
Page pg(s_strActivePageName);
fuLoadFilterFromPage(s_trFilter, pg, iDataType);
UpdateImpStructFromTree();
s_iSaveFilter = IDC_SAVE_FILTER_IN_WKS;
}
else
{
s_iSaveFilter = IDC_SAVE_FILTER_GLOBAL_RADIO;
/// end SAVE_FILTER_IN_WKS
if( cbFilter.Text.CompareNoCase(IW_FILTER_NONE) )
fuGetFilterFileNameFromListItem(cbFilter.Text, s_strFilter, GetFilePath(s_strDataFile));
iwLoadFilter(s_strFilter);
if( s_strFilter.IsEmpty() ) // If no filter selected keep current Data Type setting
/// EJP 10-27-2003 v7.5733 QA70-5238 DO_NOT_RESET_TARGET_WINDOW_TEMPLATE
///s_trFilter.Type.nVal = iDataType;
Source_UpdateFilter();
/// end DO_NOT_RESET_TARGET_WINDOW_TEMPLATE
/// EJP 07-18-2003 v7.0627 QA70-4818 SAVE_FILTER_IN_WKS
else
{
string strDataPath = GetFilePath(s_strDataFile);
if( 0 == strDataPath.CompareNoCase(GetFilePath(s_strFilter)) )
s_iSaveFilter = IDC_SAVE_FILTER_DATA_FOLDER_RADIO;
}
}
/// end SAVE_FILTER_IN_WKS
Source_UpdateFilter(FALSE); // FALSE = filter to dialog
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
// ASCII Header Page
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
static BOOL AscHeader_OnInit()
{
ON_PAGE_CHECK_ASC_HEADER
/// EJP 10-20-2003 v7.5726 QA70-5374 ALLOW_CHANGING_PREVIEW_FONT
///RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
///reAscPreview.SetFont(SYSTEM_FIXED_FONT);
///AscHdr_UpdatePreviewText();
///reAscPreview.SetSel(0, 0); // Position cursor at top left of preview window
iw_InitFontComboBox(IDC_ASC_PREVIEW_FONT, IDD_AIW_HEADER);
AscHdr_UpdatePreviewText();
/// end ALLOW_CHANGING_PREVIEW_FONT
int nCheck;
// If filter has Defined attribute (indicating it has been here before)
if( fuGetHeaderParamDefined(s_trFilter, nCheck) )
// Use parameter count to determine default check box state
nCheck = (fuGetHeaderParamCount(s_trFilter) ? 1 : 0);
else // no Defined attribute
// Use header line count to determine default check box state
nCheck = (ASCIMP_TOTAL_HEADER_LINES(s_ascimp) ? 1 : 0);
if( nCheck )
ENABLE_DEFINE_HDR_VAR;
else
DISABLE_DEFINE_HDR_VAR;
return TRUE;
}
static BOOL AscHeader_OnActive()
{
ON_PAGE_CHECK_ASC_HEADER
/// EJP 10-20-2003 v7.5726 QA70-5374 ALLOW_CHANGING_PREVIEW_FONT
RichEdit reHdr = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
if( reHdr )
reHdr.SetFont(IW_PREVIEW_FONT);
/// end ALLOW_CHANGING_PREVIEW_FONT
/// EJP 07-14-2003 v7.0624 SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
s_iStartingNumHdrLines = ASCIMP_TOTAL_HEADER_LINES(s_ascimp);
/// end SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
AscHeader_Update();
return TRUE;
}
static BOOL AscHeader_OnKillActive()
{
ON_PAGE_CHECK_ASC_HEADER
AscHeader_Update(FALSE); // FALSE = dlg to data
/// EJP 07-14-2003 v7.0624 SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
if( s_iStartingNumHdrLines != ASCIMP_TOTAL_HEADER_LINES(s_ascimp) )
ENABLE_RESCAN_FOR_NUM_COLS;
/// end SCAN_FOR_NUM_COLS_ON_CHANGE_HEADER_LINES
return TRUE;
}
/// EJP 10-20-2003 v7.5726 QA70-5374 ALLOW_CHANGING_PREVIEW_FONT
static BOOL AscHdr_OnSelChangeFont(Control ctrl)
{
ComboBox cbFonts(ctrl);
if( !cbFonts )
return FALSE;
int i = cbFonts.GetCurSel();
if( -1 == i )
return FALSE;
s_iPreviewFont = cbFonts.GetItemData(i);
iw_SetRichEditFont(IDC_HEADER_PREVIEW, IDD_AIW_HEADER, s_iPreviewFont);
AscHdr_UpdatePreviewColor();
return TRUE;
}
/// end ALLOW_CHANGING_PREVIEW_FONT
//--------------------------------------------------------------------------
// Functions for handling number of header lines
//--------------------------------------------------------------------------
static BOOL AscHeader_OnChangeHeaderLines(Control ctrl)
{
/// EJP 08-15-2003 v7.5662 CLEAN_HEADER_LINES_INPUT
/*
int iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows;
AscHeader_GetDialogSettings(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows);
if( iHeaderLines < iColNameFrom )
iColNameFrom = 0;
if( iHeaderLines < iColLabelFrom )
iColNameFrom = 0;
/// EJP 06-11-2003 v7.0600 QA70-4520 SUPPORT_HUGE_HEADER_SIZES
if( iHeaderLines >= IW_NUM_HEADER_PREVIEW_LINES )
{
IW_NUM_HEADER_PREVIEW_LINES = iHeaderLines + 5; // 5=to show some data lines
AscHdr_UpdatePreviewText();
}
/// end SUPPORT_HUGE_HEADER_SIZES
AscHeader_SetDialogSettings(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows);
AscHeader_UpdatePreview(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo, iSkipRows);
AscHeader_SetAscImpStruct(iHeaderLines, iColNameFrom, iColLabelFrom, iColLabelTo);
*/
int iHeaderLines = AscHdr_GetHeaderLines();
if( iHeaderLines >= IW_NUM_HEADER_PREVIEW_LINES )
{
IW_NUM_HEADER_PREVIEW_LINES = iHeaderLines + 5; // 5=to show some data lines
AscHdr_UpdatePreviewText();
}
AscHdr_DialogToASCIMP();
AscHdr_EnableCtrls();
AscHdr_UpdatePreviewColor();
/// end CLEAN_HEADER_LINES_INPUT
return TRUE;
}
static BOOL AscHeader_OnSelChangeHeaderLines(Control ctrl)
{
ComboBox cmbHeaderLines(ctrl);
int nCurSel = cmbHeaderLines.GetCurSel();
string str;
cmbHeaderLines.GetLBText(nCurSel, str);
cmbHeaderLines.Text = str;
return AscHeader_OnChangeHeaderLines(ctrl);
}
static BOOL AscHeader_OnRefreshHeaderLines()
{
RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
long nStartChar, nEndChar;
reAscPreview.GetSel(nStartChar, nEndChar);
int nLineNumber = reAscPreview.LineFromChar(nEndChar) + 1;
string str;
str.Format("%d", nLineNumber);
ComboBox cmbxHeaderLines = ImportWizDlg.GetItem(IDC_IW_HEADER_LINES, IDD_AIW_HEADER);
cmbxHeaderLines.Text = str;
Control ctrl = cmbxHeaderLines;
AscHeader_OnChangeHeaderLines(ctrl);
reAscPreview.SetSel(nEndChar, nEndChar);
return TRUE;
}
static int AscHdr_GetHeaderLines()
{
ComboBox cbHeaderLines = ImportWizDlg.GetItem(IDC_IW_HEADER_LINES, IDD_AIW_HEADER);
int iHeaderLines = atoi(cbHeaderLines.Text);
if( iHeaderLines < 0 )
iHeaderLines = 0;
return iHeaderLines;
}
//--------------------------------------------------------------------------
// Functions for handling column names
//--------------------------------------------------------------------------
static BOOL AscHdr_OnEditChangeColNameFrom(Control ctrl)
{
AscHdr_UpdatePreviewColor();
AscHdr_EnableCtrls(); /// EJP 11-06-03 v7.5745 QA70-5412 SKIP_CHARS_FOR_COL_NAME_LABEL
return TRUE;
}
static BOOL AscHdr_OnSelChangeColNameFrom(Control ctrl)
{
ComboBox cb(ctrl);
int nCurSel = cb.GetCurSel();
string str;
cb.GetLBText(nCurSel, str);
cb.Text = str;
AscHdr_UpdatePreviewColor();
AscHdr_EnableCtrls(); /// EJP 11-06-03 v7.5745 QA70-5412 SKIP_CHARS_FOR_COL_NAME_LABEL
return TRUE;
}
static BOOL AscHeader_OnTBClickRefreshColNameFrom()
{
RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
long nStartChar, nEndChar;
reAscPreview.GetSel(nStartChar, nEndChar);
int nLineNumber = reAscPreview.LineFromChar(nStartChar) + 1;
string str;
str.Format("%d", nLineNumber);
ComboBox cmbxColNameFrom = ImportWizDlg.GetItem(IDC_IW_COL_NAME_FROM, IDD_AIW_HEADER);
cmbxColNameFrom.Text = str;
/// EJP 08-15-2003 v7.5662 CLEAN_HEADER_LINES_INPUT
/*
/// JCG 06/15/03 QA70-4575 v7.0610 SUB_ITEM_62
/// AscHeader_OnChangeColNameFromLabelRange(cmbxColNameFrom);
// Here, can not call an event handler from another one
AscHeader_OnUpdataColNameFromLabelSettings();
// end SUB_ITEM_62
reAscPreview.SetSel(nEndChar, nEndChar);
*/
AscHdr_UpdatePreviewColor();
/// end CLEAN_HEADER_LINES_INPUT
return TRUE;
}
static int AscHdr_GetColNameFrom()
{
ComboBox cbColNameFrom = ImportWizDlg.GetItem(IDC_IW_COL_NAME_FROM, IDD_AIW_HEADER);
int iColNameFrom = atoi(cbColNameFrom.Text);
if( iColNameFrom < 0 ) // if user setting less than zero
iColNameFrom = 0; // change user setting to zero (none)
return iColNameFrom - 1; // minus 1 for zero based line index, or (-1) for none
}
//--------------------------------------------------------------------------
// Functions for handling column labels
//--------------------------------------------------------------------------
static BOOL AscHdr_OnEditChangeColLabelFrom(Control ctrl)
{
AscHdr_EnableCtrls();
AscHdr_UpdatePreviewColor();
return TRUE;
}
static BOOL AscHdr_OnSelChangeColLabelFrom(Control ctrl)
{
ComboBox cb(ctrl);
int nCurSel = cb.GetCurSel();
string str;
cb.GetLBText(nCurSel, str);
cb.Text = str;
AscHdr_EnableCtrls();
AscHdr_UpdatePreviewColor();
return TRUE;
}
static BOOL AscHeader_OnRefreshColLabelFrom()
{
RichEdit reAscPreview = ImportWizDlg.GetItem(IDC_HEADER_PREVIEW, IDD_AIW_HEADER);
long nStartChar, nEndChar;
reAscPreview.GetSel(nStartChar, nEndChar);
int nLineNumber = reAscPreview.LineFromChar(nEndChar) + 1;
/// EJP 08-15-2003 v7.5662 CLEAN_HEADER_LINES_INPUT
/*
/// JCG 05/28/03 v7.0540 HOOK_COMBO_BOX
/// string str;
/// str.Format("%d", nLineNumber);
/// ComboBox cmbxColLabelFrom = ImportWizDlg.GetItem(IDC_IW_COL_LABEL_FROM, IDD_AIW_HEADER);
/// cmbxColLabelFrom.Text = str;
///
/// Control ctrl = cmbxColLabelFrom;
/// AscHeader_OnChangeColNameFromLabelRange(ctrl);
/// reAscPreview.SetSel(nEndChar, nEndChar);
//
#define UI_LINEFROMCHAR(_re,_char) (_re.LineFromChar(_char) + 1)
string str;
str.Format("%d", UI_LINEFROMCHAR(reAscPreview, nStartChar)); // UI Index is 1 based, plus 1
ComboBox cmbxColLabelFrom = ImportWizDlg.GetItem(IDC_IW_COL_LABEL_FROM, IDD_AIW_HEADER);
cmbxColLabelFrom.Text = str;
ComboBox cmbxColLabelTo = ImportWizDlg.GetItem(IDC_HDR_LABEL_TO, IDD_AIW_HEADER);
str.Format("%d", UI_LINEFROMCHAR(reAscPreview, nEndChar)); // UI Index is 1 based, plus 1
cmbxColLabelTo.Text = str;
/// AscHeader_OnChangeColNameFromLabelRange(cmbxColLabelFrom);
AscHeader_OnUpdataColNameFromLabelSettings();
r
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -