void TupProjectCommand::redo() { #ifdef K_DEBUG T_FUNCINFO << k->response->part(); #endif if (k->executed) { k->response->setMode(TupProjectResponse::Redo); } else { k->response->setMode(TupProjectResponse::Do); k->executed = true; } switch (k->response->part()) { case TupProjectRequest::Project: { #ifdef K_DEBUG tDebug() << "Project response isn't handle"; #endif } break; case TupProjectRequest::Frame: { frameCommand(); } break; case TupProjectRequest::Layer: { layerCommand(); } break; case TupProjectRequest::Scene: { sceneCommand(); } break; case TupProjectRequest::Item: { itemCommand(); } break; case TupProjectRequest::Library: { libraryCommand(); } break; default: { #ifdef K_DEBUG tError() << "TupProjectCommand::redo() - Error: Unknown project response"; #endif } break; } }
void TupProjectCommand::undo() { k->response->setMode(TupProjectResponse::Undo); switch (k->response->part()) { case TupProjectRequest::Project: { #ifdef K_DEBUG tDebug() << "Project response isn't handle"; #endif } break; case TupProjectRequest::Frame: { frameCommand(); } break; case TupProjectRequest::Layer: { layerCommand(); } break; case TupProjectRequest::Scene: { sceneCommand(); } break; case TupProjectRequest::Item: { itemCommand(); } break; case TupProjectRequest::Library: { libraryCommand(); } break; default: { #ifdef K_DEBUG tError() << "TupProjectCommand::undo() - Error: Unknown project response"; #endif } break; } }
static int canvasFunc( ClientData data, Tcl_Interp *interp, int objc, Tcl_Obj * const objv[] ) { const char *cmds[] = { "delete", "configure", "cget", "isMapped", "getCurrentSize", "update", "raise", "lower", "create", "itemDelete", "itemShow", "itemConfigure", "itemCget", "itemCommand", "affine", "scale", "move", "rotate", "windowToCanvas", "canvasToWindow", "findItemAt", "getBounds", "findWithTag", NULL }; enum cmdIdx { DeleteIdx, ConfigureIdx, CgetIdx, IsMappedIdx, GetCurSizeIdx, UpdateIdx, RaiseIdx, LowerIdx, CreateIdx, ItemDeleteIdx, ItemShowIdx, ItemConfigureIdx, ItemCgetIdx, ItemCommandIdx, AffineIdx, ScaleIdx, MoveIdx, RotateIdx, WindowToCanvasIdx, CanvasToWindowIdx, FindItemAtIdx, GetBoundsIdx, GetIDsFromTagIdx }; CanvasParams *para = (CanvasParams *)data; GtkWidget *widget = GTK_WIDGET( para->canvas ); int idx; if( objc < 2 ) { Tcl_WrongNumArgs( interp, 1, objv, "command" ); return TCL_ERROR; } if( Tcl_GetIndexFromObj( interp, objv[1], cmds, "command", TCL_EXACT, &idx ) != TCL_OK ) return TCL_ERROR; switch( idx ) { case DeleteIdx: return gnoclDelete( interp, widget, objc, objv ); case ConfigureIdx: { int ret = TCL_ERROR; if( gnoclParseAndSetOptions( interp, objc - 1, objv + 1, canvasOptions, G_OBJECT( widget ) ) == TCL_OK ) { if( canvasOptions[antialiasedIdx].status == GNOCL_STATUS_CHANGED ) { Tcl_SetResult( interp, "antialiasing cannot be changed " "after creation", TCL_STATIC ); } else ret = configure( interp, para, canvasOptions ); } gnoclClearOptions( canvasOptions ); return ret; } break; case CgetIdx: { int idx; switch( gnoclCget( interp, objc, objv, G_OBJECT( widget ), canvasOptions, &idx ) ) { case GNOCL_CGET_ERROR: return TCL_ERROR; case GNOCL_CGET_HANDLED: return TCL_OK; case GNOCL_CGET_NOTHANDLED: return cget( interp, para->canvas, canvasOptions, idx ); } break; } case IsMappedIdx: return isMapped( interp, widget, objc, objv ); case GetCurSizeIdx: return getCurSize( interp, widget, objc, objv ); case UpdateIdx: if( objc != 2 ) { Tcl_WrongNumArgs( interp, 2, objv, NULL ); return TCL_ERROR; } gnome_canvas_update_now( para->canvas ); break; case CreateIdx: return canvasCreateItem( interp, objc, objv, para ); case RaiseIdx: case LowerIdx: case ItemDeleteIdx: case ItemShowIdx: case ItemConfigureIdx: case ItemCgetIdx: case ItemCommandIdx: case AffineIdx: case ScaleIdx: case MoveIdx: case RotateIdx: case GetBoundsIdx: case GetIDsFromTagIdx: { GPtrArray *items; int ret; if( objc < 3 ) { Tcl_WrongNumArgs( interp, 2, objv, "tag-or-id ?option val ...?" ); return TCL_ERROR; } if( gnoclCanvasItemsFromTagOrId( interp, para, Tcl_GetString( objv[2] ), &items ) != TCL_OK ) return TCL_ERROR; switch( idx ) { case RaiseIdx: case LowerIdx: ret = itemRaise( interp, objc, objv, para, items, idx == RaiseIdx ); break; case ItemDeleteIdx: ret = itemDelete( interp, objc, objv, para, items ); break; case ItemShowIdx: ret = itemShow( interp, objc, objv, para, items ); break; case ItemConfigureIdx: ret = itemConfigure( interp, objc, objv, para, items ); break; case ItemCgetIdx: ret = itemCget( interp, objc, objv, para, items ); break; case ItemCommandIdx: ret = itemCommand( interp, objc, objv, para, items ); break; case AffineIdx: ret = affine( interp, objc, objv, para, items, Affine ); break; case ScaleIdx: ret = affine( interp, objc, objv, para, items, Scale ); break; case MoveIdx: ret = affine( interp, objc, objv, para, items, Move ); break; case RotateIdx: ret = affine( interp, objc, objv, para, items, Rotate ); break; case GetBoundsIdx: ret = itemBounds( interp, objc, objv, para, items ); break; case GetIDsFromTagIdx: ret = getIDs( interp, objc, objv, para, items ); break; default: assert( 0 ); } if( items ) g_ptr_array_free( items, 0 ); return ret; } break; case WindowToCanvasIdx: return windowToCanvas( interp, objc, objv, para, 0 ); case CanvasToWindowIdx: return windowToCanvas( interp, objc, objv, para, 1 ); case FindItemAtIdx: return findItemAt( interp, objc, objv, para ); } return TCL_OK; }