void CScreensLinks::updateScreensControls(HWND hwnd) { HWND child = getItem(hwnd, IDC_SCREENS_SCREENS); bool screenSelected = (SendMessage(child, LB_GETCURSEL, 0, 0) != LB_ERR); enableItem(hwnd, IDC_SCREENS_ADD_SCREEN, TRUE); enableItem(hwnd, IDC_SCREENS_EDIT_SCREEN, screenSelected); enableItem(hwnd, IDC_SCREENS_REMOVE_SCREEN, screenSelected); }
static void enableMainWindowControls(HWND hwnd) { bool client = isClientChecked(hwnd); enableItem(hwnd, IDC_MAIN_CLIENT_SERVER_NAME_LABEL, client); enableItem(hwnd, IDC_MAIN_CLIENT_SERVER_NAME_EDIT, client); enableItem(hwnd, IDC_MAIN_SERVER_SCREENS_LABEL, !client); enableItem(hwnd, IDC_MAIN_SCREENS, !client); }
void SoXipMenuBase::enableItem( const SbString& itemCaption, SbBool state ) { int position; if( ( position = findItem( itemCaption ) ) != -1 ) enableItem( position, state ); }
void CScreensLinks::updateLinkValid(HWND hwnd, const CEdgeLink& link) { m_editedLinkIsValid = true; // check source side and screen if (link.m_srcSide == kNoDirection) { m_editedLinkIsValid = false; ShowWindow(m_srcSideError, SW_SHOWNA); } else { ShowWindow(m_srcSideError, SW_HIDE); } if (!m_config->isCanonicalName(link.m_srcName)) { m_editedLinkIsValid = false; ShowWindow(m_srcScreenError, SW_SHOWNA); } else { ShowWindow(m_srcScreenError, SW_HIDE); } // check for overlap. if editing a link we must remove it, then // check for overlap and restore the old link. bool overlap = false; if (m_editedLinkIsValid) { if (m_selectedLink == -1) { if (link.overlaps(m_config)) { m_editedLinkIsValid = false; overlap = true; } } else { if (m_edgeLinks[m_selectedLink].disconnect(m_config)) { overlap = link.overlaps(m_config); m_edgeLinks[m_selectedLink].connect(m_config); if (overlap) { m_editedLinkIsValid = false; } } } } ShowWindow(getItem(hwnd, IDC_SCREENS_OVERLAP_ERROR), overlap ? SW_SHOWNA : SW_HIDE); // check dst screen if (!m_config->isCanonicalName(link.m_dstName)) { m_editedLinkIsValid = false; ShowWindow(m_dstScreenError, SW_SHOWNA); } else { ShowWindow(m_dstScreenError, SW_HIDE); } // update add link button enableItem(hwnd, IDC_SCREENS_ADD_LINK, m_selectedLink == -1 && m_editedLinkIsValid); }
void MenuSystem::setSavegameCaptions(bool scrollToBottom) { int size = _savegames.size(); if (scrollToBottom && size > 0) { while (_savegameListTopIndex + 7 <= size) _savegameListTopIndex += 6; } int index = _savegameListTopIndex; for (int i = 1; i <= 7; i++) setItemCaption(getItem((ItemID)(kItemIdSavegame1 + i - 1)), index < size ? _savegames[index++]._description.c_str() : ""); if (_savegameListTopIndex == 0) { disableItem(kItemIdSavegameUp); } else { enableItem(kItemIdSavegameUp); } if (_savegameListTopIndex + 7 > size) { disableItem(kItemIdSavegameDown); } else { enableItem(kItemIdSavegameDown); } }
void CScreensLinks::updateLinksControls(HWND hwnd) { // get selection. select "new link" if nothing is selected. HWND child = getItem(hwnd, IDC_SCREENS_LINKS); if (m_selectedLink == -1) { SendMessage(child, LB_SETCURSEL, m_edgeLinks.size(), 0); } // enable/disable remove button enableItem(hwnd, IDC_SCREENS_REMOVE_LINK, m_selectedLink != -1); // fill link entry controls from m_editedLink updateLinkEditControls(hwnd, m_editedLink); updateLinkValid(hwnd, m_editedLink); updateLinkView(hwnd); }
void RemoteMachineMonitorDialogImpl::sl_retrieveInfoTaskStateChanged() { RetrieveRemoteMachineInfoTask * retrieveInfoTask = qobject_cast< RetrieveRemoteMachineInfoTask* >( sender() ); assert( NULL != retrieveInfoTask ); if( Task::State_Finished != retrieveInfoTask->getState() ) { return; } RemoteMachineSettingsPtr machineSettings = retrieveInfoTask->getMachineSettings(); assert( NULL != machineSettings ); QTreeWidgetItem * treeItem = pingingItems.value( machineSettings ); pingingItems.remove( machineSettings ); int row = machinesTreeWidget->indexOfTopLevelItem( treeItem ); if( -1 == row ) { return; /* item was deleted from the table */ } RemoteMachineItemInfo & itemInfo = machinesItemsByOrder[row]; bool pingOk = retrieveInfoTask->isPingOk(); bool authOk = !retrieveInfoTask->hasError(); treeItem->setIcon( 2, pingOk ? PING_YES : PING_NO); treeItem->setIcon( 3, authOk ? PING_YES : PING_NO); if ( !authOk ) { rsLog.error( tr( "Test connection for machine %1 finished with error: '%2'" ). arg( itemInfo.settings->getName() ).arg( retrieveInfoTask->getError() ) ); } itemInfo.hostname = retrieveInfoTask->getHostName(); treeItem->setText(1, itemInfo.hostname ); resizeTreeWidget(); enableItem(treeItem, authOk); updateState(); }
void ContextMenu::create(HWND hParent, const std::vector<MenuItemUnit> & menuItemArray, const HMENU mainMenuHandle) { _hParent = hParent; _hMenu = ::CreatePopupMenu(); bool lastIsSep = false; HMENU hParentFolder = NULL; generic_string currentParentFolderStr; int j = 0; for (size_t i = 0, len = menuItemArray.size(); i < len; ++i) { const MenuItemUnit & item = menuItemArray[i]; if (item._parentFolderName.empty()) { currentParentFolderStr.clear(); hParentFolder = NULL; j = 0; } else { if (item._parentFolderName != currentParentFolderStr) { currentParentFolderStr = item._parentFolderName; hParentFolder = ::CreateMenu(); j = 0; _subMenus.push_back(hParentFolder); ::InsertMenu(_hMenu, static_cast<UINT>(i), MF_BYPOSITION | MF_POPUP, (UINT_PTR)hParentFolder, currentParentFolderStr.c_str()); } } unsigned int flag = MF_BYPOSITION | ((item._cmdID == 0)?MF_SEPARATOR:0); if (hParentFolder) { ::InsertMenu(hParentFolder, j++, flag, item._cmdID, item._itemName.c_str()); lastIsSep = false; } else if ((i == 0 || i == menuItemArray.size() - 1) && item._cmdID == 0) { lastIsSep = true; } else if (item._cmdID != 0) { ::InsertMenu(_hMenu, static_cast<UINT>(i), flag, item._cmdID, item._itemName.c_str()); lastIsSep = false; } else if (item._cmdID == 0 && !lastIsSep) { ::InsertMenu(_hMenu, static_cast<int32_t>(i), flag, item._cmdID, item._itemName.c_str()); lastIsSep = true; } else // last item is separator and current item is separator { lastIsSep = true; } if (mainMenuHandle) { bool isEnabled = (::GetMenuState(mainMenuHandle, item._cmdID, MF_BYCOMMAND)&(MF_DISABLED|MF_GRAYED)) == 0; bool isChecked = (::GetMenuState(mainMenuHandle, item._cmdID, MF_BYCOMMAND)&(MF_CHECKED)) != 0; if (!isEnabled) enableItem(item._cmdID, isEnabled); if (isChecked) checkItem(item._cmdID, isChecked); } } }
static void enableScreensControls(HWND hwnd) { // decide if edit and remove buttons should be enabled bool client = isClientChecked(hwnd); bool screenSelected = false; if (!client) { HWND child = getItem(hwnd, IDC_MAIN_SERVER_SCREENS_LIST); if (SendMessage(child, LB_GETCURSEL, 0, 0) != LB_ERR) { screenSelected = true; } } // enable/disable controls enableItem(hwnd, IDC_MAIN_SERVER_SCREENS_LABEL, !client); enableItem(hwnd, IDC_MAIN_SERVER_SCREENS_LIST, !client); enableItem(hwnd, IDC_MAIN_SERVER_ADD_BUTTON, !client); enableItem(hwnd, IDC_MAIN_SERVER_EDIT_BUTTON, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_REMOVE_BUTTON, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_LAYOUT_LABEL, !client); enableItem(hwnd, IDC_MAIN_SERVER_LEFT_COMBO, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_RIGHT_COMBO, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_TOP_COMBO, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_BOTTOM_COMBO, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_LEFT_LABEL, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_RIGHT_LABEL, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_TOP_LABEL, screenSelected); enableItem(hwnd, IDC_MAIN_SERVER_BOTTOM_LABEL, screenSelected); }
static void enableSaveControls(HWND hwnd) { enableItem(hwnd, IDC_MAIN_SAVE, ARG->m_config != ARG->m_oldConfig); }
void CAutoStart::update() { // get installation state const bool installedSystem = ARCH->isDaemonInstalled( m_name.c_str(), true); const bool installedUser = ARCH->isDaemonInstalled( m_name.c_str(), false); // get user's permissions const bool canInstallSystem = ARCH->canInstallDaemon( m_name.c_str(), true); const bool canInstallUser = ARCH->canInstallDaemon( m_name.c_str(), false); // update messages CString msg, label; if (canInstallSystem) { if (canInstallUser) { msg = getString(IDS_AUTOSTART_PERMISSION_ALL); } else { msg = getString(IDS_AUTOSTART_PERMISSION_SYSTEM); } } else if (canInstallUser) { msg = getString(IDS_AUTOSTART_PERMISSION_USER); } else { msg = getString(IDS_AUTOSTART_PERMISSION_NONE); } setWindowText(getItem(m_hwnd, IDC_AUTOSTART_PERMISSION_MSG), msg); if (installedSystem) { msg = getString(IDS_AUTOSTART_INSTALLED_SYSTEM); label = getString(IDS_UNINSTALL_LABEL); } else if (installedUser) { msg = getString(IDS_AUTOSTART_INSTALLED_USER); label = getString(IDS_UNINSTALL_LABEL); } else { msg = getString(IDS_AUTOSTART_INSTALLED_NONE); label = getString(IDS_INSTALL_LABEL); } setWindowText(getItem(m_hwnd, IDC_AUTOSTART_INSTALLED_MSG), msg); // update buttons setWindowText(getItem(m_hwnd, IDC_AUTOSTART_INSTALL_SYSTEM), label); setWindowText(getItem(m_hwnd, IDC_AUTOSTART_INSTALL_USER), label); if (installedSystem) { enableItem(m_hwnd, IDC_AUTOSTART_INSTALL_SYSTEM, canInstallSystem); enableItem(m_hwnd, IDC_AUTOSTART_INSTALL_USER, false); m_install = false; } else if (installedUser) { enableItem(m_hwnd, IDC_AUTOSTART_INSTALL_SYSTEM, false); enableItem(m_hwnd, IDC_AUTOSTART_INSTALL_USER, canInstallUser); m_install = false; } else { enableItem(m_hwnd, IDC_AUTOSTART_INSTALL_SYSTEM, canInstallSystem); enableItem(m_hwnd, IDC_AUTOSTART_INSTALL_USER, canInstallUser); m_install = true; } }