6 #include "TaAfsUsrMgr.h"
14 * RESIZING WINDOWS ___________________________________________________________
18 rwWindowData awdGroupsTab[] = {
19 { IDC_GROUPS_TITLE, raRepaint | raSizeX },
20 { IDC_ADVANCED, raMoveX },
21 { IDC_GROUPS_PATTERN, raMoveX },
22 { IDC_GROUPS_PATTERN_PROMPT, raRepaint | raMoveX },
23 { IDC_GROUPS_LIST, raSizeX | raSizeY },
24 { M_GROUP_CREATE, raMoveX | raMoveY },
25 { M_MEMBERSHIP, raMoveX | raMoveY },
26 { M_PROPERTIES, raMoveX | raMoveY },
27 { IDC_STATIC, raRepaint },
33 * DEFINITIONS ________________________________________________________________
37 #define ID_SEARCH_TIMER 0
39 #define msecSEARCH_TIMER 650
48 * PROTOTYPES _________________________________________________________________
52 void Groups_EnableButtons (HWND hDlg);
56 * ROUTINES ___________________________________________________________________
60 BOOL CALLBACK Groups_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
62 if (Display_HandleColumnNotify (hDlg, msg, wp, lp, &gr.viewGrp))
70 GetClientRect (GetParent(hDlg), &rTab);
71 TabCtrl_AdjustRect (GetParent (hDlg), FALSE, &rTab);
72 ResizeWindow (hDlg, awdGroupsTab, rwaMoveToHere, &rTab);
74 HIMAGELIST hSmall = AfsAppLib_CreateImageList (FALSE);
75 HIMAGELIST hLarge = AfsAppLib_CreateImageList (TRUE);
76 FastList_SetImageLists (GetDlgItem (hDlg, IDC_GROUPS_LIST), hSmall, hLarge);
78 FastList_SetSortFunction (GetDlgItem (hDlg, IDC_GROUPS_LIST), General_ListSortFunction);
80 FL_RestoreView (GetDlgItem (hDlg, IDC_GROUPS_LIST), &gr.viewGrp);
81 FastList_SetTextCallback (GetDlgItem (hDlg, IDC_GROUPS_LIST), Display_GetItemText, (DWORD)&gr.viewGrp);
82 SetDlgItemText (hDlg, IDC_GROUPS_PATTERN, g.szPatternGroups);
83 Groups_EnableButtons(hDlg);
84 Display_PopulateGroupList();
91 WinHelp (hDlg, cszHELPFILENAME, HELP_FINDER, 0);
95 FL_StoreView (GetDlgItem (hDlg, IDC_GROUPS_LIST), &gr.viewGrp);
99 // if (lp==0), we're minimizing--don't call ResizeWindow().
102 ResizeWindow (hDlg, awdGroupsTab, rwaFixupGuts);
108 case ID_SEARCH_TIMER:
109 if ( (l.dwTickLastType) && (GetTickCount() > l.dwTickLastType + msecSEARCH_TIMER) )
111 KillTimer (hDlg, ID_SEARCH_TIMER);
112 Display_PopulateGroupList();
120 ptScreen.x = LOWORD(lp);
121 ptScreen.y = HIWORD(lp);
122 OnRightClick (pmGROUP, GetDlgItem (hDlg, IDC_GROUPS_LIST), &ptScreen);
128 case IDC_GROUPS_PATTERN:
129 if (HIWORD(wp) == EN_UPDATE)
131 l.dwTickLastType = GetTickCount();
132 KillTimer (hDlg, ID_SEARCH_TIMER);
133 SetTimer (hDlg, ID_SEARCH_TIMER, msecSEARCH_TIMER +15, NULL);
138 OnContextCommand (LOWORD(wp));
144 switch (((LPNMHDR)lp)->code)
148 Groups_EnableButtons(hDlg);
152 PostMessage (hDlg, WM_COMMAND, MAKELONG(M_PROPERTIES,BN_CLICKED), (LPARAM)GetDlgItem (hDlg, M_PROPERTIES));
162 void Groups_EnableButtons (HWND hDlg)
164 BOOL fEnable = (Display_GetSelectedCount() != 0) ? TRUE : FALSE;
165 EnableWindow (GetDlgItem (hDlg, M_PROPERTIES), fEnable);
166 EnableWindow (GetDlgItem (hDlg, M_MEMBERSHIP), fEnable);