Пример #1
0
bool MCParagraphCursor::MoveFinish(MCParagraphCursorMove p_movement, int4 p_delta)
{
	if (p_delta == 0)
		return true;

	return MoveIndex(m_finish, p_movement, p_delta); 
}
Пример #2
0
bool MCParagraphCursor::MoveStart(MCParagraphCursorMove p_movement, int4 p_delta)
{
	if (p_delta == 0)
		return true;

	return MoveIndex(m_start, p_movement, p_delta); 
}
Пример #3
0
void TodoList::mouseMoveEvent(QMouseEvent *event){
    int x = event->globalPos().x() - this->pos().x();
    int y = event->globalPos().y() - this->pos().y();
    moveY = oldMoveY + y - pressY;
    selectIndex = (y - moveY - 95) / 80;
    if(ValidIndex()){
        MoveIndex(selectIndex,oldMoveX + x - pressX);
    }
}
Пример #4
0
void TodoList::mouseReleaseEvent(QMouseEvent *event){
    int x = event->globalPos().x() - this->pos().x();
    int y = event->globalPos().y() - this->pos().y();
    moveY = oldMoveY + y - pressY;
    selectIndex = (y - moveY - 95) / 80;
    if(ValidIndex()){
        MoveIndex(selectIndex,oldMoveX + x - pressX);
    }
    moveAniSource = moveY;
    moveAniFrame = 0;
    mousePre = false;

    moveAniTarget = (moveY/ 80 + ((moveY%80)/80.0 >= 0.5)) * 80;//找到最接近80的倍数的值
	if (moveY > 0)moveAniTarget = 0;

	//lastDateY = (-80 * indexSize) + 0;

	if (moveY < lastDateY)moveAniTarget = lastDateY;

	if (deleteIndex != -1 && deleteIndex < indexSize){
		//deleteIndex 为选中项目id,要和事件id区分!
		int id = indexID[deleteIndex]; //对应时间的paid
		int validID = -1;
		int count = 0;
		if (id == -1){
			//批量删除todolist
			for (int i = deleteIndex + 1; i < indexSize && indexID[i] != -1; i++){
				if (validID == -1)validID = indexID[i];
				count++;
			}
		}
		else{
            //删除单个Todo
			count = 1;
			validID = id;
		}
		indexSize -= count;
		for (int i = deleteIndex; i < indexSize; i++){
			indexID[i] = indexID[i + count];
			indexPosX[i] = indexPosX[i + count];
		}
		pa.RemoveTodo(validID, count, viewDate.year, viewDate.month);
		deleteIndex = -1;
	}
}