Template:ComplexDialogLayout4: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 50: | Line 50: | ||
BEGIN | BEGIN | ||
{These need to be declared as globals otherwise they won't work outside of setup.} | {These need to be declared as globals otherwise they won't work outside of setup.} | ||
kImageCheck := | kImageCheck := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/Checkmark.png'); | ||
kImageBlank := | kImageBlank := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/Blank.png'); | ||
kImageSheet := | kImageSheet := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/SheetLayers.png'); | ||
kImageView := | kImageView := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/ViewPage.png'); | ||
ColNum := InsertLBColumn(dialog1,4,0,'Use',50); | ColNum := InsertLBColumn(dialog1,4,0,'Use',50); | ||
Line 107: | Line 107: | ||
END; | END; | ||
END; | END; | ||
{-----------------------------------------------------------------------------} | {-----------------------------------------------------------------------------} | ||
Line 120: | Line 112: | ||
BEGIN {Main} | BEGIN {Main} | ||
Rewrite('layer.txt'); | Rewrite('layer.txt'); | ||
Dialog_Setup; | |||
IF RunLayoutDialog(dialog1,Dialog_Handler) = 1 THEN | IF RunLayoutDialog(dialog1,Dialog_Handler) = 1 THEN | ||
BEGIN | BEGIN | ||
Line 129: | Line 121: | ||
Run(LB_LayerList); | Run(LB_LayerList); | ||
</code> | </code> | ||
==== Python ==== | ==== Python ==== | ||
<code lang="py"> | <code lang="py"> | ||
Line 156: | Line 149: | ||
#{----------------------------------------------------------------------------} | #{----------------------------------------------------------------------------} | ||
def Dialog_Setup(): | def Dialog_Setup(): | ||
dialog1 = vs.CreateLayout(GetPlugInString(3003),True,GetPlugInString(3001),GetPlugInString(3002)) | dialog1 = vs.CreateLayout(GetPlugInString(3003),True,GetPlugInString(3001),GetPlugInString(3002)) | ||
vs.CreateLB(dialog1,4,25,13) | vs.CreateLB(dialog1,4,25,13) | ||
Line 224: | Line 217: | ||
global SetupDialogC | global SetupDialogC | ||
dialog1 = 0 | |||
SetupDialogC = 12255 | SetupDialogC = 12255 | ||
LB_LayerList() | LB_LayerList() | ||
</code> | </code> |
Latest revision as of 14:40, 20 January 2015
VectorScript
PROCEDURE LB_LayerList; VAR dialog1 : INTEGER; kImageCheck,kImageBlank,kImageSheet,kImageView : Integer; {-----------------------------------------------------------------------------} FUNCTION GetPlugInString(ndx :INTEGER) :STRING; BEGIN CASE ndx OF {Static Text} 3001: GetPlugInString := 'OK'; 3002: GetPlugInString := 'Cancel'; 3003: GetPlugInString := 'Layers'; END; END; {----------------------------------------------------------------------------} PROCEDURE Dialog_Setup; VAR cnt : INTEGER; BEGIN dialog1 := CreateLayout(GetPlugInString(3003),TRUE,GetPlugInString(3001),GetPlugInString(3002)); CreateLB(dialog1,4,25,13); SetFirstLayoutItem(dialog1, 4); END; {-----------------------------------------------------------------------------} PROCEDURE Dialog_Handler(VAR item :LONGINT; data :LONGINT); Var ColNum,TempI,I : Integer; SheetTypeIcon : Integer; BSB : Boolean; BSS : String; LayerHand : Handle; LayerName,SelectedIconString : String; SheetIconNumber,SelectedIconNumber : Integer; BEGIN CASE item OF SetupDialogC: BEGIN {These need to be declared as globals otherwise they won't work outside of setup.} kImageCheck := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/Checkmark.png'); kImageBlank := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/Blank.png'); kImageSheet := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/SheetLayers.png'); kImageView := AddListBrowserImage(dialog1, 4,'Vectorworks/Standard Images/ViewPage.png'); ColNum := InsertLBColumn(dialog1,4,0,'Use',50); BSB := SetLBControlType(dialog1,4,ColNum,3); BSB := SetLBItemDisplayType(dialog1,4,ColNum,1); {ColNum := InsertLBColumn(dialog1,4,0,'',50);}{This crashes VW} ColNum := InsertLBColumn(dialog1,4,1,'Layer Name',100); BSB := SetLBControlType(dialog1,4,ColNum,1); BSB := SetLBItemDisplayType(dialog1,4,ColNum,3); ColNum := InsertLBColumnDataItem(dialog1,4,0,'Checked',kImageCheck,-1,0); ColNum := InsertLBColumnDataItem(dialog1,4,0,'UnChecked',kImageBlank,-1,0); {Traversing from LLayer by PrevObj doesn't work with Sheet Layers} LayerHand := FLayer; I := 0; While LayerHand <> NIL do Begin If GetObjectVariableInt(LayerHand,154) = 2 then SheetTypeIcon := kImageSheet else SheetTypeIcon := kImageView; ColNum := InsertLBColumnDataItem(dialog1,4,1,GetLName(LayerHand),SheetTypeIcon,SheetTypeIcon,0); TempI := InsertLBItem (dialog1, 4, I, GetLName(LayerHand)); BSB := SetLBItemUsingColumnDataItem (dialog1, 4, I, 1, ColNum); BSB := SetLBItemUsingColumnDataItem (dialog1, 4, I, 0, 1); I := I+1; LayerHand := NextObj(LayerHand); End; EnableLBColumnLines(dialog1,4,True); END; 1: BEGIN For I := 1 to GetNumLBItems(dialog1,4) do Begin BSB := GetLBItemInfo(dialog1,4,I-1,1,LayerName,SheetIconNumber); BSB := GetLBItemInfo(dialog1,4,I-1,0,SelectedIconString,SelectedIconNumber); If SheetIconNumber = kImageSheet then Writeln(LayerName,' is a Sheet Layer and is ',SelectedIconString); If SheetIconNumber = kImageView then Writeln(LayerName,' is a Design Layer and is ',SelectedIconString); End; END; END; END; {-----------------------------------------------------------------------------} BEGIN {Main} Rewrite('layer.txt'); Dialog_Setup; IF RunLayoutDialog(dialog1,Dialog_Handler) = 1 THEN BEGIN END; Close('layer.txt'); END; Run(LB_LayerList);
Python
#{-----------------------------------------------------------------------------} def ResourceIsOK(): _ResourceIsOK = False if vs.SetVSResourceFile('IP Resources'): _ResourceIsOK = True else: vs.Message('The IP Resources file was not found.'); return _ResourceIsOK #{-----------------------------------------------------------------------------} def GetPlugInString(ndx): _GetPlugInString = '' if ndx == 3001: _GetPlugInString = 'OK'; elif ndx == 3002: #{Static Text} _GetPlugInString = 'Cancel'; elif ndx == 3003: _GetPlugInString = 'Layers'; return _GetPlugInString #{----------------------------------------------------------------------------} def Dialog_Setup(): dialog1 = vs.CreateLayout(GetPlugInString(3003),True,GetPlugInString(3001),GetPlugInString(3002)) vs.CreateLB(dialog1,4,25,13) vs.SetFirstLayoutItem(dialog1, 4) return dialog1 def Dialog_Handler(item , data ): kImageSheet = vs.AddLBImage(dialog1,4,1,11024) kImageView = vs.AddLBImage(dialog1,4,1,11025) if item == SetupDialogC: #{These need to be declared as globals otherwise they won't work outside of setup.} kImageCheck = vs.AddLBImage(dialog1,4,1,11022) kImageBlank = vs.AddLBImage(dialog1,4,1,11023) ColNum = vs.InsertLBColumn(dialog1,4,0,'Use',50) BSB = vs.SetLBControlType(dialog1,4,ColNum,3) BSB = vs.SetLBItemDisplayType(dialog1,4,ColNum,1) #{ColNum := InsertLBColumn(dialog1,4,0,'',50);}{This crashes VW} ColNum = vs.InsertLBColumn(dialog1,4,1,'Layer Name',100) BSB = vs.SetLBControlType(dialog1,4,ColNum,1) BSB = vs.SetLBItemDisplayType(dialog1,4,ColNum,3) ColNum = vs.InsertLBColumnDataItem(dialog1,4,0,'Checked',kImageCheck,-1,0) ColNum = vs.InsertLBColumnDataItem(dialog1,4,0,'UnChecked',kImageBlank,-1,0) #{Traversing from LLayer by PrevObj doesn't work with Sheet Layers} LayerHand = vs.FLayer() I = 0 while LayerHand != None: if vs.GetObjectVariableInt(LayerHand,154) == 2: SheetTypeIcon = kImageSheet else: SheetTypeIcon = kImageView ColNum = vs.InsertLBColumnDataItem(dialog1,4,1,vs.GetLName(LayerHand),SheetTypeIcon,SheetTypeIcon,0) TempI = vs.InsertLBItem (dialog1, 4, I, vs.GetLName(LayerHand)) BSB = vs.SetLBItemUsingColumnDataItem (dialog1, 4, I, 1, ColNum) BSB = vs.SetLBItemUsingColumnDataItem (dialog1, 4, I, 0, 1) I = I+1 LayerHand = vs.NextObj(LayerHand) vs.EnableLBColumnLines(dialog1,4,True) elif item == 1: for I in range(1, vs.GetNumLBItems(dialog1,4)): BSB, LayerName, SheetIconNumber = vs.GetLBItemInfo(dialog1,4,I-1,1) BSB, SelectedIconString, SelectedIconNumber = vs.GetLBItemInfo(dialog1,4,I-1,0) if SheetIconNumber == kImageSheet: vs.Writeln(LayerName,' is a Sheet Layer and is ',SelectedIconString) if SheetIconNumber == kImageView: vs.Writeln(LayerName,' is a Design Layer and is ',SelectedIconString) def LB_LayerList(): #{-----------------------------------------------------------------------------} global dialog1 vs.Rewrite('layer.txt') if ResourceIsOK(): vs.Message('Hi!') dialog1 = Dialog_Setup() if vs.RunLayoutDialog(dialog1,Dialog_Handler) == 1: pass vs.Close('layer.txt') global SetupDialogC dialog1 = 0 SetupDialogC = 12255 LB_LayerList()