Replace getwindow text with GetCWindowText

This commit is contained in:
zilmar 2021-04-20 12:26:16 +09:30
parent 999c70dff3
commit cdb7cdcfd5
23 changed files with 195 additions and 325 deletions

View File

@ -680,7 +680,7 @@ LRESULT CEditCheat::OnEditCheat(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/,
LRESULT CEditCheat::OnAddCheat(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
std::string NewCheatName = GetItemText(IDC_CODE_NAME);
std::string NewCheatName = GetCWindowText(GetDlgItem(IDC_CODE_NAME));
for (CEnhancementList::const_iterator itr = m_Cheats.begin(); itr != m_Cheats.end(); itr++)
{
const CEnhancement & Enhancement = itr->second;
@ -708,7 +708,7 @@ LRESULT CEditCheat::OnAddCheat(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCt
m_EditEnhancement->SetName(NewCheatName.c_str());
m_EditEnhancement->SetEntries(Enhancement.GetEntries());
m_EditEnhancement->SetOptions(Enhancement.GetOptions());
m_EditEnhancement->SetNote(GetItemText(IDC_NOTES).c_str());
m_EditEnhancement->SetNote(GetCWindowText(GetDlgItem(IDC_NOTES)).c_str());
}
else
{
@ -759,8 +759,8 @@ LRESULT CEditCheat::OnCheatOptionsChanged(WORD /*wNotifyCode*/, WORD /*wID*/, HW
bool CEditCheat::ReadEnhancement(CEnhancement & Enhancement)
{
CEnhancement TestEnhancement(CEnhancement::CheatIdent);
TestEnhancement.SetName(GetItemText(IDC_CODE_NAME).c_str());
TestEnhancement.SetNote(GetItemText(IDC_NOTES).c_str());
TestEnhancement.SetName(GetCWindowText(GetDlgItem(IDC_CODE_NAME)).c_str());
TestEnhancement.SetNote(GetCWindowText(GetDlgItem(IDC_NOTES)).c_str());
CEnhancement::CodeEntries Entries;
CEdit CheatCodes(GetDlgItem(IDC_CHEAT_CODES));
@ -851,10 +851,10 @@ void CEditCheat::DetailsChanged(void)
void CEditCheat::RecordCurrentValues(void)
{
m_EditName = GetItemText(IDC_CODE_NAME);
m_EditCode = GetItemText(IDC_CHEAT_CODES);
m_EditOptions = GetItemText(IDC_CHEAT_OPTIONS);
m_EditNotes = GetItemText(IDC_NOTES);
m_EditName = GetCWindowText(GetDlgItem(IDC_CODE_NAME));
m_EditCode = GetCWindowText(GetDlgItem(IDC_CHEAT_CODES));
m_EditOptions = GetCWindowText(GetDlgItem(IDC_CHEAT_OPTIONS));
m_EditNotes = GetCWindowText(GetDlgItem(IDC_NOTES));
}
bool CEditCheat::ValuesChanged(void)
@ -862,10 +862,10 @@ bool CEditCheat::ValuesChanged(void)
bool Changed = false;
if (m_hWnd != nullptr)
{
if (m_EditName != GetItemText(IDC_CODE_NAME) ||
m_EditCode != GetItemText(IDC_CHEAT_CODES) ||
m_EditOptions != GetItemText(IDC_CHEAT_OPTIONS) ||
m_EditNotes != GetItemText(IDC_NOTES))
if (m_EditName != GetCWindowText(GetDlgItem(IDC_CODE_NAME)) ||
m_EditCode != GetCWindowText(GetDlgItem(IDC_CHEAT_CODES)) ||
m_EditOptions != GetCWindowText(GetDlgItem(IDC_CHEAT_OPTIONS)) ||
m_EditNotes != GetCWindowText(GetDlgItem(IDC_NOTES)))
{
Changed = true;
}
@ -895,21 +895,6 @@ bool CEditCheat::ValuesChanged(void)
return false;
}
std::string CEditCheat::GetItemText(int nIDDlgItem)
{
CWindow Window = GetDlgItem(nIDDlgItem);
int length = Window.GetWindowTextLength();
if (length == 0)
{
return "";
}
std::wstring Result;
Result.resize(length + 1);
Window.GetWindowText((wchar_t *)Result.c_str(), Result.length());
return stdstr().FromUTF16(Result.c_str());
}
CEnhancementCodeEx::CEnhancementCodeEx(CEnhancement * Enhancement) :
m_Enhancement(Enhancement)
{

View File

@ -111,7 +111,6 @@ private:
void DetailsChanged(void);
void RecordCurrentValues(void);
bool ValuesChanged(void);
std::string GetItemText(int nIDDlgItem);
CEnhancementList & m_Cheats;
CCheatList & m_CheatList;

View File

@ -18,9 +18,8 @@ LRESULT CAddBreakpointDlg::OnClicked(WORD /*wNotifyCode*/, WORD wID, HWND, BOOL&
{
case IDOK:
{
wchar_t addrStr[9];
m_AddressEdit.GetWindowText(addrStr, 9);
uint32_t address = wcstoul(addrStr, nullptr, 16);
std::string addrStr = GetCWindowText(m_AddressEdit);
uint32_t address = stoul(addrStr.c_str(), nullptr, 16);
CBreakpoints* breakpoints = m_Debugger->Breakpoints();

View File

@ -72,14 +72,8 @@ LRESULT CAddSymbolDlg::OnClicked(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*
MessageBox(L"Name and/or description required", L"Error", MB_OK);
return 0;
}
wchar_t name[128];
wchar_t description[256];
m_NameEdit.GetWindowText(name, nameLen + 1);
m_DescriptionEdit.GetWindowText(description, descLen + 1);
m_Debugger->SymbolTable()->AddSymbol(type, address, stdstr().FromUTF16(name).c_str(), stdstr().FromUTF16(description).c_str());
m_Debugger->SymbolTable()->AddSymbol(type, address, GetCWindowText(m_NameEdit).c_str(), GetCWindowText(m_DescriptionEdit).c_str());
m_Debugger->SymbolTable()->Save();
m_Debugger->Debug_RefreshSymbolsWindow();

View File

@ -1676,10 +1676,8 @@ LRESULT CDebugCommandsView::OnOpEditKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM
}
else if (wParam == VK_RETURN)
{
wchar_t text[256] = { 0 };
m_OpEdit.GetWindowText(text, (sizeof(text) / sizeof(text[0])) - 1);
uint32_t op;
bool bValid = CAssembler::AssembleLine(stdstr().FromUTF16(text).c_str(), &op, m_SelectedAddress);
bool bValid = CAssembler::AssembleLine(GetCWindowText(m_OpEdit).c_str(), &op, m_SelectedAddress);
if (bValid)
{
m_OpEdit.SetWindowText(L"");
@ -1700,19 +1698,15 @@ LRESULT CDebugCommandsView::OnOpEditKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM
LRESULT CDebugCommandsView::OnOpEditChanged(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hwnd*/, BOOL& /*bHandled*/)
{
// Handle multiline input
size_t length = m_OpEdit.GetWindowTextLength();
wchar_t* text = new wchar_t[length + 1];
m_OpEdit.GetWindowText(text, length + 1);
if (wcschr(text, L'\n') == nullptr)
std::string text = GetCWindowText(m_OpEdit);
if (strchr(text.c_str(), '\n') == nullptr)
{
delete[] text;
return FALSE;
}
EndOpEdit();
for (size_t i = 0; i < length; i++)
for (size_t i = 0 , n = text.size(); i < n; i++)
{
if (text[i] == '\r')
{
@ -1720,15 +1714,15 @@ LRESULT CDebugCommandsView::OnOpEditChanged(WORD /*wNotifyCode*/, WORD /*wID*/,
}
}
wchar_t *tokctx;
wchar_t *line = wcstok_s(text, L"\n", &tokctx);
char * tokctx;
char * line = strtok_s((char *)text.c_str(), "\n", &tokctx);
while (line != nullptr)
{
if (wcslen(line) != 0)
if (strlen(line) != 0)
{
uint32_t op;
bool bValid = CAssembler::AssembleLine(stdstr().FromUTF16(line).c_str(), &op, m_SelectedAddress);
bool bValid = CAssembler::AssembleLine(line, &op, m_SelectedAddress);
if (bValid)
{
@ -1739,18 +1733,16 @@ LRESULT CDebugCommandsView::OnOpEditChanged(WORD /*wNotifyCode*/, WORD /*wID*/,
{
ShowAddress(m_StartAddress, TRUE);
BeginOpEdit(m_SelectedAddress);
m_OpEdit.SetWindowText(line);
delete[] text;
m_OpEdit.SetWindowText(stdstr(line).ToUTF16().c_str());
return FALSE;
}
}
line = wcstok_s(nullptr, L"\n", &tokctx);
line = strtok_s(nullptr, "\n", &tokctx);
}
ShowAddress(m_StartAddress, TRUE);
BeginOpEdit(m_SelectedAddress);
delete[] text;
return FALSE;
}

View File

@ -301,29 +301,25 @@ LRESULT CDebugDMALogView::OnRamAddrChanged(WORD /*wNotifyCode*/, WORD /*wID*/, H
return FALSE;
}
wchar_t szRamAddr[9];
char szRomAddr[9];
m_DMARamEdit.GetWindowText(szRamAddr, 9);
uint32_t ramAddr = wcstoul(szRamAddr, nullptr, 16);
stdstr szRomAddr;
uint32_t ramAddr = strtoul(GetCWindowText(m_DMARamEdit).c_str(), nullptr, 16);
uint32_t romAddr, offset;
DMALOGENTRY* lpEntry = m_DMALog->GetEntryByRamAddress(ramAddr, &romAddr, &offset);
DMALOGENTRY * lpEntry = m_DMALog->GetEntryByRamAddress(ramAddr, &romAddr, &offset);
if (lpEntry != nullptr)
{
sprintf(szRomAddr, "%08X", romAddr);
szRomAddr.Format("%08X", romAddr);
stdstr_f blockInfo("Block: %08X -> %08X [%X] +%X", romAddr, ramAddr, lpEntry->length, offset);
m_BlockInfo.SetWindowText(blockInfo.ToUTF16().c_str());
}
else
{
sprintf(szRomAddr, "????????");
szRomAddr = "????????";
m_BlockInfo.SetWindowText(L"Block: ?");
}
m_bConvertingAddress = true;
m_DMARomEdit.SetWindowText(stdstr(szRomAddr).ToUTF16().c_str());
m_DMARomEdit.SetWindowText(szRomAddr.ToUTF16().c_str());
m_bConvertingAddress = false;
return FALSE;
}
@ -335,29 +331,25 @@ LRESULT CDebugDMALogView::OnRomAddrChanged(WORD /*wNotifyCode*/, WORD /*wID*/, H
return FALSE;
}
wchar_t szRamAddr[9];
wchar_t szRomAddr[9];
m_DMARomEdit.GetWindowText(szRomAddr, 9);
uint32_t romAddr = wcstoul(szRomAddr, nullptr, 16);
stdstr szRamAddr = GetCWindowText(m_DMARomEdit);
uint32_t romAddr = strtoul(szRamAddr.c_str(), nullptr, 16);
uint32_t ramAddr, offset;
DMALOGENTRY* lpEntry = m_DMALog->GetEntryByRomAddress(romAddr, &ramAddr, &offset);
if (lpEntry != nullptr)
{
wsprintf(szRamAddr, L"%08X", ramAddr);
szRamAddr.Format("%08X", ramAddr);
stdstr blockInfo = stdstr_f("Block: %08X -> %08X [%X] +%X", romAddr, ramAddr, lpEntry->length, offset);
m_BlockInfo.SetWindowText(blockInfo.ToUTF16().c_str());
}
else
{
wsprintf(szRamAddr, L"????????");
szRamAddr = "????????";
m_BlockInfo.SetWindowText(L"Block: ?");
}
m_bConvertingAddress = true;
m_DMARamEdit.SetWindowText(szRamAddr);
m_DMARamEdit.SetWindowText(szRamAddr.ToUTF16().c_str());
m_bConvertingAddress = false;
return FALSE;
}

View File

@ -96,7 +96,7 @@ LRESULT CDebugMemorySearch::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARA
m_bDraggingSeparator = false;
::GetWindowRect(GetDlgItem(IDC_SEPARATOR), &m_InitialSeparatorRect);
ScreenToClient(&m_InitialSeparatorRect);
uint32_t ramSize = (g_MMU != nullptr) ? g_MMU->RdramSize() : 0x00400000;
m_AddrStart.SetValue(0x80000000, DisplayMode::AllHex);
@ -104,7 +104,7 @@ LRESULT CDebugMemorySearch::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARA
FixListHeader(m_WatchListCtrl);
FixListHeader(m_ResultsListCtrl);
UpdateResultsList(true);
UpdateWatchList();
@ -523,9 +523,9 @@ LRESULT CDebugMemorySearch::OnResultsPopupSetValue(WORD /*wNotifyCode*/, WORD /*
{
int index = m_ResultsListCtrl.GetItemData(iItem);
CScanResult* presult = m_MemoryScanner.GetResult(index);
wchar_t* enteredString = m_SetValueDlg.GetEnteredString();
presult->SetMemoryValueFromString(stdstr().FromUTF16(enteredString).c_str());
m_ResultsListCtrl.SetItemText(iItem, ResultsListCtrl_Col_Value, enteredString);
const std::string & enteredString = m_SetValueDlg.GetEnteredString();
presult->SetMemoryValueFromString(enteredString.c_str());
m_ResultsListCtrl.SetItemText(iItem, ResultsListCtrl_Col_Value, stdstr(enteredString).ToUTF16().c_str());
}
}
}
@ -662,8 +662,7 @@ LRESULT CDebugMemorySearch::OnWatchListDblClick(LPNMHDR /*lpnmh*/)
{
if (m_SetValueDlg.DoModal("Change address", "New address:", stdstr_f("0x%08X", presult->m_Address).c_str()))
{
std::string szEnteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
uint32_t newAddr = strtoul(szEnteredString.c_str(), nullptr, 0);
uint32_t newAddr = strtoul(m_SetValueDlg.GetEnteredString().c_str(), nullptr, 0);
if (presult->SetAddressSafe(newAddr))
{
m_WatchListCtrl.SetItemText(iItem, WatchListCtrl_Col_Address, stdstr_f("0x%08X", newAddr).ToUTF16().c_str());
@ -677,7 +676,7 @@ LRESULT CDebugMemorySearch::OnWatchListDblClick(LPNMHDR /*lpnmh*/)
presult->GetMemoryValueString(szInitialValue, 1024);
if (m_SetValueDlg.DoModal("Change value", "New value:", szInitialValue))
{
presult->SetMemoryValueFromString(stdstr().FromUTF16(m_SetValueDlg.GetEnteredString()).c_str());
presult->SetMemoryValueFromString(m_SetValueDlg.GetEnteredString().c_str());
}
}
break;
@ -685,9 +684,9 @@ LRESULT CDebugMemorySearch::OnWatchListDblClick(LPNMHDR /*lpnmh*/)
{
if (m_SetValueDlg.DoModal("Set description", "New description:", presult->GetDescription()))
{
stdstr szEnteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
presult->SetDescription(szEnteredString.c_str());
m_WatchListCtrl.SetItemText(iItem, WatchListCtrl_Col_Description, stdstr(szEnteredString).ToUTF16().c_str());
stdstr EnteredString = m_SetValueDlg.GetEnteredString();
presult->SetDescription(EnteredString.c_str());
m_WatchListCtrl.SetItemText(iItem, WatchListCtrl_Col_Description, EnteredString.ToUTF16().c_str());
}
}
break;
@ -702,8 +701,7 @@ LRESULT CDebugMemorySearch::OnWatchListDblClick(LPNMHDR /*lpnmh*/)
{
if (m_SetValueDlg.DoModal("String length", "New string length:", stdstr_f("%d", presult->GetStrLength()).c_str()))
{
stdstr enteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
int length = atoi(enteredString.c_str());
int length = atoi(m_SetValueDlg.GetEnteredString().c_str());
presult->SetStrLengthSafe(length);
}
@ -896,10 +894,9 @@ LRESULT CDebugMemorySearch::OnWatchListPopupChangeValue(WORD /*wNotifyCode*/, WO
{
int index = m_WatchListCtrl.GetItemData(iItem);
CScanResult* presult = &m_WatchList[index];
stdstr enteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
// TODO: prompt for size change if string is too long
presult->SetMemoryValueFromString(enteredString.c_str());
m_WatchListCtrl.SetItemText(iItem, WatchListCtrl_Col_Value, stdstr(enteredString).ToUTF16().c_str());
presult->SetMemoryValueFromString(m_SetValueDlg.GetEnteredString().c_str());
m_WatchListCtrl.SetItemText(iItem, WatchListCtrl_Col_Value, stdstr(m_SetValueDlg.GetEnteredString()).ToUTF16().c_str());
}
}
}
@ -927,7 +924,7 @@ LRESULT CDebugMemorySearch::OnWatchListPopupChangeDescription(WORD /*wNotifyCode
{
int index = m_WatchListCtrl.GetItemData(iItem);
CScanResult* presult = &m_WatchList[index];
stdstr description = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
stdstr description = m_SetValueDlg.GetEnteredString();
presult->SetDescription(description.c_str());
m_WatchListCtrl.SetItemText(iItem, WatchListCtrl_Col_Description, description.ToUTF16().c_str());
}
@ -956,8 +953,7 @@ LRESULT CDebugMemorySearch::OnWatchListPopupChangeType(WORD /*wNotifyCode*/, WOR
if (m_SetValueDlg.DoModal("String length", "New string length:",
stdstr_f("%d", pFirstResult->GetStrLength()).c_str()))
{
stdstr enteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
length = atoi(enteredString.c_str());
length = atoi(m_SetValueDlg.GetEnteredString().c_str());
if (length <= 0)
{
@ -1005,15 +1001,14 @@ LRESULT CDebugMemorySearch::OnWatchListPopupChangeAddress(WORD /*wNotifyCode*/,
if (m_SetValueDlg.DoModal("Change address", "New address:", stdstr_f("0x%08X", pFirstResult->m_Address).c_str()))
{
stdstr enteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
uint32_t newAddr = strtoul(enteredString.c_str(), nullptr, 0);
uint32_t newAddr = strtoul(m_SetValueDlg.GetEnteredString().c_str(), nullptr, 0);
stdstr newAddrStr = stdstr_f("0x%08X", newAddr);
int nItems = m_WatchListCtrl.GetItemCount();
for (int iItem = 0; iItem < nItems; iItem++)
{
bool bSelected = (m_WatchListCtrl.GetItemState(iItem, LVNI_SELECTED) != 0);
if (bSelected)
{
int index = m_WatchListCtrl.GetItemData(iItem);
@ -1038,14 +1033,13 @@ LRESULT CDebugMemorySearch::OnWatchListPopupChangeAddressBy(WORD /*wNotifyCode*/
if (m_SetValueDlg.DoModal("Adjust address", "Address offset (+/-):", "0"))
{
stdstr szEnteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
int offset = atoi(szEnteredString.c_str());
int offset = atoi(m_SetValueDlg.GetEnteredString().c_str());
int nItems = m_WatchListCtrl.GetItemCount();
for (int iItem = 0; iItem < nItems; iItem++)
{
bool bSelected = (m_WatchListCtrl.GetItemState(iItem, LVNI_SELECTED) != 0);
if (bSelected)
{
int index = m_WatchListCtrl.GetItemData(iItem);
@ -1102,7 +1096,7 @@ LRESULT CDebugMemorySearch::OnWatchListPopupCopyGamesharkCode(WORD /*wNotifyCode
bool haveOddLength = (length & 1) != 0;
int evenLength = length & ~1;
if (length >= 2)
{
for (int j = 0; j < evenLength; j += 2)
@ -1451,7 +1445,7 @@ bool CDebugMemorySearch::MouseHovering(WORD ctrlId, int hMargin, int vMargin)
}
::GetWindowRect(GetDlgItem(ctrlId), &ctrlRect);
return (
pointerPos.x >= ctrlRect.left - hMargin &&
pointerPos.x <= ctrlRect.right + hMargin &&
@ -1641,7 +1635,6 @@ void CDebugMemorySearch::Search(void)
goto value_parse_error;
}
}
m_MemoryScanner.SetValue<const wchar_t*>(value._string);
m_MemoryScanner.SetStringValueLength(stringValueLength);
break;
@ -1651,7 +1644,7 @@ void CDebugMemorySearch::Search(void)
{
goto value_parse_error;
}
m_MemoryScanner.SetValue<const wchar_t*>(value._string);
m_MemoryScanner.SetStringValueLength(stringValueLength);
break;
@ -1660,7 +1653,7 @@ void CDebugMemorySearch::Search(void)
return;
}
}
if (!m_MemoryScanner.DidFirstScan())
{
m_MemoryScanner.SetAddressType(bPhysicalChecked ? AddressType_Physical : AddressType_Virtual);
@ -1919,7 +1912,7 @@ void CDebugMemorySearch::RefreshResultsListValues(void)
}
int numShownResults = m_ResultsListCtrl.GetItemCount();
if (numShownResults > 0)
{
m_ResultsListCtrl.SetRedraw(FALSE);
@ -2044,7 +2037,7 @@ void CDebugMemorySearch::LoadWatchList(void)
{
ClearWatchList();
}
CPath wlPath = GetWatchListPath();
m_WatchListFile.Open(wlPath, CFileBase::modeRead);
@ -2052,18 +2045,18 @@ void CDebugMemorySearch::LoadWatchList(void)
{
return;
}
uint32_t length = m_WatchListFile.GetLength();
char* szWlFile = new char[length + 1];
m_WatchListFile.SeekToBegin();
m_WatchListFile.Read(szWlFile, length);
szWlFile[length] = '\0';
m_WatchListFile.Close();
char* p = szWlFile;
while (*p)
{
CScanResult result(AddressType_Virtual, DisplayDefault);
@ -2126,10 +2119,10 @@ void CDebugMemorySearch::LoadWatchList(void)
}
UpdateWatchList();
parse_error:
delete[] szWlFile;
}
void CDebugMemorySearch::FixListHeader(CListViewCtrl& listCtrl)
@ -2186,7 +2179,7 @@ INT_PTR CSetValueDlg::DoModal(const char* caption, const char* label, DWORD_PTR
return CDialogImpl<CSetValueDlg>::DoModal();
}
wchar_t* CSetValueDlg::GetEnteredString(void)
const std::string & CSetValueDlg::GetEnteredString(void)
{
return m_EnteredString;
}
@ -2246,24 +2239,14 @@ LRESULT CSetValueDlg::OnDestroy(void)
LRESULT CSetValueDlg::OnOK(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hwnd*/, BOOL& /*bHandled*/)
{
if (m_EnteredString != nullptr)
{
delete[] m_EnteredString;
m_EnteredString = nullptr;
}
m_EnteredString.clear();
if (m_Mode == Mode_TextBox)
{
int length = m_Value.GetWindowTextLength();
m_EnteredString = new wchar_t[length + 1];
m_Value.GetWindowText(m_EnteredString, length + 1);
m_EnteredString = GetCWindowText(m_Value);
}
else if (m_Mode == Mode_ComboBox)
{
int length = m_CmbValue.GetWindowTextLength();
m_EnteredString = new wchar_t[length + 1];
m_CmbValue.GetWindowText(m_EnteredString, length + 1);
m_EnteredString = GetCWindowText(m_CmbValue);
m_EnteredData = m_CmbValue.GetItemData(m_CmbValue.GetCurSel());
}
@ -2277,17 +2260,12 @@ LRESULT CSetValueDlg::OnCancel(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hwnd*/
return FALSE;
}
CSetValueDlg::CSetValueDlg(void) :
m_EnteredString(nullptr)
CSetValueDlg::CSetValueDlg(void)
{
}
CSetValueDlg::~CSetValueDlg(void)
{
if (m_EnteredString != nullptr)
{
delete[] m_EnteredString;
}
}
CEditMixed::CEditMixed(void) :
@ -2297,10 +2275,6 @@ CEditMixed::CEditMixed(void) :
CEditMixed::~CEditMixed(void)
{
if (m_String != nullptr)
{
delete[] m_String;
}
}
DisplayFormat CEditMixed::GetDisplayFormat(void)

View File

@ -7,15 +7,6 @@ class CEditMixed :
public CWindowImpl<CEditMixed, CEdit>,
public CMixed
{
private:
ValueType m_Type;
DisplayFormat m_DisplayFormat;
wchar_t *m_String;
int m_StringLength;
void ReloadString(void);
//void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
public:
CEditMixed(void);
~CEditMixed(void);
@ -39,13 +30,26 @@ public:
bool GetValueHexString(const wchar_t*& value, int& length);
BEGIN_MSG_MAP_EX(CEditMixed)
//MSG_WM_CHAR(OnChar)
END_MSG_MAP()
private:
ValueType m_Type;
DisplayFormat m_DisplayFormat;
wchar_t *m_String;
int m_StringLength;
void ReloadString(void);
};
class CSetValueDlg : public CDialogImpl<CSetValueDlg>
{
public:
BEGIN_MSG_MAP_EX(CSetValueDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_HANDLER(IDOK, BN_CLICKED, OnOK)
COMMAND_HANDLER(IDCANCEL, BN_CLICKED, OnCancel)
MSG_WM_DESTROY(OnDestroy)
END_MSG_MAP()
enum { IDD = IDD_Debugger_Search_SetValue };
typedef struct
@ -54,15 +58,20 @@ public:
DWORD_PTR data;
} ComboItem;
INT_PTR DoModal(const char* caption, const char* label, const char* initialText);
INT_PTR DoModal(const char* caption, const char* label, DWORD_PTR initialData, const ComboItem items[]);
wchar_t* GetEnteredString(void);
DWORD_PTR GetEnteredData(void);
CSetValueDlg(void);
virtual ~CSetValueDlg(void);
INT_PTR DoModal(const char* caption, const char* label, const char* initialText);
INT_PTR DoModal(const char* caption, const char* label, DWORD_PTR initialData, const ComboItem items[]);
const std::string & GetEnteredString(void);
DWORD_PTR GetEnteredData(void);
private:
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnDestroy(void);
LRESULT OnOK(WORD wNotifyCode, WORD wID, HWND hwnd, BOOL& bHandled);
LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hwnd, BOOL& bHandled);
enum Mode
{
Mode_TextBox,
@ -75,8 +84,8 @@ private:
const char* m_Label;
const ComboItem* m_ComboItems;
const char* m_InitialText;
wchar_t *m_EnteredString;
const char * m_InitialText;
std::string m_EnteredString;
DWORD_PTR m_InitialData;
DWORD_PTR m_EnteredData;
@ -84,18 +93,6 @@ private:
CStatic m_Prompt;
CEdit m_Value;
CComboBox m_CmbValue;
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnDestroy(void);
LRESULT OnOK(WORD wNotifyCode, WORD wID, HWND hwnd, BOOL& bHandled);
LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hwnd, BOOL& bHandled);
BEGIN_MSG_MAP_EX(CSetValueDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_HANDLER(IDOK, BN_CLICKED, OnOK)
COMMAND_HANDLER(IDCANCEL, BN_CLICKED, OnCancel)
MSG_WM_DESTROY(OnDestroy)
END_MSG_MAP()
};
class CDebugMemorySearch :

View File

@ -7,8 +7,8 @@ struct FieldPair
const WORD EditId;
};
using FieldPairWithStopCallback = std::function<bool(const CWindow *label, const CWindow *edit)>;
using FieldPairCallback = std::function<void(const CWindow *label, const CWindow *edit)>;
using FieldPairWithStopCallback = std::function<bool(const CWindow & Label, const CWindow & Edit)>;
using FieldPairCallback = std::function<void(const CWindow & Label, const CWindow & Edit)>;
struct TabRecord
{
@ -47,28 +47,24 @@ struct TabRecord
return -1;
}
void Iterate(const CWindow *parent, FieldPairWithStopCallback callback) const
void Iterate(const CWindow & parent, FieldPairWithStopCallback callback) const
{
for (size_t i = 0, end = FieldCount; i < end; i++)
{
const FieldPair *pair = (Fields + i);
const CWindow label = parent->GetDescendantWindow(pair->LabelId);
const CWindow edit = parent->GetDescendantWindow(pair->EditId);
if (callback(&label, &edit))
if (callback(parent.GetDescendantWindow(pair->LabelId), parent.GetDescendantWindow(pair->EditId)))
{
break;
}
}
}
void Iterate(const CWindow *parent, FieldPairCallback callback) const
void Iterate(const CWindow & parent, FieldPairCallback callback) const
{
for (size_t i = 0, end = FieldCount; i < end; i++)
{
const FieldPair *pair = (Fields + i);
const CWindow label = parent->GetDescendantWindow(pair->LabelId);
const CWindow edit = parent->GetDescendantWindow(pair->EditId);
callback(&label, &edit);
callback(parent.GetDescendantWindow(pair->LabelId), parent.GetDescendantWindow(pair->EditId));
}
}
};

View File

@ -271,14 +271,12 @@ void CRegisterTabs::RegisterChanged(HWND hDlg, TAB_ID srcTabId, WPARAM wParam)
}
WORD ctrlId = LOWORD(wParam);
CWindow editCtrl = ::GetDlgItem(hDlg, ctrlId);
wchar_t text[20];
editCtrl.GetWindowText(text, 20);
std::string text = GetCWindowText(editCtrl);
if (srcTabId == TabGPR)
{
uint64_t value = CEditReg64::ParseValue(stdstr().FromUTF16(text).c_str());
uint64_t value = CEditReg64::ParseValue(text.c_str());
if (ctrlId == IDC_HI_EDIT)
{
g_Reg->m_HI.UDW = value;
@ -295,9 +293,8 @@ void CRegisterTabs::RegisterChanged(HWND hDlg, TAB_ID srcTabId, WPARAM wParam)
return;
}
uint32_t value = wcstoul(text, nullptr, 16);
wsprintf(text, L"%08X", value);
editCtrl.SetWindowText(text); // Reformat text
uint32_t value = strtoul(text.c_str(), nullptr, 16);
editCtrl.SetWindowText(stdstr_f("%08X", value).ToUTF16().c_str());
if (srcTabId == TabFPR)
{
@ -921,25 +918,22 @@ stdstr CRegisterTabs::CopyTabRegisters(int id)
break;
}
record->Iterate(&tab, [&str](const CWindow *label, const CWindow *edit)
record->Iterate(tab, [&str](const CWindow & label, const CWindow & edit)
{
str += stdstr_f(
"\r\n%s %s",
::GetCWindowText(*label).c_str(),
::GetCWindowText(*edit).c_str());
str += stdstr_f( "\r\n%s %s", GetCWindowText(label).c_str(), GetCWindowText(edit).c_str());
});
switch (id)
{
case 0:
str += stdstr_f("\r\nHI %s", m_HIEdit.GetValueText().c_str());
str += stdstr_f("\r\nLO %s", m_LOEdit.GetValueText().c_str());
str += stdstr_f("\r\nHI %s", GetCWindowText(m_HIEdit).c_str());
str += stdstr_f("\r\nLO %s", GetCWindowText(m_LOEdit).c_str());
break;
case 1:
str += stdstr_f("\r\nFCSR %s", m_FCSREdit.GetValueText().c_str());
str += stdstr_f("\r\nFCSR %s", GetCWindowText(m_FCSREdit).c_str());
break;
case 4:
str += stdstr_f("\r\nSP (A4080000)\r\n00 SP_PC %s", m_SPPCEdit.GetValueText().c_str());
str += stdstr_f("\r\nSP (A4080000)\r\n00 SP_PC %s", GetCWindowText(m_SPPCEdit).c_str());
break;
}
@ -972,9 +966,10 @@ BOOL CEditReg64::Attach(HWND hWndNew)
LRESULT CEditReg64::OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
bHandled = TRUE;
if (!isStepping())
{
goto canceled;
return 0;
}
char charCode = (char)wParam;
@ -983,20 +978,19 @@ LRESULT CEditReg64::OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandl
{
if (!isalnum(charCode))
{
goto unhandled;
bHandled = FALSE;
}
goto canceled;
return 0;
}
if (isalpha(charCode) && !isupper(charCode))
{
SendMessage(uMsg, toupper(wParam), lParam);
goto canceled;
return 0;
}
wchar_t text[20];
GetWindowText(text, 20);
int textLen = wcslen(text);
std::string text = GetCWindowText(*this);
int textLen = text.size();
if (textLen >= 17)
{
@ -1004,39 +998,26 @@ LRESULT CEditReg64::OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandl
GetSel(selStart, selEnd);
if (selEnd - selStart == 0)
{
goto canceled;
return 0;
}
}
if (charCode == ' ' && wcschr(text, ' ') != nullptr)
if (charCode == ' ' && strchr(text.c_str(), ' ') != nullptr)
{
goto canceled;
return 0;
}
unhandled:
bHandled = FALSE;
return 0;
canceled:
bHandled = TRUE;
return 0;
}
uint64_t CEditReg64::GetValue()
{
wchar_t text[20];
GetWindowText(text, 20);
return ParseValue(stdstr().FromUTF16(text).c_str());
}
stdstr CEditReg64::GetValueText()
{
return ::GetCWindowText(*this);
return ParseValue(GetCWindowText(*this).c_str());
}
LRESULT CEditReg64::OnLostFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
SetValue(GetValue()); // Clean up
SetValue(GetValue());
bHandled = FALSE;
return 0;
}

View File

@ -12,7 +12,6 @@ public:
LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnLostFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
uint64_t GetValue();
stdstr GetValueText();
void SetValue(uint32_t h, uint32_t l);
void SetValue(uint64_t value);

View File

@ -474,10 +474,9 @@ LRESULT CEditEval::OnKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BO
{
if (m_HistoryIdx > 0)
{
wchar_t* code = m_History[--m_HistoryIdx];
SetWindowText(code);
int selEnd = wcslen(code);
SetSel(selEnd, selEnd);
const std::string & Code = m_History[--m_HistoryIdx];
SetWindowText(stdstr(Code).ToUTF16().c_str());
SetSel((int)Code.length(), (int)Code.length());
}
}
else if (wParam == VK_DOWN)
@ -485,10 +484,9 @@ LRESULT CEditEval::OnKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BO
int size = m_History.size();
if (m_HistoryIdx < size - 1)
{
wchar_t* code = m_History[++m_HistoryIdx];
SetWindowText(code);
int selEnd = wcslen(code);
SetSel(selEnd, selEnd);
const std::string & Code = m_History[++m_HistoryIdx];
SetWindowText(stdstr(Code).ToUTF16().c_str());
SetSel((int)Code.length(), (int)Code.length());
}
else if (m_HistoryIdx < size)
{
@ -504,11 +502,8 @@ LRESULT CEditEval::OnKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BO
return 0;
}
size_t codeLength = GetWindowTextLength() + 1;
wchar_t* code = (wchar_t*)malloc(codeLength * sizeof(wchar_t));
GetWindowText(code, codeLength);
m_ScriptWindow->EvaluateInSelectedInstance(stdstr().FromUTF16(code).c_str());
std::string Code = GetCWindowText(*this);
m_ScriptWindow->EvaluateInSelectedInstance(Code.c_str());
SetWindowText(L"");
int historySize = m_History.size();
@ -516,9 +511,8 @@ LRESULT CEditEval::OnKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BO
// Remove duplicate
for (int i = 0; i < historySize; i++)
{
if (wcscmp(code, m_History[i]) == 0)
if (strcmp(Code.c_str(), m_History[i].c_str()) == 0)
{
free(m_History[i]);
m_History.erase(m_History.begin() + i);
historySize--;
break;
@ -532,8 +526,8 @@ LRESULT CEditEval::OnKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BO
historySize--;
}
m_History.push_back(code);
m_HistoryIdx = ++historySize;
m_History.push_back(Code);
m_HistoryIdx = historySize++;
}
bHandled = FALSE;
return 0;

View File

@ -3,6 +3,7 @@
#include "ScriptSystem.h"
#include <Project64/UserInterface/WTLControls/TooltipDialog.h>
#include <string>
#include <vector>
class CScriptList : public CListViewCtrl
{
@ -14,9 +15,8 @@ public:
class CEditEval : public CWindowImpl<CEditEval, CEdit>
{
private:
//static char* m_EvalString;
static const int HISTORY_MAX_ENTRIES = 20;
vector<wchar_t*> m_History;
std::vector<std::string> m_History;
int m_HistoryIdx;
CDebugScripts* m_ScriptWindow;

View File

@ -175,9 +175,8 @@ LRESULT CDebugSymbols::OnListDblClicked(NMHDR* pNMHDR)
case SymbolsListView_Col_Name:
if (m_SetValueDlg.DoModal("Set name", "New name:", symbol.m_Name))
{
wchar_t* szEnteredString = m_SetValueDlg.GetEnteredString();
m_Debugger->SymbolTable()->RemoveSymbolById(id);
m_Debugger->SymbolTable()->AddSymbol(symbol.m_Type, symbol.m_Address, stdstr().FromUTF16(szEnteredString).c_str(), symbol.m_Description);
m_Debugger->SymbolTable()->AddSymbol(symbol.m_Type, symbol.m_Address, m_SetValueDlg.GetEnteredString().c_str(), symbol.m_Description);
}
break;
case SymbolsListView_Col_Value:
@ -187,7 +186,7 @@ LRESULT CDebugSymbols::OnListDblClicked(NMHDR* pNMHDR)
m_Debugger->SymbolTable()->GetValueString(szValue, &symbol);
if (m_SetValueDlg.DoModal("Change value", "New value:", szValue))
{
stdstr EnteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
const std::string & EnteredString = m_SetValueDlg.GetEnteredString();
switch (symbol.m_Type)
{
@ -272,9 +271,8 @@ LRESULT CDebugSymbols::OnListDblClicked(NMHDR* pNMHDR)
case SymbolsListView_Col_Description:
if (m_SetValueDlg.DoModal("Set description", "New description:", symbol.m_Description))
{
stdstr szEnteredString = stdstr().FromUTF16(m_SetValueDlg.GetEnteredString());
m_Debugger->SymbolTable()->RemoveSymbolById(id);
m_Debugger->SymbolTable()->AddSymbol(symbol.m_Type, symbol.m_Address, symbol.m_Name, szEnteredString.c_str());
m_Debugger->SymbolTable()->AddSymbol(symbol.m_Type, symbol.m_Address, symbol.m_Name, m_SetValueDlg.GetEnteredString().c_str());
}
break;
}

View File

@ -67,7 +67,7 @@ void COptionsDirectoriesPage::SelectDirectory(LanguageStringID Title, CModifiedE
LPITEMIDLIST pidl;
BROWSEINFO bi;
stdstr InitialDir = EditBox.GetWindowText();
std::string InitialDir = GetCWindowText(EditBox);
std::wstring wTitle = wGS(Title);
bi.hwndOwner = m_hWnd;
bi.pidlRoot = nullptr;
@ -264,8 +264,7 @@ void COptionsDirectoriesPage::UpdateDirectory(CModifiedEditBox & EditBox, Settin
{
if (EditBox.IsChanged())
{
stdstr dir = EditBox.GetWindowText();
g_Settings->SaveString(Type, dir.c_str());
g_Settings->SaveString(Type, GetCWindowText(EditBox).c_str());
}
if (EditBox.IsReset())
{

View File

@ -44,8 +44,7 @@ void CDiskDrivePage::ApplySettings(bool UpdateScreen)
{
if (m_IplDirJp.IsChanged())
{
stdstr file = m_IplDirJp.GetWindowText();
g_Settings->SaveString(File_DiskIPLPath, file.c_str());
g_Settings->SaveString(File_DiskIPLPath, GetCWindowText(m_IplDirJp).c_str());
}
if (m_IplDirJp.IsReset())
{
@ -54,8 +53,7 @@ void CDiskDrivePage::ApplySettings(bool UpdateScreen)
if (m_IplDirUs.IsChanged())
{
stdstr file = m_IplDirUs.GetWindowText();
g_Settings->SaveString(File_DiskIPLUSAPath, file.c_str());
g_Settings->SaveString(File_DiskIPLUSAPath, GetCWindowText(m_IplDirUs).c_str());
}
if (m_IplDirUs.IsReset())
{
@ -64,8 +62,7 @@ void CDiskDrivePage::ApplySettings(bool UpdateScreen)
if (m_IplDirTl.IsChanged())
{
stdstr file = m_IplDirTl.GetWindowText();
g_Settings->SaveString(File_DiskIPLTOOLPath, file.c_str());
g_Settings->SaveString(File_DiskIPLTOOLPath, GetCWindowText(m_IplDirTl).c_str());
}
if (m_IplDirTl.IsReset())
{

View File

@ -86,7 +86,7 @@ protected:
{
if (EditBox.IsChanged())
{
stdstr Value = EditBox.GetWindowText();
stdstr Value = GetCWindowText(EditBox);
if (EditBox.IsbString())
{
g_Settings->SaveString(Type, Value);

View File

@ -237,14 +237,9 @@ LRESULT CRequestCode::OnEraseBackground(UINT /*uMsg*/, WPARAM wParam, LPARAM /*l
LRESULT CRequestCode::OnOkCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
CWindow EmailWnd(GetDlgItem(IDC_EMAIL));
int EmailLen = EmailWnd.GetWindowTextLength();
std::wstring Email;
Email.resize(EmailLen + 1);
EmailWnd.GetWindowText((wchar_t *)Email.c_str(), Email.length());
GetDlgItem(IDOK).EnableWindow(false);
GetDlgItem(IDCANCEL).EnableWindow(false);
if (m_Support.RequestCode(stdstr().FromUTF16(Email.c_str()).c_str()))
if (m_Support.RequestCode(GetCWindowText(GetDlgItem(IDC_EMAIL)).c_str()))
{
MessageBox(wGS(MSG_SUPPORT_REQUESTCODE_SUCCESS).c_str(), wGS(MSG_SUPPORT_REQUESTCODE_TITLE).c_str(), MB_OK);
EndDialog(wID);

View File

@ -15,13 +15,11 @@ bool CEditNumber32::IsHexConvertableText(LPTSTR _text)
int start, end;
GetSel(start, end);
wchar_t WindowText[200];
GetWindowText(WindowText, sizeof(WindowText) / sizeof(WindowText[0]));
std::string WindowText = GetCWindowText(*this);
bool bPaste = true;
size_t Len = wcslen(WindowText);
wchar_t head = Len > 0 ? WindowText[0] : 0;
wchar_t second = Len > 1 ? WindowText[1] : 0;
size_t Len = WindowText.size();
char head = Len > 0 ? WindowText[0] : 0;
char second = Len > 1 ? WindowText[1] : 0;
if (second == 'X' || second == 'x')
{
@ -170,12 +168,9 @@ LRESULT CEditNumber32::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
{
int start, end;
GetSel(start, end);
wchar_t WindowText[200];
GetWindowText(WindowText, sizeof(WindowText) / sizeof(WindowText[0]));
size_t Len = wcslen(WindowText);
wchar_t head = Len > 0 ? WindowText[0] : 0;
wchar_t second = Len > 1 ? WindowText[1] : 0;
std::string WindowText = GetCWindowText(*this);
char Head = WindowText.length() > 0 ? WindowText[0] : 0;
char Second = WindowText.length() > 1 ? WindowText[1] : 0;
if (uMsg == WM_CHAR)
{
@ -184,7 +179,7 @@ LRESULT CEditNumber32::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
if (m_DisplayType == DisplayHex)
{
MaxLen = 8;
if (second == L'x' || second == L'X')
if (Second == L'x' || Second == L'X')
{
MaxLen += 2;
}
@ -192,7 +187,7 @@ LRESULT CEditNumber32::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
wchar_t c = (wchar_t)wParam;
if (wParam < 32)
{
if (wParam == 8 && (second == L'x' || second == L'X') && head == L'0' && end == 1)
if (wParam == 8 && (Second == 'x' || Second == 'X') && Head == '0' && end == 1)
{
// Does not allow to delete '0' before x
bHandled = true;
@ -203,7 +198,7 @@ LRESULT CEditNumber32::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
return TRUE;
}
if (second == L'x' || second == L'X')
if (Second == 'x' || Second == 'X')
{
// Does not allow to change head except select includes first and second
if (start <= 1 && end <= 1)
@ -212,9 +207,9 @@ LRESULT CEditNumber32::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
return TRUE;
}
}
if (start == 1 && (c == L'X' || c == L'x') && head == L'0')
if (start == 1 && (c == 'X' || c == 'x') && Head == '0')
{
if (c == L'X')
if (c == 'X')
{
SendMessage(uMsg, L'x', lParam);
bHandled = true;
@ -226,7 +221,7 @@ LRESULT CEditNumber32::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
}
else if (c >= L'0' && c <= L'9' || c >= L'A' && c <= L'F')
{
if (Len >= MaxLen && start == end)
if (WindowText.length() >= MaxLen && start == end)
{
bHandled = true;
return true;
@ -236,7 +231,7 @@ LRESULT CEditNumber32::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
}
else if (c >= L'a' && c <= L'f')
{
if (Len >= MaxLen && start == end)
if (WindowText.length() >= MaxLen && start == end)
{
bHandled = true;
return true;
@ -272,16 +267,15 @@ void CEditNumber32::SetDisplayType(DisplayType Type)
uint32_t CEditNumber32::GetValue(void)
{
wchar_t text[200];
GetWindowText(text, sizeof(text) / sizeof(text[0]));
std::string Text = GetCWindowText(*this);
if (m_DisplayType == DisplayDec)
{
return _wtoi(text);
return atoi(Text.c_str());
}
size_t Finish = wcslen(text);
wchar_t second = Finish > 1 ? text[1] : 0;
size_t Start = (second == L'x' || second == L'X') ? 2 : 0;
size_t Finish = Text.length();
wchar_t Second = Finish > 1 ? Text[1] : 0;
size_t Start = (Second == 'x' || Second == 'X') ? 2 : 0;
if (Finish > 8 + Start) { Finish = 8 + Start; }
@ -289,30 +283,30 @@ uint32_t CEditNumber32::GetValue(void)
for (size_t i = Start; i < Finish; i++)
{
Value = (Value << 4);
switch (text[i])
switch (Text[i])
{
case L'0': break;
case L'1': Value += 1; break;
case L'2': Value += 2; break;
case L'3': Value += 3; break;
case L'4': Value += 4; break;
case L'5': Value += 5; break;
case L'6': Value += 6; break;
case L'7': Value += 7; break;
case L'8': Value += 8; break;
case L'9': Value += 9; break;
case L'A': Value += 10; break;
case L'a': Value += 10; break;
case L'B': Value += 11; break;
case L'b': Value += 11; break;
case L'C': Value += 12; break;
case L'c': Value += 12; break;
case L'D': Value += 13; break;
case L'd': Value += 13; break;
case L'E': Value += 14; break;
case L'e': Value += 14; break;
case L'F': Value += 15; break;
case L'f': Value += 15; break;
case '0': break;
case '1': Value += 1; break;
case '2': Value += 2; break;
case '3': Value += 3; break;
case '4': Value += 4; break;
case '5': Value += 5; break;
case '6': Value += 6; break;
case '7': Value += 7; break;
case '8': Value += 8; break;
case '9': Value += 9; break;
case 'A': Value += 10; break;
case 'a': Value += 10; break;
case 'B': Value += 11; break;
case 'b': Value += 11; break;
case 'C': Value += 12; break;
case 'c': Value += 12; break;
case 'D': Value += 13; break;
case 'd': Value += 13; break;
case 'E': Value += 14; break;
case 'e': Value += 14; break;
case 'F': Value += 15; break;
case 'f': Value += 15; break;
default:
Value = (Value >> 4);
i = Finish;
@ -321,11 +315,6 @@ uint32_t CEditNumber32::GetValue(void)
return Value;
}
stdstr CEditNumber32::GetValueText(void)
{
return ::GetCWindowText(*this);
}
void CEditNumber32::SetValue(uint32_t Value, DisplayMode Display)
{
stdstr text;

View File

@ -20,7 +20,6 @@ public:
BOOL AttachToDlgItem(HWND parent, UINT dlgID);
void SetDisplayType(DisplayType Type);
uint32_t GetValue(void);
stdstr GetValueText(void);
void SetValue(uint32_t Value, DisplayMode Display = DisplayMode::ShowHexIdent);
protected:

View File

@ -67,12 +67,6 @@ void CModifiedEditBox::SetChanged(bool Changed)
}
}
stdstr CModifiedEditBox::GetWindowText(void)
{
ATLASSERT(::IsWindow(m_hWnd));
return ::GetCWindowText(*this);
}
void CModifiedEditBox::SetTextField(HWND hWnd)
{
if (m_TextField && m_OriginalFont)

View File

@ -17,7 +17,6 @@ public:
void SetReset ( bool Reset );
void SetChanged (bool Changed);
stdstr GetWindowText();
void SetTextField (HWND hWnd);
inline bool IsChanged ( void ) const

View File

@ -54,11 +54,9 @@ void CPartialGroupBox::OnPaint(HDC /*hDC*/)
dc.SetMapMode(MM_TEXT);
dc.SelectBrush(GetSysColorBrush(COLOR_BTNFACE));
wchar_t grptext[500];
::GetWindowText(m_hWnd, grptext, sizeof(grptext) / sizeof(grptext[0]));
stdstr grptext = GetCWindowText(m_hWnd);
CRect fontsizerect(0, 0, 0, 0);
dc.DrawText(grptext, -1, fontsizerect, DT_SINGLELINE | DT_LEFT | DT_CALCRECT);
dc.DrawText(grptext.ToUTF16().c_str(), -1, fontsizerect, DT_SINGLELINE | DT_LEFT | DT_CALCRECT);
CRect framerect(controlrect);
framerect.top += (fontsizerect.Height()) / 2;
@ -77,7 +75,7 @@ void CPartialGroupBox::OnPaint(HDC /*hDC*/)
Draw3dLine(dc, framerect, GetSysColor(COLOR_3DHILIGHT), GetSysColor(COLOR_3DSHADOW));
}
if (wcslen(grptext))
if (!grptext.empty())
{
CRect fontrect(controlrect);
fontrect.bottom = controlrect.top + fontsizerect.Height();
@ -106,6 +104,6 @@ void CPartialGroupBox::OnPaint(HDC /*hDC*/)
dc.SetBkMode(OPAQUE);
dc.SetBkColor(GetSysColor(COLOR_BTNFACE));
dc.DrawText(grptext, -1, fontrect, DT_SINGLELINE | DT_LEFT);
dc.DrawText(grptext.ToUTF16().c_str(), -1, fontrect, DT_SINGLELINE | DT_LEFT);
}
}