void Server_SelectServer (HWND hDlg, LPIDENT lpiNew, BOOL fForceRedraw) { LPIDENT lpiOld = Server_GetServer (hDlg); if (lpiNew != lpiOld) { SetWindowLongPtr (hDlg, DWLP_USER, (LONG_PTR)lpiNew); if (hDlg != g.hMain) { if (lpiOld) PropCache_Delete (pcSERVER, lpiOld); if (lpiNew) { PropCache_Add (pcSERVER, lpiNew, hDlg); TCHAR szName[ cchNAME ]; lpiNew->GetServerName (szName); LPTSTR pszTitle = FormatString (IDS_SERVER_TITLE, TEXT("%s"), szName); SetWindowText (hDlg, pszTitle); FreeString (pszTitle); } } fForceRedraw = TRUE; } if (fForceRedraw) { Server_ForceRedraw (hDlg); } }
void Server_DisplayTab (HWND hDlg, CHILDTAB iTab) { HWND hTab = GetDlgItem (hDlg, IDC_TABS); int idd = -1; DLGPROC dlgproc = NULL; switch (iTab) { case tabSERVICES: idd = IDD_SERVICES; dlgproc = (DLGPROC)Services_DlgProc; break; case tabAGGREGATES: idd = IDD_AGGREGATES; dlgproc = (DLGPROC)Aggregates_DlgProc; break; case tabFILESETS: idd = IDD_FILESETS; dlgproc = (DLGPROC)Filesets_DlgProc; break; } if (idd != -1) { HWND hDialogOld = GetTabChild (hTab); HWND hDialogNew = ModelessDialog (idd, hTab, dlgproc); if (hDialogNew != NULL) { TabCtrl_SetCurSel (hTab, iTab); ShowWindow (hDialogNew, SW_SHOW); if (hDialogOld != NULL) { DestroyWindow (hDialogOld); } Server_ForceRedraw (hDlg); } } }
BOOL Columns_OnApply (HWND hDlg, LPVIEWINFO lpviDefault) { BOOL fPostMessage = FALSE; for (size_t iCol = 0; iCol < nCOLUMNS; ++iCol) { if (COLUMNS[ iCol ].fChanged) { CHILDTAB iTab = (CHILDTAB)-1; int idcList; VIEWINFO vi; memcpy (&vi, &COLUMNS[ iCol ].vi, sizeof(VIEWINFO)); LPVIEWINFO lpviTarget = NULL; switch (iCol) { case ceSERVERS: if (gr.fPreview && !gr.fVert) lpviTarget = &gr.diHorz.viewSvr; else lpviTarget = &gr.diVert.viewSvr; FL_RestoreView (GetDlgItem (g.hMain, IDC_SERVERS), &COLUMNS[ iCol ].vi); UpdateDisplay_Servers (FALSE, NULL, 0); break; case ceFILESETS: lpviTarget = &gr.viewSet; iTab = tabFILESETS; idcList = IDC_SET_LIST; break; case ceAGGREGATES: lpviTarget = &gr.viewAgg; iTab = tabAGGREGATES; idcList = IDC_AGG_LIST; break; case ceSERVICES: lpviTarget = &gr.viewSvc; iTab = tabSERVICES; idcList = IDC_SVC_LIST; break; case ceREPLICAS: lpviTarget = &gr.viewRep; break; case ceAGGS_MOVE: lpviTarget = &gr.viewAggMove; break; case ceAGGS_CREATE: lpviTarget = &gr.viewAggCreate; break; case ceAGGS_RESTORE: lpviTarget = &gr.viewAggRestore; break; } if (lpviTarget != NULL) { memcpy (lpviTarget, &COLUMNS[ iCol ].vi, sizeof(VIEWINFO)); if (lpviDefault == &COLUMNS[ iCol ].vi) fPostMessage = TRUE; } if (iTab != (CHILDTAB)-1) { for (HWND hServer = g.hMain; hServer != NULL; hServer = PropCache_Search (pcSERVER, ANYVALUE, hServer)) { HWND hTab = GetDlgItem (hServer, IDC_TABS); int iTabShown = TabCtrl_GetCurSel (hTab); if (iTab == iTabShown) { HWND hChild = Server_GetCurrentTab (hServer); HWND hList = GetDlgItem (hChild, idcList); TCHAR szClassName[ cchRESOURCE ]; if (GetClassName (hList, szClassName, cchRESOURCE)) { if (lstrcmp (szClassName, WC_FASTLIST)) continue; } FL_StoreView (hList, &vi); COLUMNS[ iCol ].vi.lvsView = vi.lvsView; FL_RestoreView (hList, &COLUMNS[ iCol ].vi); Server_ForceRedraw (hServer); } if (hServer == g.hMain) hServer = NULL; } } } } return fPostMessage; }