DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, _T("Tahoma"));
ReleaseDC(pDC);
- GetDlgItem(IDC_STATIC)->SetWindowText(m_p->m_info.developers.c_str());
+ SetDlgItemText(IDC_STATIC, m_p->m_info.developers);
GetDlgItem(IDC_STATIC)->SetFont(&m_font);
GetDlgItem(IDC_VERSION)->SetFont(&m_font);
- CString link;
- GetDlgItem(IDC_WWW)->GetWindowText(link);
- link = CString(_T("<a href=\"")) + m_p->m_info.website.c_str() + CString(_T("\">")) + link + _T("</a>");
- GetDlgItem(IDC_WWW)->SetWindowText(link);
+ String link;
+ GetDlgItemText(IDC_WWW, link);
+ link = _T("<a href=\"") + m_p->m_info.website + _T("\">") + link + _T("</a>");
+ SetDlgItemText(IDC_WWW, link);
UpdateData(FALSE);
void DirCmpReportDlg::OnCbnSelchangeReportStylecombo()
{
- GetDlgItem(IDC_REPORT_INCLUDEFILECMPREPORT)->EnableWindow(
+ EnableDlgItem(IDC_REPORT_INCLUDEFILECMPREPORT,
m_ctlStyle.GetItemData(m_ctlStyle.GetCurSel()) == REPORT_TYPE_SIMPLEHTML);
}
if (m_cols[j].log_col == data)
break;
}
- GetDlgItem(IDC_COLDLG_DESC)->SetWindowText(m_cols[j].desc.c_str());
+ SetDlgItemText(IDC_COLDLG_DESC, m_cols[j].desc);
// Disable Up/Down -buttons when first/last items are selected.
- if (ind == 0)
- GetDlgItem(IDC_UP)->EnableWindow(FALSE);
- else
- GetDlgItem(IDC_UP)->EnableWindow(TRUE);
-
- if (ind == m_listColumns.GetItemCount() - m_listColumns.GetSelectedCount())
- GetDlgItem(IDC_DOWN)->EnableWindow(FALSE);
- else
- GetDlgItem(IDC_DOWN)->EnableWindow(TRUE);
-
+ EnableDlgItem(IDC_UP, ind != 0);
+ EnableDlgItem(IDC_DOWN,
+ ind != m_listColumns.GetItemCount() - m_listColumns.GetSelectedCount());
}
*pResult = 0;
}
CProgressCtrl *pProg = (CProgressCtrl*) GetDlgItem(IDC_PROGRESSCOMPARE);
pProg->SetPos(0);
- CStatic *pCompared = (CStatic *) GetDlgItem(IDC_ITEMSCOMPARED);
- CStatic *pTotal = (CStatic *) GetDlgItem(IDC_ITEMSTOTAL);
- pCompared->SetWindowText(_T("0"));
- pTotal->SetWindowText(_T("0"));
+ SetDlgItemInt(IDC_ITEMSCOMPARED, 0);
+ SetDlgItemInt(IDC_ITEMSTOTAL, 0);
m_prevState = CompareStats::STATE_IDLE;
}
void DirCompProgressBar::SetProgressState(int comparedItems, int totalItems)
{
CProgressCtrl *pProg = (CProgressCtrl*) GetDlgItem(IDC_PROGRESSCOMPARE);
- CStatic *pCompared = (CStatic *) GetDlgItem(IDC_ITEMSCOMPARED);
- CStatic *pTotal = (CStatic *) GetDlgItem(IDC_ITEMSTOTAL);
-
- TCHAR num[15] = {0};
- _itot(totalItems, num, 10);
- pTotal->SetWindowText(num);
-
- pProg->SetRange32(0, totalItems);
- _itot(comparedItems, num, 10);
- pCompared->SetWindowText(num);
+ SetDlgItemInt(IDC_ITEMSTOTAL, totalItems);
+ SetDlgItemInt(IDC_ITEMSCOMPARED, comparedItems);
pProg->SetPos(comparedItems);
#ifdef __ITaskbarList3_INTERFACE_DEFINED__
{
SetProgressState(m_pCompareStats->GetComparedItems(), m_pCompareStats->GetTotalItems());
if (const DIFFITEM *pdi = m_pCompareStats->GetCurDiffItem())
- GetDlgItem(IDC_PATH_COMPARING)->SetWindowTextW(pdi->diffFileInfo[0].GetFile().c_str());
+ SetDlgItemText(IDC_PATH_COMPARING, pdi->diffFileInfo[0].GetFile());
}
// Compare is ready
// Update total items too since we might get only this one state
// EXCEPTION: OCX Property Pages should return FALSE
}
-void CEncodingErrorBar::SetText(const CString& sText)
+void CEncodingErrorBar::SetText(const String& sText)
{
SetDlgItemText(IDC_STATIC, sText);
}
CEncodingErrorBar();
BOOL Create(CWnd* pParentWnd);
- void SetText(const CString& sText);
+ void SetText(const String& sText);
// Dialog Data
//{{AFX_DATA(CEncodingErrorBar)
}
/**
- * @brief Shortcut to enable or disable a control.
- * @param [in] parent Pointer to dialog.
- * @param [in] item Control's resourceID in dialog.
- * @param [in] enable TRUE if item is enabled, FALSE if disabled.
- */
-static void EnableDlgItem(CWnd * parent, int item, bool enable)
-{
- parent->GetDlgItem(item)->EnableWindow(!!enable);
-}
-
-/**
* @brief Is item in list the <None> item?
* @param [in] item Item to test.
* @return true if item is <None> item.
bool isNone = string_compare_nocase(txt, txtNone) == 0;
- EnableDlgItem(this, IDC_FILTERFILE_TEST_BTN, !isNone);
- EnableDlgItem(this, IDC_FILTERFILE_EDITBTN, !isNone);
- EnableDlgItem(this, IDC_FILTERFILE_DELETEBTN, !isNone);
+ EnableDlgItem(IDC_FILTERFILE_TEST_BTN, !isNone);
+ EnableDlgItem(IDC_FILTERFILE_EDITBTN, !isNone);
+ EnableDlgItem(IDC_FILTERFILE_DELETEBTN, !isNone);
}
*pResult = 0;
}
if (globalPath.empty() && userPath.empty())
{
- LangMessageBox(IDS_FILEFILTER_NO_USERFOLDER, MB_ICONSTOP);
+ AfxMessageBox(
+ _("User's filter file folder is not defined!\n\nPlease select filter folder in Options/System.").c_str(), MB_ICONSTOP);
return;
}
int i, j;
for (i = 0, j = 0; i < count; i++)
{
- TCHAR desc[256];
- wsprintf(desc, _T("%05d - %ls"), cpi[i].codepage, cpi[i].desc);
- combol.AddString(desc);
- combol.SetItemData(j, cpi[i].codepage);
- combos.AddString(desc);
- combos.SetItemData(j, cpi[i].codepage);
+ String desc = string_format(_T("%05d - %ls"), cpi[i].codepage, cpi[i].desc);
+ combol.AddString(desc.c_str());
+ combos.AddString(desc.c_str());
if (cpi[i].codepage == m_nLoadCodepage)
{
combol.SetCurSel(j);
AfxGetMainWnd()->CenterWindow(this);
- SetDlgItemText(IDC_LEFT_FILES_LABEL, m_sAffectsLeftString.c_str());
- SetDlgItemText(IDC_MIDDLE_FILES_LABEL, m_sAffectsMiddleString.c_str());
- SetDlgItemText(IDC_RIGHT_FILES_LABEL, m_sAffectsRightString.c_str());
+ SetDlgItemText(IDC_LEFT_FILES_LABEL, m_sAffectsLeftString);
+ SetDlgItemText(IDC_MIDDLE_FILES_LABEL, m_sAffectsMiddleString);
+ SetDlgItemText(IDC_RIGHT_FILES_LABEL, m_sAffectsRightString);
UpdateSaveGroup();
}
/**
- * @brief Shortcut to enable or disable a control
- */
-void CLoadSaveCodepageDlg::EnableDlgItem(int item, bool enable)
-{
- GetDlgItem(item)->EnableWindow(!!enable);
-}
-
-/**
* @brief If user unchecks left, then check right (to ensure never have nothing checked)
*/
void CLoadSaveCodepageDlg::OnAffectsLeftBtnClicked()
private:
void UpdateDataToWindow() { UpdateData(FALSE); }
void UpdateDataFromWindow() { UpdateData(TRUE); }
- void EnableDlgItem(int item, bool enable);
void UpdateSaveGroup();
// Implementation data
AddPlugins();
m_list.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);
- bool pluginsEnabled = GetOptionsMgr()->GetBool(OPT_PLUGINS_ENABLED);
- if (pluginsEnabled)
- {
- CButton *btn = (CButton *)GetDlgItem(IDC_PLUGINS_ENABLE);
- btn->SetCheck(BST_CHECKED);
- }
+ SetDlgItemChecked(IDC_PLUGINS_ENABLE,
+ GetOptionsMgr()->GetBool(OPT_PLUGINS_ENABLED) ? BST_CHECKED : BST_UNCHECKED);
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
*/
void PluginsListDlg::OnBnClickedOk()
{
- CButton *btn = (CButton *)GetDlgItem(IDC_PLUGINS_ENABLE);
- GetOptionsMgr()->SaveOption(OPT_PLUGINS_ENABLED, (btn->GetCheck() == BST_CHECKED));
+ GetOptionsMgr()->SaveOption(OPT_PLUGINS_ENABLED,
+ (IsDlgButtonChecked(IDC_PLUGINS_ENABLE) == 1));
for (int i = 0; i < m_list.GetItemCount(); ++i)
{
void ProjectFilePathsDlg::OnBnClickedProjFilterSelect()
{
String filterPrefix = _("[F] ");
- CString curFilter;
+ String curFilter;
const BOOL bUseMask = theApp.m_pGlobalFileFilter->IsUsingMask();
GetDlgItemText(IDC_PROJ_FILTER_EDIT, curFilter);
- curFilter.TrimLeft();
- curFilter.TrimRight();
+ curFilter = string_trim_ws(curFilter);
GetMainFrame()->SelectFilter();
// If we had filter chosen and now has mask we can overwrite filter
if (!bUseMask || curFilter[0] != '*')
{
- SetDlgItemText(IDC_PROJ_FILTER_EDIT, filterNameOrMask.c_str());
+ SetDlgItemText(IDC_PROJ_FILTER_EDIT, filterNameOrMask);
}
}
else
{
filterNameOrMask = filterPrefix + filterNameOrMask;
- SetDlgItemText(IDC_PROJ_FILTER_EDIT, filterNameOrMask.c_str());
+ SetDlgItemText(IDC_PROJ_FILTER_EDIT, filterNameOrMask);
}
}
CPropertyPage::DoDataExchange(pDX);
DDX_Check(pDX, IDC_ARCHIVE_ENABLE, m_bEnableSupport);
DDX_Check(pDX, IDC_ARCHIVE_DETECTTYPE, m_bProbeType);
+ UpdateControls();
}
}
/**
- * @brief Called before propertysheet is drawn.
- */
-BOOL PropArchive::OnInitDialog()
-{
- OptionsPanel::OnInitDialog();
- UpdateData(FALSE);
-
- UpdateControls();
-
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
-}
-
-/**
* @brief Called when archive support is enabled or disabled.
*/
void PropArchive::OnEnableClicked()
*/
void PropArchive::UpdateControls()
{
- CButton *chkEnabled = (CButton *) GetDlgItem(IDC_ARCHIVE_ENABLE);
- CButton *chkProbe = (CButton *) GetDlgItem(IDC_ARCHIVE_DETECTTYPE);
-
- BOOL enableItems = FALSE;
- if (chkEnabled->GetCheck() == 1)
- enableItems = TRUE;
- chkProbe->EnableWindow(enableItems);
+ EnableDlgItem(IDC_ARCHIVE_DETECTTYPE, IsDlgButtonChecked(IDC_ARCHIVE_ENABLE) == 1);
}
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual BOOL OnInitDialog();
void UpdateControls();
afx_msg void OnEnableClicked();
m_bCreateForFolderCmp = GetOptionsMgr()->GetBool(OPT_BACKUP_FOLDERCMP);
m_bCreateForFileCmp = GetOptionsMgr()->GetBool(OPT_BACKUP_FILECMP);
m_nBackupFolder = GetOptionsMgr()->GetInt(OPT_BACKUP_LOCATION);
- m_sGlobalFolder = GetOptionsMgr()->GetString(OPT_BACKUP_GLOBALFOLDER).c_str();
+ m_sGlobalFolder = GetOptionsMgr()->GetString(OPT_BACKUP_GLOBALFOLDER);
m_bAppendBak = GetOptionsMgr()->GetBool(OPT_BACKUP_ADD_BAK);
m_bAppendTime = GetOptionsMgr()->GetBool(OPT_BACKUP_ADD_TIME);
}
GetOptionsMgr()->SaveOption(OPT_BACKUP_FOLDERCMP, m_bCreateForFolderCmp);
GetOptionsMgr()->SaveOption(OPT_BACKUP_FILECMP, m_bCreateForFileCmp);
GetOptionsMgr()->SaveOption(OPT_BACKUP_LOCATION, m_nBackupFolder);
- GetOptionsMgr()->SaveOption(OPT_BACKUP_GLOBALFOLDER, String(m_sGlobalFolder));
- GetOptionsMgr()->SaveOption(OPT_BACKUP_ADD_BAK, m_bAppendBak == TRUE);
- GetOptionsMgr()->SaveOption(OPT_BACKUP_ADD_TIME, m_bAppendTime == TRUE);
+ GetOptionsMgr()->SaveOption(OPT_BACKUP_GLOBALFOLDER, m_sGlobalFolder);
+ GetOptionsMgr()->SaveOption(OPT_BACKUP_ADD_BAK, m_bAppendBak);
+ GetOptionsMgr()->SaveOption(OPT_BACKUP_ADD_TIME, m_bAppendTime);
}
/**
String path;
if (SelectFolder(path, m_sGlobalFolder.c_str(), _T(""), GetSafeHwnd()))
{
- SetDlgItemText(IDC_BACKUP_FOLDER, path.c_str());
+ SetDlgItemText(IDC_BACKUP_FOLDER, path);
}
}
{
OptionsPanel::OnInitDialog();
- CEdit * pEdit = (CEdit *) GetDlgItem(IDC_CUSTOM_CP_NUMBER);
-
// Enable/disable "Custom codepage" edit field
- if (IsDlgButtonChecked(IDC_CP_CUSTOM))
- pEdit->EnableWindow(TRUE);
- else
- pEdit->EnableWindow(FALSE);
-
- if (IsDlgButtonChecked(IDC_DETECT_CODEPAGE2))
- m_comboAutodetectType.EnableWindow(TRUE);
- else
- m_comboAutodetectType.EnableWindow(FALSE);
+ EnableDlgItem(IDC_CUSTOM_CP_NUMBER, IsDlgButtonChecked(IDC_CP_CUSTOM) == 1);
+ m_comboAutodetectType.EnableWindow(
+ IsDlgButtonChecked(IDC_DETECT_CODEPAGE2) == 1);
m_comboCustomCodepageValue.SetWindowText(string_to_str(m_nCustomCodepageValue).c_str());
{
if (cpi[i].codepage == 1200 /* UNICODE */)
continue;
- TCHAR desc[256];
- wsprintf(desc, _T("%05d - %ls"), cpi[i].codepage, cpi[i].desc);
- m_comboCustomCodepageValue.AddString(desc);
- m_comboCustomCodepageValue.SetItemData(j, cpi[i].codepage);
+ String desc = string_format(_T("%05d - %ls"), cpi[i].codepage, cpi[i].desc);
+ m_comboCustomCodepageValue.AddString(desc.c_str());
if (cpi[i].codepage == m_nCustomCodepageValue)
m_comboCustomCodepageValue.SetCurSel(j);
j++;
void PropCodepage::OnCpSystem()
{
- GetDlgItem(IDC_CUSTOM_CP_NUMBER)->EnableWindow(FALSE);
+ EnableDlgItem(IDC_CUSTOM_CP_NUMBER, false);
}
void PropCodepage::OnCpCustom()
{
- GetDlgItem(IDC_CUSTOM_CP_NUMBER)->EnableWindow(TRUE);
+ EnableDlgItem(IDC_CUSTOM_CP_NUMBER, true);
}
void PropCodepage::OnDetectCodepage2()
{
- if (IsDlgButtonChecked(IDC_DETECT_CODEPAGE2))
- m_comboAutodetectType.EnableWindow(TRUE);
- else
- m_comboAutodetectType.EnableWindow(FALSE);
+ m_comboAutodetectType.EnableWindow(
+ IsDlgButtonChecked(IDC_DETECT_CODEPAGE2) == 1);
}
void PropCodepage::OnDetectAutodetecttype()
void PropCodepage::OnCpUi()
{
- GetDlgItem(IDC_CUSTOM_CP_NUMBER)->EnableWindow(FALSE);
+ EnableDlgItem(IDC_CUSTOM_CP_NUMBER, false);
}
void PropCodepage::GetEncodingCodePageFromNameString()
void PropMergeColors::UpdateTextColorButtonState(int checkboxId, CColorButton &btn)
{
- CButton *chkbox = static_cast<CButton *>(GetDlgItem(checkboxId));
- chkbox->SetCheck(btn.GetColor() != COLOR_NONE);
+ SetDlgItemChecked(checkboxId, btn.GetColor() != COLOR_NONE);
btn.ShowWindow(btn.GetColor() != COLOR_NONE ? SW_SHOW : SW_HIDE);
}
m_bIgnoreBlankLines = GetOptionsMgr()->GetBool(OPT_CMP_IGNORE_BLANKLINES);
m_bFilterCommentsLines = GetOptionsMgr()->GetBool(OPT_CMP_FILTER_COMMENTLINES);
m_bIgnoreCase = GetOptionsMgr()->GetBool(OPT_CMP_IGNORE_CASE);
- m_bIgnoreEol = GetOptionsMgr()->GetBool(OPT_CMP_IGNORE_EOL) ? true : false;
+ m_bIgnoreEol = GetOptionsMgr()->GetBool(OPT_CMP_IGNORE_EOL);
m_bMovedBlocks = GetOptionsMgr()->GetBool(OPT_CMP_MOVED_BLOCKS);
m_bMatchSimilarLines = GetOptionsMgr()->GetBool(OPT_CMP_MATCH_SIMILAR_LINES);
}
*/
void PropCompareBinary::ReadOptions()
{
- m_sFilePatterns = GetOptionsMgr()->GetString(OPT_CMP_BIN_FILEPATTERNS).c_str();
+ m_sFilePatterns = GetOptionsMgr()->GetString(OPT_CMP_BIN_FILEPATTERNS);
}
/**
// Dialog Data
//{{AFX_DATA(PropCompareBinary)
enum { IDD = IDD_PROPPAGE_COMPARE_BINARY };
- CString m_sFilePatterns;
+ String m_sFilePatterns;
//}}AFX_DATA
combo->AddString(item.c_str());
combo->SetCurSel(m_compareMethod);
- CButton * pBtn = (CButton*) GetDlgItem(IDC_COMPARE_STOPFIRST);
- if (m_compareMethod == 1)
- pBtn->EnableWindow(TRUE);
- else
- pBtn->EnableWindow(FALSE);
+ EnableDlgItem(IDC_COMPARE_STOPFIRST, m_compareMethod == 1);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
void PropCompareFolder::OnCbnSelchangeComparemethodcombo()
{
CComboBox * pCombo = (CComboBox*) GetDlgItem(IDC_COMPAREMETHODCOMBO);
- CButton * pBtn = (CButton*) GetDlgItem(IDC_COMPARE_STOPFIRST);
- if (pCombo->GetCurSel() == 1)
- pBtn->EnableWindow(TRUE);
- else
- pBtn->EnableWindow(FALSE);
+ EnableDlgItem(IDC_COMPARE_STOPFIRST, pCombo->GetCurSel() == 1);
}
*/
void PropCompareImage::ReadOptions()
{
- m_sFilePatterns = GetOptionsMgr()->GetString(OPT_CMP_IMG_FILEPATTERNS).c_str();
+ m_sFilePatterns = GetOptionsMgr()->GetString(OPT_CMP_IMG_FILEPATTERNS);
}
/**
// Dialog Data
//{{AFX_DATA(PropCompareImage)
enum { IDD = IDD_PROPPAGE_COMPARE_IMAGE };
- CString m_sFilePatterns;
+ String m_sFilePatterns;
//}}AFX_DATA
DDX_Check(pDX, IDC_HILITE_CHECK, m_bHiliteSyntax);
DDX_Radio(pDX, IDC_PROP_INSERT_TABS, m_nTabType);
DDX_Text(pDX, IDC_TAB_EDIT, m_nTabSize);
+ DDV_MaxChars(pDX, std::to_string(m_nTabSize).c_str(), 2);
DDX_Check(pDX, IDC_AUTOMRESCAN_CHECK, m_bAutomaticRescan);
DDX_Check(pDX, IDC_MIXED_EOL, m_bAllowMixedEol);
DDX_Check(pDX, IDC_VIEW_LINE_DIFFERENCES, m_bViewLineDifferences);
{
OptionsPanel::OnInitDialog();
- CEdit * pEdit = (CEdit *) GetDlgItem(IDC_TAB_EDIT);
-
- // Limit max text of tabsize to 2 chars
- if (pEdit != NULL)
- pEdit->SetLimitText(2);
-
LoadBreakTypeStrings();
UpdateDataToWindow();
UpdateLineDiffControls();
UpdateLineDiffControls();
}
-/**
- * @brief Shortcut to enable or disable a control
- * @param [in] item ID of dialog control to enable/disable.
- * @param [in] enable if true control is enabled, else disabled.
- */
-void PropEditor::EnableDlgItem(int item, bool enable)
-{
- GetDlgItem(item)->EnableWindow(!!enable);
-}
-
/**
* @brief Update availability of line difference controls
*/
*/
void PropEditor::OnEnKillfocusTabEdit()
{
- CEdit * pEdit = (CEdit *)GetDlgItem(IDC_TAB_EDIT);
- String valueAsText;
- pEdit->GetWindowText(PopString(valueAsText));
- int value = 0;
- try { value = std::stoi(valueAsText); } catch (...) {};
+ unsigned value = GetDlgItemInt(IDC_TAB_EDIT);
if (value < 1 || value > MAX_TABSIZE)
{
String msg = string_format_string1(
void UpdateDataToWindow() { UpdateData(FALSE); }
void UpdateDataFromWindow() { UpdateData(TRUE); }
void UpdateLineDiffControls();
- void EnableDlgItem(int item, bool enable);
// Overrides
// ClassWizard generated virtual function overrides
void PropGeneral::OnResetAllMessageBoxes()
{
CMessageBoxDialog::ResetMessageBoxes();
- LangMessageBox(IDS_MESSAGE_BOX_ARE_RESET, MB_ICONINFORMATION);
+ AfxMessageBox(_("All message boxes are now displayed again.").c_str(), MB_ICONINFORMATION);
}
String path;
if (SelectFile(GetSafeHwnd(), path, m_strEditorPath.c_str(), _("Open"), _("Programs|*.exe;*.bat;*.cmd|All Files (*.*)|*.*||"), TRUE))
{
- SetDlgItemText(IDC_EXT_EDITOR_PATH, path.c_str());
+ SetDlgItemText(IDC_EXT_EDITOR_PATH, path);
}
}
String path;
if (SelectFolder(path, m_strUserFilterPath.c_str(), _("Open"), GetSafeHwnd()))
{
- SetDlgItemText(IDC_FILTER_USER_PATH, path.c_str());
+ SetDlgItemText(IDC_FILTER_USER_PATH, path);
}
}
String path;
if (SelectFolder(path, m_tempFolder.c_str(), _T(""), GetSafeHwnd()))
{
- SetDlgItemText(IDC_TMPFOLDER_NAME, path.c_str());
+ SetDlgItemText(IDC_TMPFOLDER_NAME, path);
}
}
#define BCM_SETSHIELD (0x1600/*BCM_FIRST*/ + 0x000C)
#endif
- ::SendMessage(GetDlgItem(IDC_REGISTER_SHELLEXTENSION)->m_hWnd, BCM_SETSHIELD, 0, TRUE);
- ::SendMessage(GetDlgItem(IDC_UNREGISTER_SHELLEXTENSION)->m_hWnd, BCM_SETSHIELD, 0, TRUE);
+ SendDlgItemMessage(IDC_REGISTER_SHELLEXTENSION, BCM_SETSHIELD, 0, TRUE);
+ SendDlgItemMessage(IDC_UNREGISTER_SHELLEXTENSION, BCM_SETSHIELD, 0, TRUE);
// Update shell extension checkboxes
UpdateButtons();
void PropShell::UpdateButtons()
{
bool registered = IsShellExtensionRegistered();
- GetDlgItem(IDC_EXPLORER_CONTEXT)->EnableWindow(registered);
- GetDlgItem(IDC_REGISTER_SHELLEXTENSION)->EnableWindow(!registered);
- GetDlgItem(IDC_UNREGISTER_SHELLEXTENSION)->EnableWindow(registered);
- GetDlgItem(IDC_EXPLORER_ADVANCED)->EnableWindow(
- GetDlgItem(IDC_EXPLORER_CONTEXT)->IsWindowEnabled() && IsDlgButtonChecked(IDC_EXPLORER_CONTEXT));
+ EnableDlgItem(IDC_EXPLORER_CONTEXT, registered);
+ EnableDlgItem(IDC_REGISTER_SHELLEXTENSION, !registered);
+ EnableDlgItem(IDC_UNREGISTER_SHELLEXTENSION, registered);
+ EnableDlgItem(IDC_EXPLORER_ADVANCED,
+ registered && IsDlgButtonChecked(IDC_EXPLORER_CONTEXT));
}
void PropShell::OnRegisterShellExtension()
#define new DEBUG_NEW
#endif
+static const unsigned ColorIndices[] = {
+ COLORINDEX_KEYWORD, COLORINDEX_FUNCNAME, COLORINDEX_COMMENT,
+ COLORINDEX_NUMBER, COLORINDEX_OPERATOR, COLORINDEX_STRING,
+ COLORINDEX_PREPROCESSOR, COLORINDEX_USER1, COLORINDEX_USER2
+};
+
IMPLEMENT_DYNAMIC(PropSyntaxColors, CPropertyPage)
PropSyntaxColors::PropSyntaxColors(COptionsMgr *optionsMgr, SyntaxColors *pColors)
: OptionsPanel(optionsMgr, PropSyntaxColors::IDD)
-, m_nKeywordsBold(0)
-, m_nFunctionsBold(0)
-, m_nCommentsBold(0)
-, m_nNumbersBold(0)
-, m_nOperatorsBold(0)
-, m_nStringsBold(0)
-, m_nPreProcessorBold(0)
-, m_nUser1Bold(0)
-, m_nUser2Bold(0)
{
m_pTempColors = pColors;
// Set colors for buttons, do NOT invalidate
- m_btnKeywordsText.SetColor(m_pTempColors->GetColor(COLORINDEX_KEYWORD), FALSE);
- m_btnFunctionsText.SetColor(m_pTempColors->GetColor(COLORINDEX_FUNCNAME), FALSE);
- m_btnCommentsText.SetColor(m_pTempColors->GetColor(COLORINDEX_COMMENT), FALSE);
- m_btnNumbersText.SetColor(m_pTempColors->GetColor(COLORINDEX_NUMBER), FALSE);
- m_btnOperatorsText.SetColor(m_pTempColors->GetColor(COLORINDEX_OPERATOR), FALSE);
- m_btnStringsText.SetColor(m_pTempColors->GetColor(COLORINDEX_STRING), FALSE);
- m_btnPreprocessorText.SetColor(m_pTempColors->GetColor(COLORINDEX_PREPROCESSOR), FALSE);
- m_btnUser1Text.SetColor(m_pTempColors->GetColor(COLORINDEX_USER1), FALSE);
- m_btnUser2Text.SetColor(m_pTempColors->GetColor(COLORINDEX_USER2), FALSE);
-
- m_nKeywordsBold = GetCheckVal(COLORINDEX_KEYWORD);
- m_nFunctionsBold = GetCheckVal(COLORINDEX_FUNCNAME);
- m_nCommentsBold = GetCheckVal(COLORINDEX_COMMENT);
- m_nNumbersBold = GetCheckVal(COLORINDEX_NUMBER);
- m_nOperatorsBold = GetCheckVal(COLORINDEX_OPERATOR);
- m_nStringsBold = GetCheckVal(COLORINDEX_STRING);
- m_nPreProcessorBold = GetCheckVal(COLORINDEX_PREPROCESSOR);
- m_nUser1Bold = GetCheckVal(COLORINDEX_USER1);
- m_nUser2Bold = GetCheckVal(COLORINDEX_USER2);
+ for (auto&& colorIndex : ColorIndices)
+ {
+ m_colorButtons[colorIndex].SetColor(m_pTempColors->GetColor(colorIndex), FALSE);
+ m_nBolds[colorIndex] = GetCheckVal(colorIndex);
+ }
memset(m_cCustColors, 0, sizeof(m_cCustColors));
}
void PropSyntaxColors::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_SCOLOR_KEYWORDS, m_btnKeywordsText);
- DDX_Control(pDX, IDC_SCOLOR_FUNCTIONS, m_btnFunctionsText);
- DDX_Control(pDX, IDC_SCOLOR_COMMENTS, m_btnCommentsText);
- DDX_Control(pDX, IDC_SCOLOR_NUMBERS, m_btnNumbersText);
- DDX_Control(pDX, IDC_SCOLOR_OPERATORS, m_btnOperatorsText);
- DDX_Control(pDX, IDC_SCOLOR_STRINGS, m_btnStringsText);
- DDX_Control(pDX, IDC_SCOLOR_PREPROCESSOR, m_btnPreprocessorText);
- DDX_Control(pDX, IDC_SCOLOR_USER1, m_btnUser1Text);
- DDX_Control(pDX, IDC_SCOLOR_USER2, m_btnUser2Text);
- DDX_Control(pDX, IDC_SCOLOR_KEYWORDS_BOLD, m_btnKeywordsBold);
- DDX_Control(pDX, IDC_SCOLOR_FUNCTIONS_BOLD, m_btnFunctionsBold);
- DDX_Control(pDX, IDC_SCOLOR_COMMENTS_BOLD, m_btnCommentsBold);
- DDX_Control(pDX, IDC_SCOLOR_NUMBERS_BOLD, m_btnNumbersBold);
- DDX_Control(pDX, IDC_SCOLOR_OPERATORS_BOLD, m_btnOperatorsBold);
- DDX_Control(pDX, IDC_SCOLOR_STRINGS_BOLD, m_btnStringsBold);
- DDX_Control(pDX, IDC_SCOLOR_PREPROCESSOR_BOLD, m_btnPreProcessorBold);
- DDX_Control(pDX, IDC_SCOLOR_USER1_BOLD, m_btnUser1Bold);
- DDX_Control(pDX, IDC_SCOLOR_USER2_BOLD, m_btnUser2Bold);
- DDX_Check(pDX, IDC_SCOLOR_KEYWORDS_BOLD, m_nKeywordsBold);
- DDX_Check(pDX, IDC_SCOLOR_FUNCTIONS_BOLD, m_nFunctionsBold);
- DDX_Check(pDX, IDC_SCOLOR_COMMENTS_BOLD, m_nCommentsBold);
- DDX_Check(pDX, IDC_SCOLOR_NUMBERS_BOLD, m_nNumbersBold);
- DDX_Check(pDX, IDC_SCOLOR_OPERATORS_BOLD, m_nOperatorsBold);
- DDX_Check(pDX, IDC_SCOLOR_STRINGS_BOLD, m_nStringsBold);
- DDX_Check(pDX, IDC_SCOLOR_PREPROCESSOR_BOLD, m_nPreProcessorBold);
- DDX_Check(pDX, IDC_SCOLOR_USER1_BOLD, m_nUser1Bold);
- DDX_Check(pDX, IDC_SCOLOR_USER2_BOLD, m_nUser2Bold);
+ DDX_Control(pDX, IDC_SCOLOR_KEYWORDS, m_colorButtons[COLORINDEX_KEYWORD]);
+ DDX_Control(pDX, IDC_SCOLOR_FUNCTIONS, m_colorButtons[COLORINDEX_FUNCNAME]);
+ DDX_Control(pDX, IDC_SCOLOR_COMMENTS, m_colorButtons[COLORINDEX_COMMENT]);
+ DDX_Control(pDX, IDC_SCOLOR_NUMBERS, m_colorButtons[COLORINDEX_NUMBER]);
+ DDX_Control(pDX, IDC_SCOLOR_OPERATORS, m_colorButtons[COLORINDEX_OPERATOR]);
+ DDX_Control(pDX, IDC_SCOLOR_STRINGS, m_colorButtons[COLORINDEX_STRING]);
+ DDX_Control(pDX, IDC_SCOLOR_PREPROCESSOR, m_colorButtons[COLORINDEX_PREPROCESSOR]);
+ DDX_Control(pDX, IDC_SCOLOR_USER1, m_colorButtons[COLORINDEX_USER1]);
+ DDX_Control(pDX, IDC_SCOLOR_USER2, m_colorButtons[COLORINDEX_USER2]);
+ DDX_Check(pDX, IDC_SCOLOR_KEYWORDS_BOLD, m_nBolds[COLORINDEX_KEYWORD]);
+ DDX_Check(pDX, IDC_SCOLOR_FUNCTIONS_BOLD, m_nBolds[COLORINDEX_FUNCNAME]);
+ DDX_Check(pDX, IDC_SCOLOR_COMMENTS_BOLD, m_nBolds[COLORINDEX_COMMENT]);
+ DDX_Check(pDX, IDC_SCOLOR_NUMBERS_BOLD, m_nBolds[COLORINDEX_NUMBER]);
+ DDX_Check(pDX, IDC_SCOLOR_OPERATORS_BOLD, m_nBolds[COLORINDEX_OPERATOR]);
+ DDX_Check(pDX, IDC_SCOLOR_STRINGS_BOLD, m_nBolds[COLORINDEX_STRING]);
+ DDX_Check(pDX, IDC_SCOLOR_PREPROCESSOR_BOLD, m_nBolds[COLORINDEX_PREPROCESSOR]);
+ DDX_Check(pDX, IDC_SCOLOR_USER1_BOLD, m_nBolds[COLORINDEX_USER1]);
+ DDX_Check(pDX, IDC_SCOLOR_USER2_BOLD, m_nBolds[COLORINDEX_USER2]);
}
BEGIN_MESSAGE_MAP(PropSyntaxColors, CPropertyPage)
- ON_BN_CLICKED(IDC_SCOLOR_KEYWORDS, OnBnClickedEcolorKeywords)
- ON_BN_CLICKED(IDC_SCOLOR_FUNCTIONS, OnBnClickedEcolorFunctions)
- ON_BN_CLICKED(IDC_SCOLOR_COMMENTS, OnBnClickedEcolorComments)
- ON_BN_CLICKED(IDC_SCOLOR_NUMBERS, OnBnClickedEcolorNumbers)
- ON_BN_CLICKED(IDC_SCOLOR_OPERATORS, OnBnClickedEcolorOperators)
- ON_BN_CLICKED(IDC_SCOLOR_STRINGS, OnBnClickedEcolorStrings)
- ON_BN_CLICKED(IDC_SCOLOR_PREPROCESSOR, OnBnClickedEcolorPreprocessor)
- ON_BN_CLICKED(IDC_SCOLOR_USER1, OnBnClickedEcolorUser1)
- ON_BN_CLICKED(IDC_SCOLOR_USER2, OnBnClickedEcolorUser2)
+ ON_BN_CLICKED(IDC_SCOLOR_KEYWORDS, OnBnClickedEcolor<COLORINDEX_KEYWORD>)
+ ON_BN_CLICKED(IDC_SCOLOR_FUNCTIONS, OnBnClickedEcolor<COLORINDEX_FUNCNAME>)
+ ON_BN_CLICKED(IDC_SCOLOR_COMMENTS, OnBnClickedEcolor<COLORINDEX_COMMENT>)
+ ON_BN_CLICKED(IDC_SCOLOR_NUMBERS, OnBnClickedEcolor<COLORINDEX_NUMBER>)
+ ON_BN_CLICKED(IDC_SCOLOR_OPERATORS, OnBnClickedEcolor<COLORINDEX_OPERATOR>)
+ ON_BN_CLICKED(IDC_SCOLOR_STRINGS, OnBnClickedEcolor<COLORINDEX_STRING>)
+ ON_BN_CLICKED(IDC_SCOLOR_PREPROCESSOR, OnBnClickedEcolor<COLORINDEX_PREPROCESSOR>)
+ ON_BN_CLICKED(IDC_SCOLOR_USER1, OnBnClickedEcolor<COLORINDEX_USER1>)
+ ON_BN_CLICKED(IDC_SCOLOR_USER2, OnBnClickedEcolor<COLORINDEX_USER2>)
ON_BN_CLICKED(IDC_SCOLORS_BDEFAULTS, OnBnClickedEcolorsBdefaults)
- ON_BN_CLICKED(IDC_SCOLOR_KEYWORDS_BOLD, OnBnClickedEcolorKeywordsBold)
- ON_BN_CLICKED(IDC_SCOLOR_FUNCTIONS_BOLD, OnBnClickedEcolorFunctionsBold)
- ON_BN_CLICKED(IDC_SCOLOR_COMMENTS_BOLD, OnBnClickedEcolorCommentsBold)
- ON_BN_CLICKED(IDC_SCOLOR_NUMBERS_BOLD, OnBnClickedEcolorNumbersBold)
- ON_BN_CLICKED(IDC_SCOLOR_OPERATORS_BOLD, OnBnClickedEcolorOperatorsBold)
- ON_BN_CLICKED(IDC_SCOLOR_STRINGS_BOLD, OnBnClickedEcolorStringsBold)
- ON_BN_CLICKED(IDC_SCOLOR_PREPROCESSOR_BOLD, OnBnClickedEcolorPreprocessorBold)
- ON_BN_CLICKED(IDC_SCOLOR_USER1_BOLD, OnBnClickedEcolorUser1Bold)
- ON_BN_CLICKED(IDC_SCOLOR_USER2_BOLD, OnBnClickedEcolorUser2Bold)
+ ON_BN_CLICKED(IDC_SCOLOR_KEYWORDS_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_KEYWORDS_BOLD, COLORINDEX_KEYWORD>))
+ ON_BN_CLICKED(IDC_SCOLOR_FUNCTIONS_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_FUNCTIONS_BOLD, COLORINDEX_FUNCNAME>))
+ ON_BN_CLICKED(IDC_SCOLOR_COMMENTS_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_COMMENTS_BOLD, COLORINDEX_COMMENT>))
+ ON_BN_CLICKED(IDC_SCOLOR_NUMBERS_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_NUMBERS_BOLD, COLORINDEX_NUMBER>))
+ ON_BN_CLICKED(IDC_SCOLOR_OPERATORS_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_OPERATORS_BOLD, COLORINDEX_OPERATOR>))
+ ON_BN_CLICKED(IDC_SCOLOR_STRINGS_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_STRINGS_BOLD, COLORINDEX_STRING>))
+ ON_BN_CLICKED(IDC_SCOLOR_PREPROCESSOR_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_PREPROCESSOR_BOLD, COLORINDEX_PREPROCESSOR>))
+ ON_BN_CLICKED(IDC_SCOLOR_USER1_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_USER1_BOLD, COLORINDEX_USER1>))
+ ON_BN_CLICKED(IDC_SCOLOR_USER2_BOLD, (OnBnClickedBoldButton<IDC_SCOLOR_USER2_BOLD, COLORINDEX_USER2>))
END_MESSAGE_MAP()
/**
/**
* @brief Let user browse common color dialog, and select a color & save to registry
*/
-void PropSyntaxColors::BrowseColorAndSave(CColorButton & colorButton, int colorIndex)
+void PropSyntaxColors::BrowseColorAndSave(unsigned colorIndex)
{
COLORREF currentColor = m_pTempColors->GetColor(colorIndex);
CColorDialog dialog(currentColor);
if (dialog.DoModal() == IDOK)
{
currentColor = dialog.GetColor();
- colorButton.SetColor(currentColor);
+ m_colorButtons[colorIndex].SetColor(currentColor);
m_pTempColors->SetColor(colorIndex, currentColor);
}
Options::CustomColors::Save(GetOptionsMgr(), m_cCustColors);
}
-void PropSyntaxColors::OnBnClickedEcolorKeywords()
-{
- BrowseColorAndSave(m_btnKeywordsText, COLORINDEX_KEYWORD);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorFunctions()
-{
- BrowseColorAndSave(m_btnFunctionsText, COLORINDEX_FUNCNAME);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorComments()
-{
- BrowseColorAndSave(m_btnCommentsText, COLORINDEX_COMMENT);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorNumbers()
-{
- BrowseColorAndSave(m_btnNumbersText, COLORINDEX_NUMBER);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorOperators()
-{
- BrowseColorAndSave(m_btnOperatorsText, COLORINDEX_OPERATOR);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorStrings()
+template <unsigned colorIndex>
+void PropSyntaxColors::OnBnClickedEcolor()
{
- BrowseColorAndSave(m_btnStringsText, COLORINDEX_STRING);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorPreprocessor()
-{
- BrowseColorAndSave(m_btnPreprocessorText, COLORINDEX_PREPROCESSOR);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorUser1()
-{
- BrowseColorAndSave(m_btnUser1Text, COLORINDEX_USER1);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorUser2()
-{
- BrowseColorAndSave(m_btnUser2Text, COLORINDEX_USER2);
+ BrowseColorAndSave(colorIndex);
}
void PropSyntaxColors::OnBnClickedEcolorsBdefaults()
{
m_pTempColors->SetDefaults();
- m_btnKeywordsText.SetColor(m_pTempColors->GetColor(COLORINDEX_KEYWORD));
- m_btnFunctionsText.SetColor(m_pTempColors->GetColor(COLORINDEX_FUNCNAME));
- m_btnCommentsText.SetColor(m_pTempColors->GetColor(COLORINDEX_COMMENT));
- m_btnNumbersText.SetColor(m_pTempColors->GetColor(COLORINDEX_NUMBER));
- m_btnOperatorsText.SetColor(m_pTempColors->GetColor(COLORINDEX_OPERATOR));
- m_btnStringsText.SetColor(m_pTempColors->GetColor(COLORINDEX_STRING));
- m_btnPreprocessorText.SetColor(m_pTempColors->GetColor(COLORINDEX_PREPROCESSOR));
- m_btnUser1Text.SetColor(m_pTempColors->GetColor(COLORINDEX_USER1));
- m_btnUser2Text.SetColor(m_pTempColors->GetColor(COLORINDEX_USER2));
-
- m_nKeywordsBold = GetCheckVal(COLORINDEX_KEYWORD);
- m_nFunctionsBold = GetCheckVal(COLORINDEX_FUNCNAME);
- m_nCommentsBold = GetCheckVal(COLORINDEX_COMMENT);
- m_nNumbersBold = GetCheckVal(COLORINDEX_NUMBER);
- m_nOperatorsBold = GetCheckVal(COLORINDEX_OPERATOR);
- m_nStringsBold = GetCheckVal(COLORINDEX_STRING);
- m_nPreProcessorBold = GetCheckVal(COLORINDEX_PREPROCESSOR);
- m_nUser1Bold = GetCheckVal(COLORINDEX_USER1);
- m_nUser2Bold = GetCheckVal(COLORINDEX_USER2);
+ for (auto&& colorIndex : ColorIndices)
+ {
+ m_colorButtons[colorIndex].SetColor(m_pTempColors->GetColor(colorIndex));
+ m_nBolds[colorIndex] = GetCheckVal(colorIndex);
+ }
UpdateData(FALSE);
}
-void PropSyntaxColors::OnBnClickedEcolorKeywordsBold()
-{
- UpdateBoldStatus(m_btnKeywordsBold, COLORINDEX_KEYWORD);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorFunctionsBold()
+template <unsigned ctlId, unsigned colorIndex>
+void PropSyntaxColors::OnBnClickedBoldButton()
{
- UpdateBoldStatus(m_btnFunctionsBold, COLORINDEX_FUNCNAME);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorCommentsBold()
-{
- UpdateBoldStatus(m_btnCommentsBold, COLORINDEX_COMMENT);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorNumbersBold()
-{
- UpdateBoldStatus(m_btnNumbersBold, COLORINDEX_NUMBER);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorOperatorsBold()
-{
- UpdateBoldStatus(m_btnOperatorsBold, COLORINDEX_OPERATOR);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorStringsBold()
-{
- UpdateBoldStatus(m_btnStringsBold, COLORINDEX_STRING);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorPreprocessorBold()
-{
- UpdateBoldStatus(m_btnPreProcessorBold, COLORINDEX_PREPROCESSOR);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorUser1Bold()
-{
- UpdateBoldStatus(m_btnUser1Bold, COLORINDEX_USER1);
-}
-
-void PropSyntaxColors::OnBnClickedEcolorUser2Bold()
-{
- UpdateBoldStatus(m_btnUser2Bold, COLORINDEX_USER2);
+ m_pTempColors->SetBold(colorIndex, IsDlgButtonChecked(ctlId) == BST_CHECKED);
}
int PropSyntaxColors::GetCheckVal(UINT nColorIndex)
else
return BST_UNCHECKED;
}
-
-void PropSyntaxColors::UpdateBoldStatus(CButton &btn, UINT colorIndex)
-{
- int state = btn.GetCheck();
- if (state == BST_CHECKED)
- m_pTempColors->SetBold(colorIndex, TRUE);
- else
- m_pTempColors->SetBold(colorIndex, FALSE);
-}
#include "ColorButton.h"
#include "OptionsPanel.h"
-
-class SyntaxColors;
+#include "SyntaxColors.h"
const int NumCustomColors = 16;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- afx_msg void OnBnClickedEcolorKeywords();
- afx_msg void OnBnClickedEcolorFunctions();
- afx_msg void OnBnClickedEcolorComments();
- afx_msg void OnBnClickedEcolorNumbers();
- afx_msg void OnBnClickedEcolorOperators();
- afx_msg void OnBnClickedEcolorStrings();
- afx_msg void OnBnClickedEcolorPreprocessor();
- afx_msg void OnBnClickedEcolorUser1();
- afx_msg void OnBnClickedEcolorUser2();
+ template<unsigned colorIndex>
+ afx_msg void OnBnClickedEcolor();
afx_msg void OnBnClickedEcolorsBdefaults();
- afx_msg void OnBnClickedEcolorKeywordsBold();
- afx_msg void OnBnClickedEcolorFunctionsBold();
- afx_msg void OnBnClickedEcolorCommentsBold();
- afx_msg void OnBnClickedEcolorNumbersBold();
- afx_msg void OnBnClickedEcolorOperatorsBold();
- afx_msg void OnBnClickedEcolorStringsBold();
- afx_msg void OnBnClickedEcolorPreprocessorBold();
- afx_msg void OnBnClickedEcolorUser1Bold();
- afx_msg void OnBnClickedEcolorUser2Bold();
+ template<unsigned ctlId, unsigned colorIndex>
+ afx_msg void OnBnClickedBoldButton();
- void BrowseColorAndSave(CColorButton & colorButton, int colorIndex);
+ void BrowseColorAndSave(unsigned colorIndex);
int GetCheckVal(UINT nColorIndex);
- void UpdateBoldStatus(CButton &btn, UINT colorIndex);
DECLARE_MESSAGE_MAP()
private:
- CColorButton m_btnKeywordsText;
- CColorButton m_btnFunctionsText;
- CColorButton m_btnCommentsText;
- CColorButton m_btnNumbersText;
- CColorButton m_btnOperatorsText;
- CColorButton m_btnStringsText;
- CColorButton m_btnPreprocessorText;
- CColorButton m_btnUser1Text;
- CColorButton m_btnUser2Text;
- int m_nKeywordsBold;
- int m_nFunctionsBold;
- int m_nCommentsBold;
- int m_nNumbersBold;
- int m_nOperatorsBold;
- int m_nStringsBold;
- int m_nPreProcessorBold;
- int m_nUser1Bold;
- int m_nUser2Bold;
- CButton m_btnKeywordsBold;
- CButton m_btnFunctionsBold;
- CButton m_btnCommentsBold;
- CButton m_btnNumbersBold;
- CButton m_btnOperatorsBold;
- CButton m_btnStringsBold;
- CButton m_btnPreProcessorBold;
- CButton m_btnUser1Bold;
- CButton m_btnUser2Bold;
+ CColorButton m_colorButtons[COLORINDEX_LAST + 1];
+ int m_nBolds[COLORINDEX_LAST + 1];
SyntaxColors *m_pTempColors;
COLORREF m_cCustColors[16];
// Reset all text colors to default every time user checks defaults button
SerializeColorsToFromScreen(SET_DEFAULTS);
- CButton * btn = (CButton *)GetDlgItem(IDC_DEFAULT_STANDARD_COLORS);
- if (btn->GetCheck() == BST_UNCHECKED)
- {
- EnableColorButtons(FALSE);
- }
- else
- {
- EnableColorButtons(TRUE);
- }
+ EnableColorButtons(IsDlgButtonChecked(IDC_DEFAULT_STANDARD_COLORS) == 1);
}
/**
* @brief Enable / disable color controls on dialog.
* @param [in] bEnable If TRUE color controls are enabled.
*/
-void PropTextColors::EnableColorButtons(BOOL bEnable)
+void PropTextColors::EnableColorButtons(bool bEnable)
{
- CStatic * stc = (CStatic *) GetDlgItem(IDC_CUSTOM_COLORS_GROUP);
- stc->EnableWindow(bEnable);
- stc = (CStatic *) GetDlgItem(IDC_WHITESPACE_COLOR_LABEL);
- stc->EnableWindow(bEnable);
- stc = (CStatic *) GetDlgItem(IDC_TEXT_COLOR_LABEL);
- stc->EnableWindow(bEnable);
- stc = (CStatic *) GetDlgItem(IDC_SELECTION_COLOR_LABEL);
- stc->EnableWindow(bEnable);
- stc = (CStatic *) GetDlgItem(IDC_BACKGROUND_COLUMN_LABEL);
- stc->EnableWindow(bEnable);
- stc = (CStatic *) GetDlgItem(IDC_TEXT_COLUMN_LABEL);
- stc->EnableWindow(bEnable);
+ EnableDlgItem(IDC_CUSTOM_COLORS_GROUP, bEnable);
+ EnableDlgItem(IDC_WHITESPACE_COLOR_LABEL, bEnable);
+ EnableDlgItem(IDC_TEXT_COLOR_LABEL, bEnable);
+ EnableDlgItem(IDC_SELECTION_COLOR_LABEL, bEnable);
+ EnableDlgItem(IDC_BACKGROUND_COLUMN_LABEL, bEnable);
+ EnableDlgItem(IDC_TEXT_COLUMN_LABEL, bEnable);
}
void BrowseColorAndSave(CColorButton & colorButton, int colorIndex);
void SerializeColorsToFromScreen(OPERATION op);
void SerializeColorToFromScreen(OPERATION op, CColorButton & btn, int colorIndex);
- void EnableColorButtons(BOOL bEnable);
+ void EnableColorButtons(bool bEnable);
// Generated message map functions
//{{AFX_MSG(PropTextColors)
{
CTrDialog::OnInitDialog();
- GetDlgItem(IDC_SAVECLOSING_SAVELEFT)->SetFocus();
+ SetDlgItemFocus(IDC_SAVECLOSING_SAVELEFT);
if (!m_bAskForLeft)
{
// Left items disabled move focus to middle side items
- GetDlgItem(IDC_SAVECLOSING_SAVEMIDDLE)->SetFocus();
+ SetDlgItemFocus(IDC_SAVECLOSING_SAVEMIDDLE);
- GetDlgItem(IDC_SAVECLOSING_LEFTFRAME)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_LEFTFILE)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_SAVELEFT)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_DISCARDLEFT)->EnableWindow(FALSE);
+ EnableDlgItem(IDC_SAVECLOSING_LEFTFRAME, false);
+ EnableDlgItem(IDC_SAVECLOSING_LEFTFILE, false);
+ EnableDlgItem(IDC_SAVECLOSING_SAVELEFT, false);
+ EnableDlgItem(IDC_SAVECLOSING_DISCARDLEFT, false);
}
if (!m_bAskForMiddle)
{
// Middle items disabled move focus to right side items
if (!m_bAskForLeft)
- GetDlgItem(IDC_SAVECLOSING_SAVERIGHT)->SetFocus();
+ SetDlgItemFocus(IDC_SAVECLOSING_SAVERIGHT);
- GetDlgItem(IDC_SAVECLOSING_MIDDLEFRAME)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_MIDDLEFILE)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_SAVEMIDDLE)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_DISCARDMIDDLE)->EnableWindow(FALSE);
+ EnableDlgItem(IDC_SAVECLOSING_MIDDLEFRAME, false);
+ EnableDlgItem(IDC_SAVECLOSING_MIDDLEFILE, false);
+ EnableDlgItem(IDC_SAVECLOSING_SAVEMIDDLE, false);
+ EnableDlgItem(IDC_SAVECLOSING_DISCARDMIDDLE, false);
}
if (!m_bAskForRight)
{
- GetDlgItem(IDC_SAVECLOSING_RIGHTFRAME)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_RIGHTFILE)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_SAVERIGHT)->EnableWindow(FALSE);
- GetDlgItem(IDC_SAVECLOSING_DISCARDRIGHT)->EnableWindow(FALSE);
+ EnableDlgItem(IDC_SAVECLOSING_RIGHTFRAME, false);
+ EnableDlgItem(IDC_SAVECLOSING_RIGHTFILE, false);
+ EnableDlgItem(IDC_SAVECLOSING_SAVERIGHT, false);
+ EnableDlgItem(IDC_SAVECLOSING_DISCARDRIGHT, false);
}
if (m_bDisableCancel)
{
- GetDlgItem(IDCANCEL)->EnableWindow(FALSE);
+ EnableDlgItem(IDCANCEL, false);
}
// setup handler for resizing this dialog
{
CTrDialog::OnInitDialog();
- GetDlgItem(IDC_TEST_TEXT)->SetFocus();
+ SetDlgItemFocus(IDC_TEST_TEXT);
String name = m_pFileFilterMgr->GetFilterName(m_pFileFilter);
- SetDlgItemText(IDC_HEADER_FILTER_NAME, name.c_str());
+ SetDlgItemText(IDC_HEADER_FILTER_NAME, name);
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
void CTestFilterDlg::OnTestBtn()
{
String text;
- GetDlgItemText(IDC_TEST_TEXT, PopString(text));
+ GetDlgItemText(IDC_TEST_TEXT, text);
bool passed = CheckText(text);
AppendResult(text);
}
-/** @brief user pressed <enter> key. */
-void CTestFilterDlg::OnOK()
-{
- CWnd *pWnd = GetFocus();
- ASSERT (pWnd);
- if (IDCANCEL == pWnd->GetDlgCtrlID())
- {
- CTrDialog::OnCancel();
- }
- else
- {
- OnTestBtn();
- }
-}
-
/**
* @brief Test text against filter.
* @param [in] text Text to test.
*/
bool CTestFilterDlg::CheckText(String text) const
{
- CButton * IsDirButton = (CButton *)GetDlgItem(IDC_IS_DIRECTORY);
- bool isDir = (IsDirButton->GetCheck() == BST_CHECKED);
+ bool isDir = (IsDlgButtonChecked(IDC_IS_DIRECTORY) == 1);
if (isDir)
{
// Convert any forward slashes to canonical Windows-style backslashes
}
/**
- * @brief Add text to end of edit control.
- * @param [in] edit Edit contror into which the text is added.
- * @param [in] text Text to add to edit control.
- */
-void AppendToEditBox(CEdit & edit, const String& text)
-{
- int len = edit.GetWindowTextLength();
- edit.SetSel(len, len);
- edit.ReplaceSel(text.c_str());
-}
-
-/**
* @brief Add new result to end of result edit box.
* @param [in] result Result text to add.
*/
-void CTestFilterDlg::AppendResult(String result)
+void CTestFilterDlg::AppendResult(const String& result)
{
- CEdit * edit = (CEdit *)GetDlgItem(IDC_RESULTS);
- if (edit->GetWindowTextLength()>0)
- result = _T("\r\n") + result;
- AppendToEditBox(*edit, result);
+ String text;
+ GetDlgItemText(IDC_RESULTS, text);
+ if (text.length() > 0)
+ text += _T("\r\n") + result;
+ else
+ text = result;
+ SetDlgItemText(IDC_RESULTS, text);
+ SendDlgItemMessage(IDC_RESULTS, WM_VSCROLL, SB_BOTTOM, 0L);
}
// Implementation methods
private:
bool CheckText(String text) const;
- void AppendResult(String result);
+ void AppendResult(const String& result);
// Dialog Data
//{{AFX_DATA(CTestFilterDlg)
// Generated message map functions
//{{AFX_MSG(CTestFilterDlg)
virtual BOOL OnInitDialog();
- virtual void OnOK();
afx_msg void OnTestBtn();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
\r
#include "DDXHelper.h"\r
\r
+namespace DlgUtils\r
+{\r
+ template <class T>\r
+ void SetDlgItemChecked(T* dlg, unsigned id, unsigned value)\r
+ {\r
+ dlg->SendDlgItemMessage(id, BM_SETCHECK, value);\r
+ }\r
+\r
+ template <class T>\r
+ void EnableDlgItem(T* dlg, unsigned id, bool enabled)\r
+ {\r
+ dlg->GetDlgItem(id)->EnableWindow(enabled);\r
+ }\r
+\r
+ template <class T>\r
+ void SetDlgItemFocus(T* dlg, unsigned id)\r
+ {\r
+ dlg->GetDlgItem(id)->SetFocus();\r
+ }\r
+\r
+ template <class T>\r
+ unsigned GetDlgItemText(T* dlg, unsigned id, String& text)\r
+ {\r
+ return static_cast<CWnd *>(dlg)->GetDlgItemText(id, PopString(text));\r
+ }\r
+\r
+ template <class T>\r
+ void SetDlgItemText(T* dlg, unsigned id, const String& text)\r
+ {\r
+ return static_cast<CWnd *>(dlg)->SetDlgItemText(id, text.c_str());\r
+ }\r
+}\r
+\r
class CTrDialog : public CDialog\r
{\r
DECLARE_DYNAMIC(CTrDialog)\r
CTrDialog(LPCTSTR lpszTemplateName, CWnd *pParentWnd = NULL) : CDialog(lpszTemplateName, pParentWnd) {}\r
\r
virtual BOOL OnInitDialog();\r
+ void SetDlgItemChecked(unsigned id, unsigned value) { DlgUtils::SetDlgItemChecked(this, id, value); }\r
+ void EnableDlgItem(unsigned id, bool enabled) { DlgUtils::EnableDlgItem(this, id, enabled); }\r
+ void SetDlgItemFocus(unsigned id) { DlgUtils::SetDlgItemFocus(this, id); }\r
+ unsigned GetDlgItemText(unsigned id, String& text) { return DlgUtils::GetDlgItemText(this, id, text); }\r
+ void SetDlgItemText(unsigned id, const String& text) { DlgUtils::SetDlgItemText(this, id, text); }\r
};\r
\r
class CTrPropertyPage : public CPropertyPage\r
: CPropertyPage(lpszTemplateName, nIDCaption, dwSize) {}\r
\r
virtual BOOL OnInitDialog();\r
+ void SetDlgItemChecked(unsigned id, bool value) { DlgUtils::SetDlgItemChecked(this, id, value); }\r
+ void EnableDlgItem(unsigned id, bool enabled) { DlgUtils::EnableDlgItem(this, id, enabled); }\r
+ void SetDlgItemFocus(unsigned id) { DlgUtils::SetDlgItemFocus(this, id); }\r
+ unsigned GetDlgItemText(unsigned id, String& text) { return DlgUtils::GetDlgItemText(this, id, text); }\r
+ void SetDlgItemText(unsigned id, const String& text) { DlgUtils::SetDlgItemText(this, id, text); }\r
};\r
\r
class CTrDialogBar : public CDialogBar\r
UINT nStyle, UINT nID);\r
virtual BOOL Create(CWnd* pParentWnd, UINT nIDTemplate,\r
UINT nStyle, UINT nID);\r
+ void SetDlgItemChecked(unsigned id, bool value) { DlgUtils::SetDlgItemChecked(this, id, value); }\r
+ void EnableDlgItem(unsigned id, bool enabled) { DlgUtils::EnableDlgItem(this, id, enabled); }\r
+ void SetDlgItemFocus(unsigned id) { DlgUtils::SetDlgItemFocus(this, id); }\r
+ unsigned GetDlgItemText(unsigned id, String& text) { return DlgUtils::GetDlgItemText(this, id, text); }\r
+ void SetDlgItemText(unsigned id, const String& text) { DlgUtils::SetDlgItemText(this, id, text); }\r
};\r