Exemplo n.º 1
0
/**
 * @brief Remove a function callback from a node event
 */
static void UI_RemoveListener_f (void)
{
	uiNode_t *node;
	uiNode_t *function;
	const value_t *property;

	if (Cmd_Argc() != 3) {
		Com_Printf("Usage: %s <pathnode@event> <pathnode>\n", Cmd_Argv(0));
		return;
	}

	UI_ReadNodePath(Cmd_Argv(1), NULL, &node, &property);
	if (node == NULL) {
		Com_Printf("UI_RemoveListener_f: '%s' node not found.\n", Cmd_Argv(1));
		return;
	}
	if (property == NULL || property->type != V_UI_ACTION) {
		Com_Printf("UI_RemoveListener_f: '%s' property not found, or is not an event.\n", Cmd_Argv(1));
		return;
	}

	function = UI_GetNodeByPath(Cmd_Argv(2));
	if (function == NULL) {
		Com_Printf("UI_RemoveListener_f: '%s' node not found.\n", Cmd_Argv(2));
		return;
	}

	UI_RemoveListener(node, property, function);
}
Exemplo n.º 2
0
/**
 * @brief Callback every time the parent window is closed (pop from the active window stack)
 */
static void UI_ConFuncNodeClose (uiNode_t *node)
{
	if (UI_ConFuncIsVirtual(node)) {
		const value_t *property = UI_GetPropertyFromBehaviour(node->behaviour, "onClick");
		uiNode_t *userData = (uiNode_t*) Cmd_GetUserdata(node->name);
		UI_RemoveListener(userData, property, node);
	}
}
Exemplo n.º 3
0
/**
 * @brief Callback every time the parent window is closed (pop from the active window stack)
 */
void uiConFuncNode::onWindowClosed (uiNode_t* node)
{
    if (UI_ConFuncIsVirtual(node)) {
        const value_t* property = UI_GetPropertyFromBehaviour(node->behaviour, "onClick");
        uiNode_t* userData = static_cast<uiNode_t*>(Cmd_GetUserdata(node->name));
        UI_RemoveListener(userData, property, node);
    }
}