📄 importwiz.c
字号:
}
static BOOL Source_OnClickRenameWks(Control ctrl)
{
Button chkRenameWks = ImportWizDlg.GetItem(IDC_IW_SOURCE_RENAMEWKS, IDD_IW_SOURCE);
s_trFilter.Common.RenameWks.nVal = chkRenameWks.Check;
return TRUE;
}
static BOOL Source_OnClickFileNameToWksLabel(Control ctrl)
{
Button chkFileNameToWksLabel = ImportWizDlg.GetItem(IDC_IW_FILENAME_TO_WKSLABEL, IDD_IW_SOURCE);
s_trFilter.Common.FileNameToWksLabel.nVal = chkFileNameToWksLabel.Check;
return TRUE;
}
///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////// Target Window functions
///////////////////////////////////////////////////////////
static BOOL Source_OnClickTargetWindow(Control ctrl)
{
Source_UpdateTargetWindowTemplateList();
Source_EnableTargetWindowCtrls();
return TRUE;
}
/// EJP 10-27-2003 v7.5733 QA70-5238 DO_NOT_RESET_TARGET_WINDOW_TEMPLATE
/*
static BOOL Source_OnSelChangeWksTemplate(Control ctrl)
{
string strTemplate;
ComboBox cbTemplate(ctrl);
if( cbTemplate.GetCurSel() > 0 )
{
/// JCG 05/28/03 v7.0540 HOOK_COMBO_BOX
/// strTemplate = cbTemplate.Text + ".otw";
// Ext name will be appended at nex call AIW_FileNameToFullPath
strTemplate = cbTemplate.Text;
/// end HOOK_COMBO_BOX
if( !AIW_FileNameToFullPath(strTemplate, strTemplate, FALSE) )
strTemplate.Empty();
}
fuSetTargetWindow(s_trFilter, EXIST_WKS, strTemplate);
return TRUE;
}
static void Source_UpdateTargetWindowTemplateList()
{
Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
int iTargetWindow = pgSource.GetCheckedRadioButton(IDC_TARGET_WKS, IDC_TARGET_WND_NONE);
if( IDC_TARGET_WKS == iTargetWindow || IDC_TARGET_MATRIX == iTargetWindow )
{
if( IDC_TARGET_WKS == iTargetWindow )
iTargetWindow = EXIST_WKS;
else
iTargetWindow = EXIST_MATRIX;
ComboBox cbTemplate = ImportWizDlg.GetItem(IDC_TARGET_WKS_TEMPLATE, IDD_IW_SOURCE);
InitComboBoxWithTemplateNames(cbTemplate, iTargetWindow);
}
}
*/
static int Source_GetTargetWindowType()
{
Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
int iTargetWindow = pgSource.GetCheckedRadioButton(IDC_TARGET_WKS, IDC_TARGET_WND_NONE);
switch( iTargetWindow )
{
case IDC_TARGET_WKS:
iTargetWindow = EXIST_WKS;
break;
case IDC_TARGET_MATRIX:
iTargetWindow = EXIST_MATRIX;
break;
default:
iTargetWindow = EXIST_NONE;
break;
}
return iTargetWindow;
}
static void Source_UpdateTargetWindowTemplateList()
{
int iTargetWindowType = Source_GetTargetWindowType();
if( iTargetWindowType == EXIST_NONE )
return;
ComboBox cbTemplate = ImportWizDlg.GetItem(IDC_TARGET_WKS_TEMPLATE, IDD_IW_SOURCE);
InitComboBoxWithTemplateNames(cbTemplate, iTargetWindowType);
}
static BOOL Source_OnSelChangeTargetWindowTemplate(Control ctrl)
{
ComboBox cbTemplate(ctrl);
if( !cbTemplate )
return FALSE;
string strTemplate;
int iWindowType = Source_GetTargetWindowType();
if( iWindowType != EXIST_NONE && cbTemplate.GetCurSel() > 0 )
strTemplate = cbTemplate.Text;
fuSetTargetWindow(s_trFilter, iWindowType, strTemplate);
return TRUE;
}
/// end DO_NOT_RESET_TARGET_WINDOW_TEMPLATE
static void Source_EnableTargetWindowCtrls()
{
Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
int iDataType = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF);
Button radMatrix = ImportWizDlg.GetItem(IDC_TARGET_MATRIX, IDD_IW_SOURCE);
radMatrix.Enable = (IDC_DATATYPE_USERDEF == iDataType);
Button radWndNone = ImportWizDlg.GetItem(IDC_TARGET_WND_NONE, IDD_IW_SOURCE);
radWndNone.Enable = (IDC_DATATYPE_USERDEF == iDataType);
int iTargetWindow = pgSource.GetCheckedRadioButton(IDC_TARGET_WKS, IDC_TARGET_WND_NONE);
ComboBox cbWksTemplate = ImportWizDlg.GetItem(IDC_TARGET_WKS_TEMPLATE, IDD_IW_SOURCE);
cbWksTemplate.Enable = (IDC_TARGET_WKS == iTargetWindow || IDC_TARGET_MATRIX == iTargetWindow);
}
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
static void Source_UpdateFilter(BOOL bDlgToFilter=TRUE)
{
int i;
string str;
Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
Button chkRenameWks = ImportWizDlg.GetItem(IDC_IW_SOURCE_RENAMEWKS, IDD_IW_SOURCE);
Button chkFileNameToWksLabel = ImportWizDlg.GetItem(IDC_IW_FILENAME_TO_WKSLABEL, IDD_IW_SOURCE);
Button chkWks = ImportWizDlg.GetItem(IDC_TARGET_WKS, IDD_IW_SOURCE);
ComboBox cbWksTemplate = ImportWizDlg.GetItem(IDC_TARGET_WKS_TEMPLATE, IDD_IW_SOURCE);
Button chkMat = ImportWizDlg.GetItem(IDC_TARGET_MATRIX, IDD_IW_SOURCE);
if( bDlgToFilter )
{
s_trFilter.Type.nVal = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF) - IDC_DATATYPE_ASCII;
s_trFilter.Common.RenameWks.nVal = (chkRenameWks.Check ? 1 : 0);
s_trFilter.Common.FileNameToWksLabel.nVal = (chkFileNameToWksLabel.Check ? 1 : 0);
int iType = pgSource.GetCheckedRadioButton(IDC_TARGET_WKS, IDC_TARGET_WND_NONE);
switch( iType )
{
case IDC_TARGET_WKS:
str = cbWksTemplate.Text;
iType = EXIST_WKS;
break;
case IDC_TARGET_MATRIX:
str = cbWksTemplate.Text;
iType = EXIST_MATRIX;
break;
case IDC_TARGET_WND_NONE:
str.Empty();
iType = EXIST_NONE;
break;
}
if( 0 == str.CompareNoCase(AIW_DEFAULT_FILTER) )
str.Empty(); // store empty string to indicate default
fuSetTargetWindow(s_trFilter, iType, str);
}
else // update dialog from filter
{
i = tree_node_get_int(s_trFilter.Type, FILTER_TYPE_ASCII);
pgSource.CheckRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF, IDC_DATATYPE_ASCII + i);
chkRenameWks.Check = tree_node_get_int(s_trFilter.Common.RenameWks, 0);
chkFileNameToWksLabel.Check = tree_node_get_int(s_trFilter.Common.FileNameToWksLabel, 1);
fuGetTargetWindow(s_trFilter, i, str);
switch( i )
{
case EXIST_MATRIX:
i = IDC_TARGET_MATRIX;
break;
case EXIST_WKS:
i = IDC_TARGET_WKS;
break;
case EXIST_NONE:
i = IDC_TARGET_WND_NONE;
break;
}
pgSource.CheckRadioButton(IDC_TARGET_WKS, IDC_TARGET_WND_NONE, i);
cbWksTemplate.SetCurSel(0);
cbWksTemplate.SelectString(-1, str);
Source_EnableTargetWindowCtrls();
/// EJP 09-24-2003 v7.5706 QA70-4073.55 ADD_FILTER_DESCRIPTION
str.Empty();
fuGetDescription(s_trFilter, str);
Edit ebDescrip = ImportWizDlg.GetItem(IDC_FILTER_DESCRIP, IDD_IW_SOURCE);
ebDescrip.Text = str;
/// end ADD_FILTER_DESCRIPTION
}
}
//--------------------------------------------------------------------------
// Source_OnSelChangeFilter
//
// DialogBuilder calls this function when the selection in the filter
// combobox is changed.
//--------------------------------------------------------------------------
static BOOL Source_OnSelChangeFilter(Control ctrl)
{
Source_LoadCurSelFilter();
return TRUE;
}
static void Source_UpdateButtons()
{
int iDisable = 1; // Disable Next & Finish buttons
if( IS_DATAFROM_CLIPBOARD )
{
string strClipboardText;
if( GetClipboardText(strClipboardText) )
iDisable = 0; // Enable Next & Finish buttons
}
else // Data is from a file
{
Edit editFileName = ImportWizDlg.GetItem(IDC_SOURCE_FILENAME, IDD_IW_SOURCE);
string strPath = editFileName.Text;
if( strPath.IsFile() ) // If not valid file name
{
iDisable = 0; // Enable Next & Finish buttons
}
}
ImportWizDlg.Page.Pal = iDisable;
}
static BOOL Source_OnClickDisplayCompatibleFilters(Control ctrl)
{
Source_UpdateFilterComboBox();
return TRUE;
}
static int Source_FindFirstCompatibleFilter(int iFilterType, LPCSTR lpcszDataFile)
{
string str, strFilter;
string strDataPath;
if( lpcszDataFile )
strDataPath = GetFilePath(lpcszDataFile);
ComboBox cbFilters = ImportWizDlg.GetItem(IDC_SOURCE_FILTER, IDD_IW_SOURCE);
/// EJP 07-17-2003 v7.0627 QA70-4818 SAVE_FILTER_IN_WKS
if( cbFilters.GetCount() <= 1 )
return 0; // no filter
cbFilters.GetLBText(1, str);
if( 0 == str.CompareNoCase(SZ_IW_PAGE_FILTER) )
{
Page pgTarget(s_strActivePageName);
if( fuIsFilterInPage(pgTarget, iFilterType, lpcszDataFile) )
return 1; // use filter in page
}
/// end SAVE_FILTER_IN_WKS
/// EJP 08-29-2003 v7.5680 AUTO_SELECT_ONLY_DATA_FOLDER_FILTERS
/// This change will also cause Clipboard to auto select no filter.
if( strDataPath.IsEmpty() )
return 0; // no filter in data folder
/// end AUTO_SELECT_ONLY_DATA_FOLDER_FILTERS
for( int i = 1; i < cbFilters.GetCount(); i++ )
{
cbFilters.GetLBText(i, str);
if( fuGetFilterFileNameFromListItem(str, strFilter, strDataPath) )
/// EJP 09-02-2003 v7.5681 AUTO_SELECT_ONLY_DATA_FOLDER_FILTERS
///if( fuIsApplicable(strFilter, lpcszDataFile, iFilterType) )
if( 0 == strDataPath.CompareNoCase(GetFilePath(strFilter)) && fuIsApplicable(strFilter, lpcszDataFile, iFilterType) )
/// end AUTO_SELECT_ONLY_DATA_FOLDER_FILTERS
return i;
}
return 0; // Default
}
static void Source_UpdateFilterComboBoxSel(int iFilterType, LPCSTR lpcszDataFile)
{
/// EJP 07-17-2003 v7.0627 QA70-4818 SAVE_FILTER_IN_WKS
///int iSel = 0;
///if( lpcszDataFile && *lpcszDataFile )
/// iSel = Source_FindFirstCompatibleFilter(iFilterType, lpcszDataFile);
int iSel = Source_FindFirstCompatibleFilter(iFilterType, lpcszDataFile);
/// end SAVE_FILTER_IN_WKS
ComboBox cbFilters = ImportWizDlg.GetItem(IDC_SOURCE_FILTER, IDD_IW_SOURCE);
cbFilters.SetCurSel(iSel);
}
static void Source_UpdateFilterComboBoxList(int iFilterType, LPCSTR lpcszDataFile)
{
StringArray saFilterFiles;
fuGetFilterFiles(saFilterFiles, iFilterType, lpcszDataFile);
StringArray saFilterList;
fuGetFilterList(saFilterList, saFilterFiles);
ComboBox cbFilters = ImportWizDlg.GetItem(IDC_SOURCE_FILTER, IDD_IW_SOURCE);
cbFilters.ResetContent();
cbFilters.AddString(IW_FILTER_NONE);
/// EJP 07-17-2003 v7.0627 QA70-4818 SAVE_FILTER_IN_WKS
Page pgTarget(s_strActivePageName);
if( fuIsFilterInPage(pgTarget, iFilterType) )
cbFilters.AddString(SZ_IW_PAGE_FILTER);
/// end SAVE_FILTER_IN_WKS
for( int i = 0; i < saFilterList.GetSize(); i++ )
cbFilters.AddString(saFilterList[i]);
}
static void Source_UpdateFilterComboBox()
{
// Get data type setting
Control pgSource = ImportWizDlg.GetItem(IDD_IW_SOURCE);
int iFilterType = pgSource.GetCheckedRadioButton(IDC_DATATYPE_ASCII, IDC_DATATYPE_USERDEF);
iFilterType -= IDC_DATATYPE_ASCII;
// Get data file name
/*
LPCSTR lpcszDataFile = NULL;
Button chkCompatibleFilters = ImportWizDlg.GetItem(IDC_DISPLAY_ONLY_COMPATIBLE_CHK, IDD_IW_SOURCE);
if( chkCompatibleFilters.Check )
{
if( IS_DATAFROM_FILE )
lpcszDataFile = s_strDataFile;
}
*/
string strDataFile;
if( IS_DATAFROM_FILE )
{
Button chkCompatibleFilters = ImportWizDlg.GetItem(IDC_DISPLAY_ONLY_COMPATIBLE_CHK, IDD_IW_SOURCE);
if( chkCompatibleFilters.Check )
strDataFile = s_strDataFile;
else
strDataFile = GetFilePath(s_strDataFile);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -