Returns an ISelectionList object of all the selected items.
Syntax:
Procedure: SelectionList: ISelectionList;
Code Reference:
PlanSwift Code: tmp := '' sl := planswift.selectionlist; for ndx := 0 to sl.count -1 do tmp := tmp + sl.items(ndx).name + #13#10; showmessage(tmp); FreshDesk Code: procedure TForm1.psSelectionList(Sender: TObject); var ps: IPlanSwift; est,Area,Sect,Seg: IItem; psline: ILine; pt1,pt2: IPoint; S: Integer; slst: ISelectionList; I: Integer; cpt: IPoint; NSect: IItem; ii: Integer; sPoint: IPoint; begin //Get Planswift Interface ps := CoPlanswift.Create; // Get the Takeoff Folder (Estimating Tab in Planswift); Est := ps.GetItem('Job\Takeoff'); //Create a New Area Item in the Estimating Tab Area := Est.NewItem('Area','Get Rect Demo'); //Create a new Section for the Area sect := Area.NewSection('Get Rect Demo Section'); //Call the Get Rect functions psline := ps.GetRect('Draw Area'); //Get the two points from the iLine Returned by the GetRect function pt1 := psline.Point1; pt2 := psline.Point2; //Add Points to section to create a box sect.NewPoint(pt1.X,pt1.y); sect.NewPoint(pt2.X,pt1.y); sect.NewPoint(pt2.X,pt2.y); sect.NewPoint(pt1.X,pt2.y); sect.NewPoint(pt1.X,pt1.y); //Create Line Segment Item seg := Area.NewItem('Segment','Draw One Way Demo'); //input Spacing S := StrToInt(inputBox('Enter Spacing','Enter Spacing','24')); //Get TwoWayLayout (Dras Segment lines in one direction) ps.GetTwoWayLayout(Seg.GUID,'Draw Span','Draw Run',True,True,s,sect.guid); //Show Message to have user select Drawn Items ShowMessage('Select the Drawn Area With Segments then Press OK'); // Get the Selection List From Planswift slst := ps.SelectionList; //Set a Point to copy the sections too cpt := ps.GetPoint('Set Point To Copy Too'); //check if selection list has items if Slst.Count > 0 then Begin //cycle through slection list by Index for I := 0 to slst.Count - 1 do begin //Get the item in the list from index sect := slst.Items[i]; //Create a new Section on the parent Item NSect := sect.ParentItem.NewSection('Copied Section'); //cycle thorugh the points of section for ii := 0 to ps.PointCount(sect.GUID) - 1 do begin //Get the point in the item by index sPoint := sect.GetPoint(ii); //set new point at selected point Location sect.NewPoint(cpt.X + sPoint.X,cpt.Y + sPoint.y); end; end; end; //Free the Planswift Interface ps := nil; end; |
public class PlanswiftApi { private PlanSwift Planswift { get; } public PlanSwiftApi() { Planswift = new PlanSwift(); } } |
Coming soon |
Coming soon |
Coming soon |