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);
}
Exemple #2
0
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);
}
Exemple #5
0
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);
		}

	}
}
Exemple #9
0
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);
}
Exemple #10
0
static
void
enableSaveControls(HWND hwnd)
{
	enableItem(hwnd, IDC_MAIN_SAVE, ARG->m_config != ARG->m_oldConfig);
}
Exemple #11
0
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;
	}
}