/* DONE (STD) -- Finish Input of Polygon/Connection/Path */ /* DONE (STD) -- Polygon-/Verbindungs-/Leiterbahneingabe beenden */ /* -- INTENDED FOR KEY-CALL USE (:Done) -- */ /* // Copyright (c) 2003-2012 Oliver Bartels F+E, Muenchen // Author: Roman Ludwig // Changes History: // rl (120427) RELEASED FOR BAE V7.8. // rl (101019) RELEASED FOR BAE V7.6. // rl (091020) RELEASED FOR BAE V7.4. // rl (081014) RELEASED FOR BAE V7.2. // rl (071029) RELEASED FOR BAE V7.0. // rl (060829) RELEASED FOR BAE V6.8. // rl (050906) RELEASED FOR BAE V6.6. // rl (040811) RELEASED FOR BAE V6.4. // rl (031215) ORIGINAL CODING. // // DESCRIPTION // // The done User Language program terminates the input loop // of any polygon/connection/path input function. This program must be // configured for implicit hotkey program call // (e.g. ). */ // Includes #include "std.ulh" // User Language standard include // Enforce standard caller type #pragma ULCALLERSTD // Disable undo state request #pragma ULCALLERNOUNDO // Main program void main() { // Test the interpreter type switch (uliptype()) { /* SCM */ case ULIPSCM : done_scm(); break; /* GED */ case ULIPGED : done_ged(); break; /* AR */ case ULIPAR : bae_storemouseiact(1,0.0,0.0,1,LMB); break; /* CAM */ case ULIPCAM : bae_storemouseiact(1,0.0,0.0,1,LMB); break; /* CED */ case ULIPCED : done_ced(); break; /* CV */ case ULIPCV : bae_storemouseiact(1,0.0,0.0,1,LMB); break; // Ignore on default default : } // Done } void done_ged() /* // Terminate current GED point list */ { // Get the currently active menu switch (bae_getactmenu()) { // New trace case MNU_GEDADDTRC : case MNU_GEDADDFTRC : // Trace corner functions case MNU_GEDTRCINSC : case MNU_GEDTRCMDC : // Documentary line case 504 : // Polygon corner functions case MNU_GEDPOLYINSC : case MNU_GEDPOLYMDC : // Set point bae_storemouseiact(1,0.0,0.0,1,LMB); // Select done bae_storemouseiact(1,0.0,0.0,1,RMB); bae_storemenuiact(1,0,LMB); break; // New closed polygon case 500 : case 501 : case 502 : case 503 : case 505 : case 5007 : case 5014 : // Group polygon selection case MNU_GEDGRPPOLY : // Select done bae_storemouseiact(1,0.0,0.0,1,RMB); bae_storemenuiact(1,0,LMB); break; // Assume LMB on default default : bae_storemouseiact(1,0.0,0.0,1,LMB); } // Done } void done_ced() /* // Terminate current CED point list */ { // Get the currently active menu switch (bae_getactmenu()) { // New trace case 400 : // Trace corner functions case 401 : case 402 : // Documentary line case 501 : // Polygon corner functions case 508 : case 509 : // Set point bae_storemouseiact(1,0.0,0.0,1,LMB); // Select done bae_storemouseiact(1,0.0,0.0,1,RMB); bae_storemenuiact(1,0,LMB); break; // New closed polygon case 500 : case 502 : case 503 : // Group polygon selection case MNU_CEDGRPPOLY : // Select done bae_storemouseiact(1,0.0,0.0,1,RMB); bae_storemenuiact(1,0,LMB); // Assume LMB on default default : bae_storemouseiact(1,0.0,0.0,1,LMB); } // Done } void done_scm() /* // Terminate current SCM point list */ { // Get the currently active menu switch (bae_getactmenu()) { // Connection function case MNU_SCMADDCON : case MNU_SCMADDBUS : // Set point bae_storemouseiact(1,0.0,0.0,1,LMB); // Cancel input bae_storemouseiact(1,0.0,0.0,1,RMB); bae_storemenuiact(1,0,LMB); break; // New line polygon case 500 : case 501 : // Polygon corner functions case 507 : case 508 : // Set point bae_storemouseiact(1,0.0,0.0,1,LMB); // Select done bae_storemouseiact(1,0.0,0.0,1,RMB); bae_storemenuiact(1,0,LMB); break; // New closed polygon case 502 : case 503 : // Group polygon selection case MNU_SCMGRPPOLY : // Select done bae_storemouseiact(1,0.0,0.0,1,RMB); bae_storemenuiact(1,0,LMB); break; // Assume LMB on default default : bae_storemouseiact(1,0.0,0.0,1,LMB); } // Done } // User Language program end