// 選択オブジェクト変更
void AnimationForm::slot_changeSelectObject(QModelIndex index)
{
//	m_pEditData->setSelIndex(index) ;

	if ( !index.isValid() ) { return ; }

	CObjectModel *pModel = m_pEditData->getObjectModel() ;

	if ( pModel->isLayer(index) ) {
		bool valid ;
		ObjectItem *pItem = pModel->getItemFromIndex(index) ;
		FrameData data = pItem->getDisplayFrameData(m_pEditData->getSelectFrame(), &valid) ;
		if ( valid ) {
			slot_setUI(data) ;
		}
		emit sig_changeSelectLayer(index) ;
	}

	ObjectItem *pObj = pModel->getObject(index) ;
	if ( pObj ) {
		ui->spinBox_loop->setValue(pObj->getLoop());
		ui->spinBox_fps->setValue(pObj->getFps()) ;
	}

	m_pDataMarker->repaint();
	m_pGlWidget->update();
}
Example #2
0
// 選択しているフレームデータ取得
bool EditData::getNowSelectFrameData(FrameData &ret)
{
    QModelIndex index = getSelIndex();
    if (!getObjectModel()->isLayer(index))
    {
        return false;
    }

    int frame = getSelectFrame();
    ObjectItem *pItem = getObjectModel()->getItemFromIndex(index);
    bool valid;
    ret = pItem->getDisplayFrameData(frame, &valid);
    return valid;
}
// 現在フレーム変更
void AnimationForm::slot_frameChanged(int frame)
{
	bool bChange = (m_pEditData->getSelectFrame() != frame) ;
	ui->label_frame->setValue(frame) ;
	m_pEditData->setSelectFrame( frame ) ;
	if ( bChange ) {
		if ( m_pEditData->getSelIndex().isValid() ) {
			ObjectItem *pItem = m_pEditData->getObjectModel()->getItemFromIndex(m_pEditData->getSelIndex()) ;
			if ( pItem ) {
				bool valid ;
				FrameData d = pItem->getDisplayFrameData(frame, &valid) ;
				if ( valid ) {
					slot_setUI(d) ;
				}
			}
		}

		m_pGlWidget->update();
	}
}
// フレームデータ コピー
void AnimationForm::copyFrameData( void )
{
	CObjectModel *pModel = m_pEditData->getObjectModel() ;
	QModelIndex index = m_pEditData->getSelIndex() ;
	if ( !pModel->isLayer(index) ) { return ; }
	ObjectItem *pItem = pModel->getItemFromIndex(index) ;

	FrameData data, *p ;
	int frame = m_pEditData->getSelectFrame() ;
	p = pItem->getFrameDataPtr(frame) ;
	if ( p ) {
		data = *p ;
	}
	else {
		bool valid ;
		data = pItem->getDisplayFrameData(frame, &valid) ;
		if ( !valid ) { return ; }
	}
	qDebug() << "Copy Framedata" ;
	m_pEditData->setCopyFrameData(data) ;
}
// キー押しイベント
void AnimationForm::keyPressEvent(QKeyEvent *event)
{
	if ( event->key() == Qt::Key_Control ) {
		m_pGlWidget->setPressCtrl(true) ;
		m_pGlWidget->update() ;
	}

	int key = event->key() ;
	if ( event->modifiers() & Qt::ShiftModifier ) { key |= Qt::SHIFT ; }
	if ( event->modifiers() & Qt::ControlModifier ) { key |= Qt::CTRL ; }
	if ( event->modifiers() & Qt::MetaModifier ) { key |= Qt::META ; }
	if ( event->modifiers() & Qt::AltModifier ) { key |= Qt::ALT ; }
	QKeySequence ks(key) ;

	if ( ks == m_pSetting->getShortcutCopyFrame() ) {
		copyFrameData() ;
	}
	else if ( ks == m_pSetting->getShortcutPasteFrame() ) {
		pasteFrameData() ;
	}
	else if ( ks == m_pSetting->getShortcutPosSelect() ) {
		ui->radioButton_pos->setChecked(true) ;
		slot_clickedRadioPos(true) ;
	}
	else if ( ks == m_pSetting->getShortcutRotSelect() ) {
		ui->radioButton_rot->setChecked(true) ;
		slot_clickedRadioRot(true) ;
	}
	else if ( ks == m_pSetting->getShortcutCenterSelect() ) {
		ui->radioButton_center->setChecked(true) ;
		slot_clickedRadioCenter(true) ;
	}
	else if ( ks == m_pSetting->getShortcutScaleSelect() ) {
		ui->radioButton_scale->setChecked(true) ;
		slot_clickedRadioScale(true) ;
	}
	else if ( ks == m_pSetting->getShortcutPathSelect() ) {
		ui->radioButton_path->setChecked(true) ;
		slot_clickedRadioPath(true) ;
	}
	else if ( ks == m_pSetting->getShortcutPlayAnime() ) {
		if ( m_pEditData->getPlayAnime() ) {
			slot_pauseAnimation() ;
		}
		else {
			slot_playAnimation() ;
		}
	}
	else if ( ks == m_pSetting->getShortcutStopAnime() ) {
		slot_stopAnimation() ;
	}
	else if ( ks == m_pSetting->getShortcutJumpStartFrame() ) {
		jumpStartFrame() ;
	}
	else if ( ks == m_pSetting->getShortcutJumpEndFrame() ) {
		jumpEndFrame() ;
	}
	else if ( ks == m_pSetting->getShortcutAddFrameData() ) {
		CObjectModel *pModel = m_pEditData->getObjectModel() ;
		QModelIndex index = m_pEditData->getSelIndex() ;
		int frame = m_pEditData->getSelectFrame() ;
		if ( !pModel->isLayer(index) ) { return ; }
		ObjectItem *pItem = pModel->getItemFromIndex(index) ;
		FrameData data = pItem->getDisplayFrameData(frame) ;
		data.frame = frame ;
		slot_addNewFrameData(index, frame, data) ;
	}
	else if ( ks == m_pSetting->getShortcutDelFrameData() ) {
		slot_deleteFrameData() ;
	}
	else if ( ks == m_pSetting->getShortcutDelItem() ) {
		slot_deleteObject() ;
	}
	else if ( ks == m_pSetting->getShortcutDispItem() ) {
		slot_changeLayerDisp() ;
	}
	else if ( ks == m_pSetting->getShortcutLockItem() ) {
		slot_changeLayerLock() ;
	}
	else if ( ks == m_pSetting->getShortcutMoveAnimeWindow() ) {
		m_pGlWidget->setPressWindowMove(true) ;
		setCursor(QCursor(Qt::OpenHandCursor));
	}
}