VS:ImportResToCurFileN: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
No edit summary
No edit summary
Line 43: Line 43:


eImportResourceConflictResult_DoNotImport = 0
eImportResourceConflictResult_DoNotImport = 0
eImportResourceConflictResult_Replace = 1
eImportResourceConflictResult_Replace = 1
eImportResourceConflictResult_Rename = 2
eImportResourceConflictResult_Rename = 2


Line 56: Line 58:
     h : HANDLE;
     h : HANDLE;


FUNCTION ImportResCallback(VAR resourceName:DYNARRAY OF CHAR) : INTEGER;
    FUNCTION ImportResCallback(VAR resourceName:DYNARRAY OF CHAR) : INTEGER;
BEGIN
        BEGIN
AlrtDialog( resourceName );
        AlrtDialog( resourceName );
resourceName := Concat( resourceName , '-1' );
        resourceName := Concat( resourceName , '-1' );
ImportResCallback := 2;
        ImportResCallback := 2;
END;
        END;


BEGIN
BEGIN

Revision as of 19:47, 29 December 2013

Description

Imports the indicated resource from the specified list to the current file, if it is not already in the current file, and returns the handle to the resource. It will use a callback function to determine how to handle duplicate resouce.

FUNCTION ImportResToCurFileN(
listID :LONGINT;
index :LONGINT;
callback :PROCEDURE) : HANDLE;
def vs.ImportResToCurFileN(listID, index, callback):
    return HANDLE

Parameters

listID LONGINT
index LONGINT
callback PROCEDURE

Remarks

Return values from callback determine how any conflict is handled:

eImportResourceConflictResult_DoNotImport = 0

eImportResourceConflictResult_Replace = 1

eImportResourceConflictResult_Rename = 2

The callback will be executed only when there are conflicts, and the return value will define how the conflich should be resolved (much like the radio buttons in the dialog) If you want to rename, then change the var parameter with a new unique name, otherwise it will execute the callback again.

Example

PROCEDURE testResCountSymFolders;

VAR

   resList : LONGINT;
   numRes : INTEGER;
   h : HANDLE;
   FUNCTION ImportResCallback(VAR resourceName:DYNARRAY OF CHAR) : INTEGER;
       BEGIN
       AlrtDialog( resourceName );
       resourceName := Concat( resourceName , '-1' );
       ImportResCallback := 2;
       END;

BEGIN

   { list symbol folders in curr doc }
   resList := BuildResourceList(16, 23, , numRes );
   h := ImportResToCurFileN( resList , 1, ImportResCallback );
   alrtDialog(concat('numRes=', numRes , ' h=', h));

END; RUN(testResCountSymFolders);

Version

Availability: from Vectorworks 2014