/* Callback for the Audit property sheet */ INT_PTR CALLBACK GameAuditDialogProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: FlushFileCaches(); hAudit = hDlg; win_set_window_text_utf8(GetDlgItem(hDlg, IDC_PROP_TITLE), GameInfoTitle(OPTIONS_GAME, rom_index)); SetTimer(hDlg, 0, 1, NULL); return 1; case WM_TIMER: KillTimer(hDlg, 0); { int iStatus; LPCSTR lpStatus; iStatus = MameUIVerifyRomSet(rom_index); lpStatus = DriverUsesRoms(rom_index) ? StatusString(iStatus) : "None required"; win_set_window_text_utf8(GetDlgItem(hDlg, IDC_PROP_ROMS), lpStatus); iStatus = MameUIVerifySampleSet(rom_index); lpStatus = DriverUsesSamples(rom_index) ? StatusString(iStatus) : "None required"; win_set_window_text_utf8(GetDlgItem(hDlg, IDC_PROP_SAMPLES), lpStatus); } ShowWindow(hDlg, SW_SHOW); break; } return 0; }
bool pointswin_info::handle_command(WPARAM wparam, LPARAM lparam) { switch (HIWORD(wparam)) { // menu selections case 0: switch (LOWORD(wparam)) { case ID_SHOW_BREAKPOINTS: m_views[0].reset(); m_views[0].reset(global_alloc(debugview_info(debugger(), *this, window(), DVT_BREAK_POINTS))); if (!m_views[0]->is_valid()) m_views[0].reset(); win_set_window_text_utf8(window(), "All Breakpoints"); recompute_children(); return true; case ID_SHOW_WATCHPOINTS: m_views[0].reset(); m_views[0].reset(global_alloc(debugview_info(debugger(), *this, window(), DVT_WATCH_POINTS))); if (!m_views[0]->is_valid()) m_views[0].reset(); win_set_window_text_utf8(window(), "All Watchpoints"); recompute_children(); return true; } break; } return debugwin_info::handle_command(wparam, lparam); }
static DWORD WINAPI AuditThreadProc(LPVOID hDlg) { char buffer[200]; while (!bCancel) { if (!bPaused) { if (rom_index != -1) { sprintf(buffer, "Checking Game %s - %s", drivers[rom_index]->name, drivers[rom_index]->description); win_set_window_text_utf8((HWND)hDlg, buffer); ProcessNextRom(); } else { if (sample_index != -1) { sprintf(buffer, "Checking Game %s - %s", drivers[sample_index]->name, drivers[sample_index]->description); win_set_window_text_utf8((HWND)hDlg, buffer); ProcessNextSample(); } else { win_set_window_text_utf8((HWND)hDlg, "File Audit"); EnableWindow(GetDlgItem((HWND)hDlg, IDPAUSE), FALSE); ExitThread(1); } } } } return 0; }
INT_PTR CALLBACK AboutDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: { char tmp[256]; CenterWindow(hDlg); hBrush = CreateSolidBrush(RGB(235, 233, 237)); HBITMAP hBmp = (HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_SPLASH), IMAGE_BITMAP, 0, 0, LR_SHARED); SendMessage(GetDlgItem(hDlg, IDC_ABOUT), STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBmp); hFont = CreateFont(-11, 0, 0, 0, 400, 0, 0, 0, 0, 3, 2, 1, 34, TEXT("Verdana")); hFontFX = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, 0, 3, 2, 1, 34, TEXT("Verdana")); SetWindowFont(GetDlgItem(hDlg, IDC_TEXT1), hFont, true); SetWindowFont(GetDlgItem(hDlg, IDC_TEXT2), hFont, true); SetWindowFont(GetDlgItem(hDlg, IDC_TEXT3), hFont, true); SetWindowFont(GetDlgItem(hDlg, IDC_TEXT4), hFont, true); SetWindowFont(GetDlgItem(hDlg, IDC_SICKFX), hFontFX, true); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_BUILD), "Build time: " __DATE__" - " __TIME__""); snprintf(tmp, WINUI_ARRAY_LENGTH(tmp), "Version: %s", MAME_VERSION); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_BUILDVER), tmp); return true; } case WM_CTLCOLORDLG: return (LRESULT) hBrush; case WM_CTLCOLORSTATIC: case WM_CTLCOLORBTN: hDC = (HDC)wParam; SetBkMode(hDC, TRANSPARENT); SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT)); if ((HWND)lParam == GetDlgItem(hDlg, IDC_SICKFX)) SetTextColor(hDC, RGB(63, 72, 204)); return (LRESULT) hBrush; case WM_COMMAND: switch (GET_WM_COMMAND_ID(wParam, lParam)) { case IDOK: case IDCANCEL: DeleteObject(hFont); DeleteObject(hFontFX); DeleteObject(hBrush); EndDialog(hDlg, 0); return true; } break; } return false; }
static UINT_PTR CALLBACK CCHookProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: CenterWindow(hDlg); hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MAMEUI_ICON)); SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); hBrush = CreateSolidBrush(RGB(240, 240, 240)); win_set_window_text_utf8(hDlg, "Choose a color"); break; case WM_CTLCOLORDLG: return (LRESULT) hBrush; case WM_CTLCOLORSTATIC: case WM_CTLCOLORBTN: hDC = (HDC)wParam; SetBkMode(hDC, TRANSPARENT); return (LRESULT) hBrush; case WM_DESTROY: DestroyIcon(hIcon); DeleteObject(hBrush); return true; } return false; }
static void OnHScroll(HWND hWnd, HWND hWndCtl, UINT code, int pos) { int value = 0; char tmp[8]; if (hWndCtl == GetDlgItem(hWnd, IDC_CYCLETIMESEC)) { value = SendMessage(GetDlgItem(hWnd, IDC_CYCLETIMESEC), TBM_GETPOS, 0, 0); snprintf(tmp, WINUI_ARRAY_LENGTH(tmp), "%d", value); win_set_window_text_utf8(GetDlgItem(hWnd, IDC_CYCLETIMESECTXT), tmp); } else if (hWndCtl == GetDlgItem(hWnd, IDC_SCREENSHOT_BORDERSIZE)) { value = SendMessage(GetDlgItem(hWnd, IDC_SCREENSHOT_BORDERSIZE), TBM_GETPOS, 0, 0); snprintf(tmp, WINUI_ARRAY_LENGTH(tmp), "%d", value); win_set_window_text_utf8(GetDlgItem(hWnd, IDC_SCREENSHOT_BORDERSIZETXT), tmp); } }
void consolewin_info::set_cpu(device_t &device) { // first set all the views to the new cpu number m_views[0]->set_source_for_device(device); m_views[1]->set_source_for_device(device); // then update the caption std::string title = string_format("Debug: %s - %s '%s'", device.machine().system().name, device.name(), device.tag()); std::string curtitle = win_get_window_text_utf8(window()); if (title != curtitle) win_set_window_text_utf8(window(), title.c_str()); // and recompute the children recompute_children(); }
static BOOL SoftwareDirectories_OnBeginLabelEdit(HWND hDlg, NMHDR* pNMHDR) { BOOL bResult = FALSE; NMLVDISPINFO* pDispInfo = (NMLVDISPINFO*)pNMHDR; LVITEM* pItem = &pDispInfo->item; HWND hList = GetDlgItem(hDlg, IDC_DIR_LIST); /* Last item is placeholder for append */ if (pItem->iItem == ListView_GetItemCount(hList) - 1) { HWND hEdit = (HWND) (FPTR) SendMessage(hList, LVM_GETEDITCONTROL, 0, 0); win_set_window_text_utf8(hEdit, ""); } return bResult; }
BOOL win_adjust_option_control(HWND control, int delta) { const option_guide *guide; const char *optspec; struct OptionRange ranges[128]; char buf[64]; int val, original_val, i; BOOL changed = FALSE; guide = (const option_guide *) GetProp(control, guide_prop); optspec = (const char *) GetProp(control, spec_prop); assert(guide->option_type == OPTIONTYPE_INT); if (delta == 0) return TRUE; option_resolution_listranges(optspec, guide->parameter, ranges, ARRAY_LENGTH(ranges)); win_get_window_text_utf8(control, buf, ARRAY_LENGTH(buf)); original_val = atoi(buf); val = original_val + delta; for (i = 0; ranges[i].min >= 0; i++) { if (ranges[i].min > val) { if ((delta < 0) && (i > 0)) val = ranges[i-1].max; else val = ranges[i].min; changed = TRUE; break; } } if (!changed && (i > 0) && (ranges[i-1].max < val)) val = ranges[i-1].max; if (val != original_val) { _snprintf(buf, ARRAY_LENGTH(buf), "%d", val); win_set_window_text_utf8(control, buf); } return TRUE; }
void consolewin_info::set_cpu(device_t &device) { // first set all the views to the new cpu number m_views[0]->set_source_for_device(device); m_views[1]->set_source_for_device(device); // then update the caption char curtitle[256]; astring title; title.printf("Debug: %s - %s '%s'", device.machine().system().name, device.name(), device.tag()); win_get_window_text_utf8(window(), curtitle, ARRAY_LENGTH(curtitle)); if (title.cmp(curtitle) != 0) win_set_window_text_utf8(window(), title.c_str()); // and recompute the children recompute_children(); }
static BOOL prepare_editbox(HWND control, const option_guide *guide, const char *optspec) { optreserr_t err = OPTIONRESOLUTION_ERROR_SUCCESS; char buf[32]; int val, has_option, option_count; has_option = guide && optspec; buf[0] = '\0'; if (has_option) { switch(guide->option_type) { case OPTIONTYPE_STRING: break; case OPTIONTYPE_INT: err = option_resolution_getdefault(optspec, guide->parameter, &val); if (err) goto done; _snprintf(buf, ARRAY_LENGTH(buf), "%d", val); break; default: err = OPTIONRESOLTUION_ERROR_INTERNAL; goto done; } } if (has_option) { option_count = get_option_count(guide, optspec); if (option_count <= 1) has_option = FALSE; } done: assert(err != OPTIONRESOLTUION_ERROR_INTERNAL); win_set_window_text_utf8(control, buf); EnableWindow(control, !err && has_option); return err == OPTIONRESOLUTION_ERROR_SUCCESS; }
static BOOL check_editbox(HWND control) { char buf[256]; const option_guide *guide; const char *optspec; optreserr_t err; HANDLE h; void *val; int i_val; guide = (const option_guide *) GetProp(control, guide_prop); optspec = (const char *) GetProp(control, spec_prop); win_get_window_text_utf8(control, buf, ARRAY_LENGTH(buf)); switch(guide->option_type) { case OPTIONTYPE_INT: i_val = atoi(buf); err = option_resolution_isvalidvalue(optspec, guide->parameter, i_val); if (err) { h = GetProp(control, value_prop); val = (void*) h; _snprintf(buf, ARRAY_LENGTH(buf), "%d", val); win_set_window_text_utf8(control, buf); } else { SetProp(control, value_prop, (HANDLE) i_val); } break; default: err = OPTIONRESOLTUION_ERROR_INTERNAL; goto done; } done: assert(err != OPTIONRESOLTUION_ERROR_INTERNAL); return (err != OPTIONRESOLUTION_ERROR_SUCCESS); }
INT_PTR CALLBACK AboutDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: { HBITMAP hBmp; hBmp = (HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_ABOUT), IMAGE_BITMAP, 0, 0, LR_SHARED); SendDlgItemMessage(hDlg, IDC_ABOUT, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmp); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_VERSION), GetVersionString()); } return 1; case WM_COMMAND: EndDialog(hDlg, 0); return 1; } return 0; }
static void CALLBACK tapedialog_timerproc(HWND dialog, UINT msg, UINT_PTR idevent, DWORD time) { struct tape_dialog *dlg; int id; int curpos, endpos; char tapestatus[32]; mess_image *img; dlg = get_tapedialog(dialog); id = dlg - tape_dialogs; img = image_from_devtype_and_index(IO_CASSETTE, id); tapecontrol_gettime(tapestatus, sizeof(tapestatus) / sizeof(tapestatus[0]), img, &curpos, &endpos); SendMessage(dlg->slider, TBM_SETRANGEMIN, FALSE, 0); SendMessage(dlg->slider, TBM_SETRANGEMAX, FALSE, endpos); SendMessage(dlg->slider, TBM_SETPOS, TRUE, curpos); win_set_window_text_utf8(dlg->status, tapestatus); }
void disasmwin_info::update_caption() { win_set_window_text_utf8(window(), astring("Disassembly: ", m_views[0]->source_name())); }
INT_PTR CALLBACK AddCustomFileDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { static LPTREEFOLDER default_selection = NULL; static int driver_index; BOOL res; switch (Msg) { case WM_INITDIALOG: { TREEFOLDER **folders; int num_folders; int i; TVINSERTSTRUCT tvis; TVITEM tvi; BOOL first_entry = TRUE; HIMAGELIST treeview_icons = GetTreeViewIconList(); // current game passed in using DialogBoxParam() driver_index = lParam; (void)TreeView_SetImageList(GetDlgItem(hDlg,IDC_CUSTOM_TREE), treeview_icons, LVSIL_NORMAL); GetFolders(&folders,&num_folders); // should add "New..." // insert custom folders into our tree view for (i=0;i<num_folders;i++) { if (folders[i]->m_dwFlags & F_CUSTOM) { HTREEITEM hti; int jj; if (folders[i]->m_nParent == -1) { memset(&tvi, '\0', sizeof(tvi)); tvis.hParent = TVI_ROOT; tvis.hInsertAfter = TVI_SORT; tvi.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.pszText = folders[i]->m_lptTitle; tvi.lParam = (LPARAM)folders[i]; tvi.iImage = GetTreeViewIconIndex(folders[i]->m_nIconId); tvi.iSelectedImage = 0; #if defined(__GNUC__) /* bug in commctrl.h */ tvis.item = tvi; #else tvis.DUMMYUNIONNAME.item = tvi; #endif hti = TreeView_InsertItem(GetDlgItem(hDlg,IDC_CUSTOM_TREE),&tvis); /* look for children of this custom folder */ for (jj=0;jj<num_folders;jj++) { if (folders[jj]->m_nParent == i) { HTREEITEM hti_child; tvis.hParent = hti; tvis.hInsertAfter = TVI_SORT; tvi.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.pszText = folders[jj]->m_lptTitle; tvi.lParam = (LPARAM)folders[jj]; tvi.iImage = GetTreeViewIconIndex(folders[jj]->m_nIconId); tvi.iSelectedImage = 0; #if defined(__GNUC__) /* bug in commctrl.h */ tvis.item = tvi; #else tvis.DUMMYUNIONNAME.item = tvi; #endif hti_child = TreeView_InsertItem(GetDlgItem(hDlg,IDC_CUSTOM_TREE),&tvis); if (folders[jj] == default_selection) res = TreeView_SelectItem(GetDlgItem(hDlg,IDC_CUSTOM_TREE),hti_child); } } /*TreeView_Expand(GetDlgItem(hDlg,IDC_CUSTOM_TREE),hti,TVE_EXPAND);*/ if (first_entry || folders[i] == default_selection) { res = TreeView_SelectItem(GetDlgItem(hDlg,IDC_CUSTOM_TREE),hti); first_entry = FALSE; } } } } win_set_window_text_utf8(GetDlgItem(hDlg,IDC_CUSTOMFILE_GAME), ModifyThe(driver_list::driver(driver_index).description)); return TRUE; } case WM_COMMAND: switch (GET_WM_COMMAND_ID(wParam, lParam)) { case IDOK: { TVITEM tvi; tvi.hItem = TreeView_GetSelection(GetDlgItem(hDlg,IDC_CUSTOM_TREE)); tvi.mask = TVIF_PARAM; if (TreeView_GetItem(GetDlgItem(hDlg,IDC_CUSTOM_TREE),&tvi) == TRUE) { /* should look for New... */ default_selection = (LPTREEFOLDER)tvi.lParam; /* start here next time */ AddToCustomFolder((LPTREEFOLDER)tvi.lParam,driver_index); } EndDialog(hDlg, 0); return TRUE; } case IDCANCEL: EndDialog(hDlg, 0); return TRUE; } break; } return 0; }
INT_PTR CALLBACK FilterDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: { CenterWindow(hDlg); hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MAMEUI_ICON)); SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); hBrush = CreateSolidBrush(RGB(240, 240, 240)); DisableVisualStylesFilters(hDlg); LPTREEFOLDER folder = GetCurrentFolder(); LPTREEFOLDER lpParent = NULL; LPCFILTER_ITEM g_lpFilterList = GetFilterList(); dwFilters = 0; if (folder != NULL) { char tmp[80]; win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_EDIT), g_FilterText.c_str()); Edit_SetSel(GetDlgItem(hDlg, IDC_FILTER_EDIT), 0, -1); // Mask out non filter flags dwFilters = folder->m_dwFlags & F_MASK; // Display current folder name in dialog titlebar snprintf(tmp, WINUI_ARRAY_LENGTH(tmp), "Filters for %s folder", folder->m_lpTitle); win_set_window_text_utf8(hDlg, tmp); if (GetFilterInherit()) { lpParent = GetFolder(folder->m_nParent); bool bShowExplanation = false; if (lpParent) { std::string strText; /* Check the Parent Filters and inherit them on child, * No need to promote all games to parent folder, works as is */ dwpFilters = lpParent->m_dwFlags & F_MASK; /*Check all possible Filters if inherited solely from parent, e.g. not being set explicitly on our folder*/ if ((dwpFilters & F_CLONES) && !(dwFilters & F_CLONES)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_CLONES)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_CLONES), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_NONWORKING) && !(dwFilters & F_NONWORKING)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_NONWORKING)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_NONWORKING), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_UNAVAILABLE) && !(dwFilters & F_UNAVAILABLE)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_UNAVAILABLE)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_UNAVAILABLE), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_VECTOR) && !(dwFilters & F_VECTOR)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VECTOR)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VECTOR), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_RASTER) && !(dwFilters & F_RASTER)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_RASTER)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_RASTER), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_ORIGINALS) && !(dwFilters & F_ORIGINALS)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_ORIGINALS)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_ORIGINALS), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_WORKING) && !(dwFilters & F_WORKING)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_WORKING)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_WORKING), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_AVAILABLE) && !(dwFilters & F_AVAILABLE)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_AVAILABLE)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_AVAILABLE), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_HORIZONTAL) && !(dwFilters & F_HORIZONTAL)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_HORIZONTAL)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_HORIZONTAL), strText.c_str()); bShowExplanation = true; } if ((dwpFilters & F_VERTICAL) && !(dwFilters & F_VERTICAL)) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ strText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VERTICAL)); strText.append(" (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VERTICAL), strText.c_str()); bShowExplanation = true; } /*Do not or in the Values of the parent, so that the values of the folder still can be set*/ //dwFilters |= dwpFilters; } if(bShowExplanation) { ShowWindow(GetDlgItem(hDlg, IDC_INHERITED), true); } } else { ShowWindow(GetDlgItem(hDlg, IDC_INHERITED), false); } // Find the matching filter record if it exists lpFilterRecord = FindFilter(folder->m_nFolderId); // initialize and disable appropriate controls for (int i = 0; g_lpFilterList[i].m_dwFilterType; i++) { DisableFilterControls(hDlg, lpFilterRecord, &g_lpFilterList[i], dwFilters); } } SetFocus(GetDlgItem(hDlg, IDC_FILTER_EDIT)); return false; } case WM_CTLCOLORDLG: return (LRESULT) hBrush; case WM_CTLCOLORSTATIC: case WM_CTLCOLORBTN: hDC = (HDC)wParam; SetBkMode(hDC, TRANSPARENT); SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT)); return (LRESULT) hBrush; case WM_COMMAND: { WORD wID = GET_WM_COMMAND_ID(wParam, lParam); WORD wNotifyCode = GET_WM_COMMAND_CMD(wParam, lParam); LPTREEFOLDER folder = GetCurrentFolder(); LPCFILTER_ITEM g_lpFilterList = GetFilterList(); switch (wID) { case IDOK: dwFilters = 0; g_FilterText = win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_EDIT)); // see which buttons are checked for (int i = 0; g_lpFilterList[i].m_dwFilterType; i++) { if (Button_GetCheck(GetDlgItem(hDlg, g_lpFilterList[i].m_dwCtrlID))) dwFilters |= g_lpFilterList[i].m_dwFilterType; } // Mask out invalid filters dwFilters = ValidateFilters(lpFilterRecord, dwFilters); // Keep non filter flags folder->m_dwFlags &= ~F_MASK; // put in the set filters folder->m_dwFlags |= dwFilters; DestroyIcon(hIcon); DeleteObject(hBrush); EndDialog(hDlg, 1); return true; case IDCANCEL: DestroyIcon(hIcon); DeleteObject(hBrush); EndDialog(hDlg, 0); return true; default: // Handle unchecking mutually exclusive filters if (wNotifyCode == BN_CLICKED) EnableFilterExclusions(hDlg, wID); } break; } } return false; }
INT_PTR CALLBACK AddCustomFileDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: { CenterWindow(hDlg); hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MAMEUI_ICON)); SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); hBrush = CreateSolidBrush(RGB(240, 240, 240)); if (IsWindowsSevenOrHigher()) SendMessage(GetDlgItem(hDlg, IDC_CUSTOM_TREE), TVM_SETEXTENDEDSTYLE, TVS_EX_DOUBLEBUFFER, TVS_EX_DOUBLEBUFFER); SetWindowTheme(GetDlgItem(hDlg, IDC_CUSTOM_TREE), L"Explorer", NULL); TREEFOLDER **folders; int num_folders = 0; TVINSERTSTRUCT tvis; TVITEM tvi; bool first_entry = true; HIMAGELIST treeview_icons = GetTreeViewIconList(); // current game passed in using DialogBoxParam() driver_index = lParam; (void)TreeView_SetImageList(GetDlgItem(hDlg, IDC_CUSTOM_TREE), treeview_icons, LVSIL_NORMAL); GetFolders(&folders, &num_folders); // insert custom folders into our tree view for (int i = 0; i < num_folders; i++) { if (folders[i]->m_dwFlags & F_CUSTOM) { HTREEITEM hti; if (folders[i]->m_nParent == -1) { memset(&tvi, 0, sizeof(TVITEM)); tvis.hParent = TVI_ROOT; tvis.hInsertAfter = TVI_SORT; tvi.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.pszText = folders[i]->m_lptTitle; tvi.lParam = (LPARAM)folders[i]; tvi.iImage = GetTreeViewIconIndex(folders[i]->m_nIconId); tvi.iSelectedImage = 0; tvis.item = tvi; hti = TreeView_InsertItem(GetDlgItem(hDlg, IDC_CUSTOM_TREE), &tvis); /* look for children of this custom folder */ for (int jj = 0; jj < num_folders; jj++) { if (folders[jj]->m_nParent == i) { HTREEITEM hti_child; tvis.hParent = hti; tvis.hInsertAfter = TVI_SORT; tvi.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.pszText = folders[jj]->m_lptTitle; tvi.lParam = (LPARAM)folders[jj]; tvi.iImage = GetTreeViewIconIndex(folders[jj]->m_nIconId); tvi.iSelectedImage = 0; tvis.item = tvi; hti_child = TreeView_InsertItem(GetDlgItem(hDlg, IDC_CUSTOM_TREE), &tvis); if (folders[jj] == default_selection) (void)TreeView_SelectItem(GetDlgItem(hDlg, IDC_CUSTOM_TREE), hti_child); } } /*TreeView_Expand(GetDlgItem(hDlg,IDC_CUSTOM_TREE),hti,TVE_EXPAND);*/ if (first_entry || folders[i] == default_selection) { (void)TreeView_SelectItem(GetDlgItem(hDlg, IDC_CUSTOM_TREE),hti); first_entry = false; } } } } win_set_window_text_utf8(GetDlgItem(hDlg, IDC_CUSTOMFILE_GAME), GetDriverGameTitle(driver_index)); return true; } case WM_CTLCOLORDLG: return (LRESULT) hBrush; case WM_CTLCOLORSTATIC: case WM_CTLCOLORBTN: hDC = (HDC)wParam; SetBkMode(hDC, TRANSPARENT); SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT)); return (LRESULT) hBrush; case WM_COMMAND: switch (GET_WM_COMMAND_ID(wParam, lParam)) { case IDOK: { TVITEM tvi; tvi.hItem = TreeView_GetSelection(GetDlgItem(hDlg, IDC_CUSTOM_TREE)); tvi.mask = TVIF_PARAM; if (TreeView_GetItem(GetDlgItem(hDlg, IDC_CUSTOM_TREE),&tvi) == true) { /* should look for New... */ default_selection = (LPTREEFOLDER)tvi.lParam; /* start here next time */ AddToCustomFolder((LPTREEFOLDER)tvi.lParam, driver_index); } DestroyIcon(hIcon); DeleteObject(hBrush); EndDialog(hDlg, 0); return true; } case IDCANCEL: DestroyIcon(hIcon); DeleteObject(hBrush); EndDialog(hDlg, 0); return true; } break; } return false; }
void disasmwin_info::update_caption() { win_set_window_text_utf8(window(), std::string("Disassembly: ").append(m_views[0]->source_name()).c_str()); }
INT_PTR CALLBACK InterfaceDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: { char buffer[200]; int value = 0; CenterWindow(hDlg); hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MAMEUI_ICON)); SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); hBrush = CreateSolidBrush(RGB(240, 240, 240)); DisableVisualStylesInterface(hDlg); Button_SetCheck(GetDlgItem(hDlg, IDC_JOY_GUI), GetJoyGUI()); Button_SetCheck(GetDlgItem(hDlg, IDC_DISABLE_TRAY_ICON), GetMinimizeTrayIcon()); Button_SetCheck(GetDlgItem(hDlg, IDC_DISPLAY_NO_ROMS), GetDisplayNoRomsGames()); Button_SetCheck(GetDlgItem(hDlg, IDC_EXIT_DIALOG), GetExitDialog()); Button_SetCheck(GetDlgItem(hDlg, IDC_USE_BROKEN_ICON), GetUseBrokenIcon()); Button_SetCheck(GetDlgItem(hDlg, IDC_STRETCH_SCREENSHOT_LARGER), GetStretchScreenShotLarger()); Button_SetCheck(GetDlgItem(hDlg, IDC_FILTER_INHERIT), GetFilterInherit()); Button_SetCheck(GetDlgItem(hDlg, IDC_ENABLE_FASTAUDIT), GetEnableFastAudit()); Button_SetCheck(GetDlgItem(hDlg, IDC_ENABLE_SEVENZIP), GetEnableSevenZip()); Button_SetCheck(GetDlgItem(hDlg, IDC_ENABLE_DATAFILES), GetEnableDatafiles()); Button_SetCheck(GetDlgItem(hDlg, IDC_SKIP_BIOS), GetSkipBiosMenu()); // Get the current value of the control SendMessage(GetDlgItem(hDlg, IDC_CYCLETIMESEC), TBM_SETRANGE, true, MAKELPARAM(0, 60)); /* [0, 60] */ SendMessage(GetDlgItem(hDlg, IDC_CYCLETIMESEC), TBM_SETTICFREQ, 5, 0); value = GetCycleScreenshot(); SendMessage(GetDlgItem(hDlg, IDC_CYCLETIMESEC), TBM_SETPOS, true, value); snprintf(buffer, WINUI_ARRAY_LENGTH(buffer), "%d", value); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_CYCLETIMESECTXT), buffer); for (int i = 0; i < NUMHISTORYTAB; i++) { (void)ComboBox_InsertString(GetDlgItem(hDlg, IDC_HISTORY_TAB), i, g_ComboBoxHistoryTab[i].m_pText); (void)ComboBox_SetItemData(GetDlgItem(hDlg, IDC_HISTORY_TAB), i, g_ComboBoxHistoryTab[i].m_pData); } if (GetHistoryTab() < MAX_TAB_TYPES) (void)ComboBox_SetCurSel(GetDlgItem(hDlg, IDC_HISTORY_TAB), GetHistoryTab()); else (void)ComboBox_SetCurSel(GetDlgItem(hDlg, IDC_HISTORY_TAB), GetHistoryTab() - TAB_SUBTRACT); SendMessage(GetDlgItem(hDlg, IDC_SCREENSHOT_BORDERSIZE), TBM_SETRANGE, true, MAKELPARAM(0, 50)); /* [0, 50] */ SendMessage(GetDlgItem(hDlg, IDC_SCREENSHOT_BORDERSIZE), TBM_SETTICFREQ, 5, 0); value = GetScreenshotBorderSize(); SendMessage(GetDlgItem(hDlg, IDC_SCREENSHOT_BORDERSIZE), TBM_SETPOS, true, value); snprintf(buffer, WINUI_ARRAY_LENGTH(buffer), "%d", value); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_SCREENSHOT_BORDERSIZETXT), buffer); EnableWindow(GetDlgItem(hDlg, IDC_ENABLE_SEVENZIP), GetEnableFastAudit() ? true : false); break; } case WM_CTLCOLORDLG: return (LRESULT) hBrush; case WM_CTLCOLORSTATIC: case WM_CTLCOLORBTN: hDC = (HDC)wParam; SetBkMode(hDC, TRANSPARENT); SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT)); return (LRESULT) hBrush; case WM_HSCROLL: HANDLE_WM_HSCROLL(hDlg, wParam, lParam, OnHScroll); break; case WM_COMMAND: switch (GET_WM_COMMAND_ID(wParam, lParam)) { case IDC_SCREENSHOT_BORDERCOLOR: { CHOOSECOLOR cc; COLORREF choice_colors[16]; for (int i = 0; i < 16; i++) choice_colors[i] = GetCustomColor(i); cc.lStructSize = sizeof(CHOOSECOLOR); cc.hwndOwner = hDlg; cc.lpfnHook = &CCHookProc; cc.rgbResult = GetScreenshotBorderColor(); cc.lpCustColors = choice_colors; cc.Flags = CC_ANYCOLOR | CC_RGBINIT | CC_FULLOPEN | CC_ENABLEHOOK; if (!ChooseColor(&cc)) return true; for (int i = 0; i < 16; i++) SetCustomColor(i,choice_colors[i]); SetScreenshotBorderColor(cc.rgbResult); UpdateScreenShot(); return true; } case IDC_ENABLE_FASTAUDIT: { bool enabled = Button_GetCheck(GetDlgItem(hDlg, IDC_ENABLE_FASTAUDIT)); EnableWindow(GetDlgItem(hDlg, IDC_ENABLE_SEVENZIP), enabled ? true : false); return true; } case IDOK: { bool bRedrawList = false; bool checked = false; int value = 0; SetJoyGUI(Button_GetCheck(GetDlgItem(hDlg, IDC_JOY_GUI))); SetMinimizeTrayIcon(Button_GetCheck(GetDlgItem(hDlg, IDC_DISABLE_TRAY_ICON))); SetExitDialog(Button_GetCheck(GetDlgItem(hDlg, IDC_EXIT_DIALOG))); SetEnableFastAudit(Button_GetCheck(GetDlgItem(hDlg, IDC_ENABLE_FASTAUDIT))); SetEnableSevenZip(Button_GetCheck(GetDlgItem(hDlg, IDC_ENABLE_SEVENZIP))); SetEnableDatafiles(Button_GetCheck(GetDlgItem(hDlg, IDC_ENABLE_DATAFILES))); SetSkipBiosMenu(Button_GetCheck(GetDlgItem(hDlg, IDC_SKIP_BIOS))); if (Button_GetCheck(GetDlgItem(hDlg, IDC_RESET_PLAYCOUNT))) { for (int i = 0; i < driver_list::total(); i++) ResetPlayCount(i); bRedrawList = true; } if (Button_GetCheck(GetDlgItem(hDlg, IDC_RESET_PLAYTIME))) { for (int i = 0; i < driver_list::total(); i++) ResetPlayTime(i); bRedrawList = true; } value = SendDlgItemMessage(hDlg, IDC_CYCLETIMESEC, TBM_GETPOS, 0, 0); if (GetCycleScreenshot() != value) SetCycleScreenshot(value); value = SendDlgItemMessage(hDlg, IDC_SCREENSHOT_BORDERSIZE, TBM_GETPOS, 0, 0); if (GetScreenshotBorderSize() != value) { SetScreenshotBorderSize(value); UpdateScreenShot(); } checked = Button_GetCheck(GetDlgItem(hDlg, IDC_STRETCH_SCREENSHOT_LARGER)); if (checked != GetStretchScreenShotLarger()) { SetStretchScreenShotLarger(checked); UpdateScreenShot(); } checked = Button_GetCheck(GetDlgItem(hDlg, IDC_FILTER_INHERIT)); if (checked != GetFilterInherit()) { SetFilterInherit(checked); bRedrawList = true; } checked = Button_GetCheck(GetDlgItem(hDlg, IDC_USE_BROKEN_ICON)); if (checked != GetUseBrokenIcon()) { SetUseBrokenIcon(checked); bRedrawList = true; } checked = Button_GetCheck(GetDlgItem(hDlg, IDC_DISPLAY_NO_ROMS)); if (checked != GetDisplayNoRomsGames()) { SetDisplayNoRomsGames(checked); bRedrawList = true; } int nCurSelection = ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_HISTORY_TAB)); int nHistoryTab = 0; if (nCurSelection != CB_ERR) nHistoryTab = ComboBox_GetItemData(GetDlgItem(hDlg, IDC_HISTORY_TAB), nCurSelection); DestroyIcon(hIcon); DeleteObject(hBrush); EndDialog(hDlg, 0); if(GetHistoryTab() != nHistoryTab) { SetHistoryTab(nHistoryTab, true); ResizePickerControls(GetMainWindow()); UpdateScreenShot(); } if(bRedrawList) UpdateListView(); SaveInternalUI(); return true; } case IDCANCEL: DestroyIcon(hIcon); DeleteObject(hBrush); EndDialog(hDlg, 0); return true; } break; } return false; }
static void populate_control(datamap *map, HWND control, windows_options *opts, datamap_entry *entry, const char *option_name) { int i = 0; BOOL bool_value = 0; int int_value = 0; float float_value = 0; const char *string_value; const char *item_string; int selected_index = 0; char buffer[128]; int trackbar_range = 0; int trackbar_pos = 0; double trackbar_range_d = 0; // use default populate control value switch(get_control_type(control)) { case CT_BUTTON: assert(entry->type == DM_BOOL); bool_value = opts->bool_value(option_name); Button_SetCheck(control, bool_value); break; case CT_EDIT: case CT_STATIC: switch(entry->type) { case DM_STRING: string_value = opts->value(option_name); break; case DM_INT: int_value = opts->int_value(option_name); if (entry->int_format != NULL) snprintf(buffer, ARRAY_LENGTH(buffer), entry->int_format, int_value); else snprintf(buffer, ARRAY_LENGTH(buffer), "%d", int_value); string_value = buffer; break; case DM_FLOAT: float_value = opts->float_value(option_name); if (entry->float_format != NULL) snprintf(buffer, ARRAY_LENGTH(buffer), entry->float_format, float_value); else snprintf(buffer, ARRAY_LENGTH(buffer), "%f", float_value); string_value = buffer; break; default: string_value = ""; break; } if (string_value == NULL) string_value = ""; win_set_window_text_utf8(control, string_value); break; case CT_COMBOBOX: selected_index = 0; switch(entry->type) { case DM_INT: int_value = opts->int_value(option_name); for (i = 0; i < ComboBox_GetCount(control); i++) { if (int_value == (int) ComboBox_GetItemData(control, i)) { selected_index = i; break; } } break; case DM_STRING: string_value = opts->value(option_name); for (i = 0; i < ComboBox_GetCount(control); i++) { item_string = (const char *) ComboBox_GetItemData(control, i); if (!core_stricmp(string_value, item_string ? item_string : "")) { selected_index = i; break; } } break; default: break; } (void)ComboBox_SetCurSel(control, selected_index); break; case CT_TRACKBAR: // do we need to set the trackbar options? /* if (!entry->use_trackbar_options) { switch(options_get_range_type(opts, option_name)) { case OPTION_RANGE_NONE: // do nothing break; case OPTION_RANGE_INT: options_get_range_int(opts, option_name, &minval_int, &maxval_int); entry->use_trackbar_options = TRUE; entry->trackbar_min = minval_int; entry->trackbar_max = maxval_int; entry->trackbar_increments = 1; break; case OPTION_RANGE_FLOAT: options_get_range_float(opts, option_name, &minval_float, &maxval_float); entry->use_trackbar_options = TRUE; entry->trackbar_min = minval_float; entry->trackbar_max = maxval_float; entry->trackbar_increments = (float)0.05; break; } } */ // do we specify default options for this control? if so, we need to specify // the range if (entry->use_trackbar_options) { trackbar_range_d = floor(((entry->trackbar_max - entry->trackbar_min) / entry->trackbar_increments) + 0.5); trackbar_range = (int) trackbar_range_d; SendMessage(control, TBM_SETRANGEMIN, (WPARAM) FALSE, (LPARAM) 0); SendMessage(control, TBM_SETRANGEMAX, (WPARAM) FALSE, (LPARAM) trackbar_range); } switch(entry->type) { case DM_INT: int_value = opts->int_value(option_name); trackbar_pos = trackbar_position_from_value(entry, int_value); break; case DM_FLOAT: float_value = opts->float_value(option_name); trackbar_pos = trackbar_position_from_value(entry, float_value); break; default: trackbar_pos = 0; break; } SendMessage(control, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) trackbar_pos); break; case CT_LISTVIEW: case CT_UNKNOWN: // non applicable break; } }
INT_PTR CALLBACK FilterDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { static DWORD dwFilters; static DWORD dwpFilters; static LPCFOLDERDATA lpFilterRecord; char strText[250]; int i; switch (Msg) { case WM_INITDIALOG: { LPTREEFOLDER folder = GetCurrentFolder(); LPTREEFOLDER lpParent = NULL; LPCFILTER_ITEM g_lpFilterList = GetFilterList(); dwFilters = 0; if (folder != NULL) { char tmp[80]; win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_EDIT), g_FilterText); Edit_SetSel(GetDlgItem(hDlg, IDC_FILTER_EDIT), 0, -1); // Mask out non filter flags dwFilters = folder->m_dwFlags & F_MASK; // Display current folder name in dialog titlebar snprintf(tmp,ARRAY_LENGTH(tmp),"Filters for %s Folder",folder->m_lpTitle); win_set_window_text_utf8(hDlg, tmp); if ( GetFilterInherit() ) { BOOL bShowExplanation = FALSE; lpParent = GetFolder( folder->m_nParent ); if( lpParent ) { /* Check the Parent Filters and inherit them on child, * No need to promote all games to parent folder, works as is */ dwpFilters = lpParent->m_dwFlags & F_MASK; /*Check all possible Filters if inherited solely from parent, e.g. not being set explicitly on our folder*/ if( (dwpFilters & F_CLONES) && !(dwFilters & F_CLONES) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_CLONES), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_CLONES), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_NONWORKING) && !(dwFilters & F_NONWORKING) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_NONWORKING), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_NONWORKING), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_UNAVAILABLE) && !(dwFilters & F_UNAVAILABLE) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_UNAVAILABLE), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_UNAVAILABLE), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_VECTOR) && !(dwFilters & F_VECTOR) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VECTOR), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VECTOR), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_RASTER) && !(dwFilters & F_RASTER) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_RASTER), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_RASTER), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_ORIGINALS) && !(dwFilters & F_ORIGINALS) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_ORIGINALS), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_ORIGINALS), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_WORKING) && !(dwFilters & F_WORKING) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_WORKING), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_WORKING), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_AVAILABLE) && !(dwFilters & F_AVAILABLE) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_AVAILABLE), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_AVAILABLE), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_HORIZONTAL) && !(dwFilters & F_HORIZONTAL) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_HORIZONTAL), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_HORIZONTAL), strText); bShowExplanation = TRUE; } if( (dwpFilters & F_VERTICAL) && !(dwFilters & F_VERTICAL) ) { /*Add a Specifier to the Checkbox to show it was inherited from the parent*/ win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VERTICAL), strText, 250); strcat(strText, " (*)"); win_set_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_VERTICAL), strText); bShowExplanation = TRUE; } /*Do not or in the Values of the parent, so that the values of the folder still can be set*/ //dwFilters |= dwpFilters; } if( ! bShowExplanation ) { ShowWindow(GetDlgItem(hDlg, IDC_INHERITED), FALSE ); } } else { ShowWindow(GetDlgItem(hDlg, IDC_INHERITED), FALSE ); } // Find the matching filter record if it exists lpFilterRecord = FindFilter(folder->m_nFolderId); // initialize and disable appropriate controls for (i = 0; g_lpFilterList[i].m_dwFilterType; i++) { DisableFilterControls(hDlg, lpFilterRecord, &g_lpFilterList[i], dwFilters); } } SetFocus(GetDlgItem(hDlg, IDC_FILTER_EDIT)); return FALSE; } case WM_HELP: // User clicked the ? from the upper right on a control HelpFunction((HWND)((LPHELPINFO)lParam)->hItemHandle, MAMEUICONTEXTHELP, HH_TP_HELP_WM_HELP, GetHelpIDs()); break; case WM_CONTEXTMENU: HelpFunction((HWND)wParam, MAMEUICONTEXTHELP, HH_TP_HELP_CONTEXTMENU, GetHelpIDs()); break; case WM_COMMAND: { WORD wID = GET_WM_COMMAND_ID(wParam, lParam); WORD wNotifyCode = GET_WM_COMMAND_CMD(wParam, lParam); LPTREEFOLDER folder = GetCurrentFolder(); LPCFILTER_ITEM g_lpFilterList = GetFilterList(); switch (wID) { case IDOK: dwFilters = 0; win_get_window_text_utf8(GetDlgItem(hDlg, IDC_FILTER_EDIT), g_FilterText, FILTERTEXT_LEN); // see which buttons are checked for (i = 0; g_lpFilterList[i].m_dwFilterType; i++) { if (Button_GetCheck(GetDlgItem(hDlg, g_lpFilterList[i].m_dwCtrlID))) dwFilters |= g_lpFilterList[i].m_dwFilterType; } // Mask out invalid filters dwFilters = ValidateFilters(lpFilterRecord, dwFilters); // Keep non filter flags folder->m_dwFlags &= ~F_MASK; // put in the set filters folder->m_dwFlags |= dwFilters; EndDialog(hDlg, 1); return TRUE; case IDCANCEL: EndDialog(hDlg, 0); return TRUE; default: // Handle unchecking mutually exclusive filters if (wNotifyCode == BN_CLICKED) EnableFilterExclusions(hDlg, wID); } } break; } return 0; }
void memorywin_info::update_caption() { win_set_window_text_utf8(window(), astring("Memory: ", m_views[0]->source_name())); }
void memorywin_info::update_caption() { win_set_window_text_utf8(window(), std::string("Memory: ").append(m_views[0]->source_name()).c_str()); }