int WINAPI SetDirectoryW(const struct SetDirectoryInfo *sdi) { if (sdi->OpMode & OPM_FIND) return FALSE; CServiceManager* sm = (CServiceManager*)sdi->hPanel; DWORD nServiceType = 0; if (!wcscmp(sdi->Dir,L"\\") || !wcscmp(sdi->Dir,L"..")) nServiceType = 0; else if (!wcscmp(sdi->Dir,ServicesDirName)) nServiceType = SERVICE_WIN32; else if (!wcscmp(sdi->Dir,DriversDirName)) nServiceType = SERVICE_DRIVER; else return FALSE; wstring sMsg = L"Connecting to " + (g_Settings.sComputer.length() > 0 ? g_Settings.sComputer : GetComputerName()); ShowMessage(NULL, sMsg.c_str(), FMSG_NONE); sm->Reset(nServiceType); RedrawPanel(true); RedrawPanel(false); return TRUE; }
BOOL StopService(CServiceManager* sm) { PanelInfo pi; ZeroMemory(&pi, sizeof(PanelInfo)); pi.StructSize = sizeof(PanelInfo); if (Info.PanelControl(PANEL_ACTIVE, FCTL_GETPANELINFO, 0, &pi)) { size_t CurItem = pi.CurrentItem; if (CurItem > 0) { size_t Size = Info.PanelControl(PANEL_ACTIVE,FCTL_GETPANELITEM, CurItem, 0); PluginPanelItem *PPI=(PluginPanelItem*)malloc(Size); if (PPI) { FarGetPluginPanelItem FGPPI = {Size, PPI}; Info.PanelControl(PANEL_ACTIVE, FCTL_GETPANELITEM, CurItem, &FGPPI); size_t Index = FGPPI.Item->UserData; free(PPI); if (Index < sm->GetCount()) { bool bStop = sm->StopService(Index); if (bStop) { ShowMessage(NULL, L"Stopping service...", FMSG_NONE); int nWait = 300; while (true) { SERVICE_STATUS_PROCESS QueryServiceStatus; if (sm->QueryServiceStatus(Index, QueryServiceStatus) && QueryServiceStatus.dwCurrentState == SERVICE_STOPPED) { break; } Sleep(100); nWait -= 1; if (!nWait) break; } UpdatePanel(true); RedrawPanel(true); RedrawPanel(false); } else ShowLastError(&MsgCantStopServiceGuid); } } } } return TRUE; }
void MpImageWindow::Redraw (void) // virtual { RedrawPanel(); // redraw background (if overloaded) if (! hold) ConvertToXImage(image); // if not hold convert newly to XImage MapXImage(); // then map to window if (GetFrameTotalWidth() > 0) // redraw frame if necessary MpCanvas::RedrawFrame(); }
void CXTPTaskPanelGroup::SetOffsetItem(int nScrollOffset, BOOL bUpdateScrollButtons /*= TRUE*/) { nScrollOffset = nScrollOffset - (nScrollOffset % m_nItemsInRow); if (nScrollOffset > GetItemCount() - 1) nScrollOffset = GetItemCount() - 1; if (nScrollOffset < 0) nScrollOffset = 0; if (m_nScrollOffset != nScrollOffset) { m_nScrollOffset = nScrollOffset; if (bUpdateScrollButtons) { OnAnimate(0); m_pPanel->UpdateScrollButtons(); } RedrawPanel(FALSE); } }
virtual void _OnPaintPanel( wxPaintEvent& event ) { wxClientDC dc(wxDynamicCast(event.GetEventObject(), wxWindow)); RedrawPanel(&dc); }
void CXTPTaskPanelGroup::SetExpandable(BOOL bExpandable) { m_bExpandable = bExpandable; RedrawPanel(); }
void CXTPTaskPanelGroup::SetSpecialGroup(BOOL bSpecial) { m_bSpecial = bSpecial; RedrawPanel(); }