Names Default To Here(1);
::GLOBAL_MAP_ID = 1;
Create Directory("$TEMP/MAPTEST/");
mapNames = New Table("MAPTEST"||Char(::GLOBAL_MAP_ID)||"-Name",
Add Rows(4),
New Column("Shape Id", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4]), Set Display Width(48)),
New Column("Name",
Character,
"Nominal",
Set Property("Map Role", Map Role(Shape Name Definition)),
Set Values({"TopLeft", "TopRight", "BottomRight", "BottomLeft"}),
Set Display Width(67)
),
private
);
Close(mapNames, Save("$TEMP/MAPTEST/MAPTEST"||Char(::GLOBAL_MAP_ID)||"-Name.jmp"));
mapXy = New Table("MAPTEST-XY",
Add Rows(16),
Compress File When Saved(1),
New Column("Shape ID",
Numeric,
"Continuous",
Format("Best", 10),
Set Values([1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4]),
Set Display Width(50)
),
New Column("Part ID",
Numeric,
"Continuous",
Format("Best", 10),
Set Values([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]),
Set Display Width(39)
),
New Column("X1",
Numeric,
"Continuous",
Format("Best", 10),
Set Values([-2, -2, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, -2, -2, 0, 0]),
Set Display Width(60)
),
New Column("Y1",
Numeric,
"Continuous",
Format("Best", 10),
Set Values([0, 2, 2, 0, 0, 2, 2, 0, -2, 0, 0, -2, -2, 0, 0, -2]),
Set Display Width(52)
),
private
);
Close(mapXy, Save("$TEMP/MAPTEST/MAPTEST"||Char(::GLOBAL_MAP_ID)||"-XY.jmp"));
dt = Eval(EvalExpr(New Table("gb",
Add Rows(4),
New Column("Shape",
Character,
"Nominal",
Set Property("Map Role", Map Role(Shape Name Use(Expr(Get Path Variable("$TEMP")||"/MAPTEST/MAPTEST"||Char(::GLOBAL_MAP_ID)||"-Name.jmp"), "Name"))),
Set Values({"TopLeft", "TopRight", "BottomRight", "BottomLeft"}),
Set Display Width(80)
),
New Column("OrigLoc", Character, "Nominal", Set Values({"TopLeft", "TopRight", "BottomRight", "BottomLeft"}))
)));
nw = New Window("rotation",
H List Box(
V List Box(
Button Box("$TEMP/MAPTEST/", Open("$TEMP/MAPTEST/")),
Button Box("Rotate",
//Rotate
dtXY = Open("$TEMP/MAPTEST/MAPTEST"||Char(::GLOBAL_MAP_ID)||"-XY.jmp");
origX = dtXY:X1 << get as matrix;
dtXY:X1 << set values(origX[5 :: 16]` || origX[1 :: 4]`);
origY = dtXY:Y1 << get as matrix;
dtXY:Y1 << set values(origY[5 :: 16]` || origY[1 :: 4]`);
::GLOBAL_MAP_ID++; //move to next
Close(dtXY, Save("$TEMP/MAPTEST/MAPTEST"||Char(::GLOBAL_MAP_ID)||"-XY.jmp"));
Wait(0);
mapNames = New Table("MAPTEST"||Char(::GLOBAL_MAP_ID)||"-Name",
Add Rows(4),
New Column("Shape Id", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4]), Set Display Width(48)),
New Column("Name",
Character,
"Nominal",
Set Property("Map Role", Map Role(Shape Name Definition)),
Set Values({"TopLeft", "TopRight", "BottomRight", "BottomLeft"}),
Set Display Width(67)
),
private
);
Close(mapNames, Save("$TEMP/MAPTEST/MAPTEST"||Char(::GLOBAL_MAP_ID)||"-Name.jmp"));
Current Data Table():Shape << Set Property("Map Role", Eval(EvalExpr(Map Role(Shape Name Use(Expr(Get Path Variable("$TEMP")||"/MAPTEST/MAPTEST"||Char(::GLOBAL_MAP_ID)||"-Name.jmp"), "Name")))));
)
),
gb = Graph Builder(Size(640, 534), Show Control Panel(0), Variables(Color(:OrigLoc), Shape(:Shape)), Elements(Map Shapes(Legend(7))));
)
);
dt << On Close(
Try(Window("rotation") << Close Window);
delFiles = Files In Directory("$TEMP/MAPTEST/");
Show(delFiles);
For(i = 1, i <= N Items(delFiles), i++,
Try(Delete File("$TEMP/MAPTEST/"||delFiles[i]), Show(exception_msg));
);
);