void CPanelHistory::OnButton(wxCommandEvent &e) { wxButton *pObj = (wxButton *)e.GetEventObject(); int nCount = m_pComboHistory->GetCount(); int n = -1; if(!nCount) {;} // do nothing if(pObj == m_pButtonBack1) { n = m_pComboHistory->GetSelection() + 1; } else if(pObj == m_pButtonBack) { n = nCount - 1; } else if(pObj == m_pButtonFwd) { n = 0; } else if(pObj == m_pButtonFwd1) { n = m_pComboHistory->GetSelection() - 1; } if( (n >= 0) && (n < nCount) ) { m_pComboHistory->Select(n); OnComboBox(e); } }
bool CSetPgTasks::SelectNextItem(bool bNext, bool bProcess) { if (bProcess) { int iCur = CSetDlgLists::GetListboxCurSel(mh_Dlg, lbCmdTasks, true); if (iCur >= 0) { if (bNext) { iCur++; if (iCur >= (int)SendDlgItemMessage(mh_Dlg, lbCmdTasks, LB_GETCOUNT, 0,0)) goto wrap; } else { iCur--; if (iCur < 0) goto wrap; } CSetDlgLists::ListBoxMultiSel(mh_Dlg, lbCmdTasks, iCur); OnComboBox(mh_Dlg, lbCmdTasks, LBN_SELCHANGE); } } wrap: return true; }
LRESULT CSetPgTasks::OnInitDialog(HWND hDlg, bool abForceReload) { mb_IgnoreCmdGroupEdit = true; wchar_t szKey[128] = L""; const ConEmuHotKey* pDefCmdKey = NULL; if (!gpSet->GetHotkeyById(vkMultiCmd, &pDefCmdKey) || !pDefCmdKey) wcscpy_c(szKey, gsNoHotkey); else pDefCmdKey->GetHotkeyName(szKey, true); CEStr lsLabel(L"Default shell (", szKey, L")"); SetDlgItemText(hDlg, cbCmdGrpDefaultCmd, lsLabel); // Not implemented yet ShowWindow(GetDlgItem(hDlg, cbCmdGrpToolbar), SW_HIDE); if (abForceReload) { int nTab = 4*4; // represent the number of quarters of the average character width for the font SendDlgItemMessage(hDlg, lbCmdTasks, LB_SETTABSTOPS, 1, (LPARAM)&nTab); LONG_PTR nStyles = GetWindowLongPtr(GetDlgItem(hDlg, lbCmdTasks), GWL_STYLE); if (!(nStyles & LBS_NOTIFY)) SetWindowLongPtr(GetDlgItem(hDlg, lbCmdTasks), GWL_STYLE, nStyles|LBS_NOTIFY); } // Сброс ранее загруженного списка (ListBox: lbCmdTasks) SendDlgItemMessage(hDlg, lbCmdTasks, LB_RESETCONTENT, 0,0); //if (abForceReload) //{ // // Обновить группы команд // gpSet->LoadCmdTasks(NULL, true); //} int nGroup = 0; wchar_t szItem[1024]; const CommandTasks* pGrp = NULL; while ((pGrp = gpSet->CmdTaskGet(nGroup))) { swprintf_c(szItem, L"%i\t", nGroup+1); int nPrefix = lstrlen(szItem); lstrcpyn(szItem+nPrefix, pGrp->pszName, countof(szItem)-nPrefix); INT_PTR iIndex = SendDlgItemMessage(hDlg, lbCmdTasks, LB_ADDSTRING, 0, (LPARAM)szItem); UNREFERENCED_PARAMETER(iIndex); //SendDlgItemMessage(hDlg, lbCmdTasks, LB_SETITEMDATA, iIndex, (LPARAM)pGrp); nGroup++; } OnComboBox(hDlg, lbCmdTasks, LBN_SELCHANGE); mb_IgnoreCmdGroupEdit = false; return 0; }
void CPanelHistory::_Select(int n) { if(n != m_pComboHistory->GetSelection()) { wxCommandEvent e(wxEVT_COMMAND_COMBOBOX_SELECTED,wxID_ANY); e.SetEventObject(m_pComboHistory); m_pComboHistory->Select(n); OnComboBox(e); } }
INT_PTR CSetPgApps::PageDlgProc(HWND hDlg, UINT messg, WPARAM wParam, LPARAM lParam) { INT_PTR iRc = 0; if (!mh_Child && ((messg == WM_INITDIALOG) || (messg == mn_ActivateTabMsg))) { if (!CreateChildDlg()) { return 0; } } if ((messg == WM_INITDIALOG) || (messg == mn_ActivateTabMsg)) { // Return here! Do not pass to mb_Redraw/mb_Refill routines! return OnInitDialog(hDlg, (messg == WM_INITDIALOG)); } else switch (messg) { case WM_NOTIFY: { LPNMHDR phdr = (LPNMHDR)lParam; if (phdr->code == TTN_GETDISPINFO) { return gpSetCls->ProcessTipHelp(hDlg, messg, wParam, lParam); } break; } case WM_COMMAND: { _ASSERTE(mh_Child && IsWindow(mh_Child)); _ASSERTE(hDlg == mh_Dlg); if (HIWORD(wParam) == BN_CLICKED) { OnButtonClicked(hDlg, (HWND)lParam, LOWORD(wParam)); } else if (HIWORD(wParam) == EN_CHANGE) { OnEditChanged(hDlg, LOWORD(wParam)); } else if (HIWORD(wParam) == LBN_SELCHANGE) { OnComboBox(hDlg, LOWORD(wParam), HIWORD(wParam)); } } // WM_COMMAND break; } // switch (messg) if (mb_Redraw) { mb_Redraw = false; NotifyVCon(); } if (mb_Refill) { mb_Refill = false; MSetter lockSelChange(&mb_SkipSelChange); MSetter lockEditSet(&mb_SkipEditSet); INT_PTR iSel = SendDlgItemMessage(hDlg, lbAppDistinct, LB_GETCURSEL, 0,0); OnInitDialog(hDlg, false); SendDlgItemMessage(hDlg, lbAppDistinct, LB_SETCURSEL, iSel,0); } // mb_Refill // To be sure mb_Refill = false; mb_Redraw = false; return iRc; }