Klik op het logo voor hulp op afstand
  
 
 
 
 
 
 
 




Bevestigen en onderbreken van editor functies via script (3.30, 3.31 P1 - 2822)


Voortaan kan men de Accept en Cancel knoppen van de editor functies via script 'indrukken'.

Daarvoor werden 2 extra script functies voorzien die het de gebruiker mogelijk maken om vanuit een actie, meestal zullen dit editor events zijn zoals _ONAFTERSELECT, na een aantal wijzigingen zelf de editor functie te bevestigen of te annuleren:

AcceptEditorFunction([Dfun]))  bevestig wijzigingen 
CancelEditorFunction([Dfun]))  annuleer wijzigingen 

                         Dfun (editor functie identificatie, optioneel)) 


Indien geen editorfunctie identificatie nummer wordt meegegeven zal dit op de huidige functie toegepast worden. Onderstaand een voorbeeld van het aanroepen van de script functie om de huidige editor functie automatisch te bevestigen:
 
OutputMsg('FUNCTION = '+IntToStr(Action.FunId)+', SELECTED = '+IntToStr(Action.Selected));

CurProject  := Action.Project;
CurAssembly := Action.Assembly;
CurAtom     := AtomToObj(Action.Atom);
CurNdx      := Action.RowId;
CurView     := Action.DataView;
CurLink     := Action.DataLink;

if Action.Selected > 0 then
{
  CurSelection := CurProject.GetSelected(0);
  OutputMsg('ATOM = '+IntToStr(CurAtom.Id)+', ROW = '+IntToStr(CurNdx));
  
  if CurView = DATA_LIST then
  {
    CurRows    := CurLink.Count;
    NdxSystem  := CurLink.Cell('Reeks');
    NdxProfile := CurLink.Cell('Profiel');
    OutputMsg('RIJEN = '+IntToStr(CurRows));
    CurSystem  := CurLink.Value[NdxSystem];
    CurProfile := CurLink.Value[NdxProfile];
    OutputMsg('REEKS = '+Trim(CurSystem)+', PROFIEL = '+Trim(CurProfile));
    NdxGlyph   := CurLink.Door('Schets');
    CurDoor    := IsDoorVisible(DOOR_IMAGE);
    CurDoor    := SetDoorVisible(DOOR_IMAGE,False);
    CurLink.ReadOnly[NdxGlyph] := True;
    CurLink.Value[NdxProfile] := 'GUNTER';
    CurLink.Paint();
    AcceptEditorFunction();
  };
  
  if CurView = DATA_GRID then
  {
    CurRows    := CurLink.Rows;
    NdxSystem  := CurLink.Cell('Reeks');
    NdxProfile := CurLink.Cell('Profiel');
    NdxPositie := CurLink.Cell('Positie');
    OutputMsg('RIJEN = '+IntToStr(CurRows));
    CurSystem  := CurLink.Value[1][NdxSystem];
    CurProfile := CurLink.Value[1][NdxProfile];
    CurSide    := CurLink.Value[1][NdxPositie];
    OutputMsg('REEKS = '+Trim(CurSystem)+', PROFIEL = '+Trim(CurProfile)+', POSITIE = '+IntToStr(CurSide));
    CurLink.Value[CurRows][NdxSystem] := 'AC';
    CurLink.Value[CurRows][NdxProfile] := '3700X';
    CurLink.Value[CurRows][NdxPositie] := 3;
    CurLink.Paint();
    AcceptEditorFunction();
  };
  
  if CurSelection.IsFrameElement || CurSelection.IsVentElement then
  {
    if CurSelection.C_Reverted = 1 then OutputMsg('Omgekeerd');
    if CurSelection.C_Rotated  = 1 then OutputMsg('Geroteerd');
  };
};

Action.Result := True;
 

 

Extra editorfunctie voorzien om op te vragen welke editorfunctie actief is (3.31 P1 - 2822)
 
Vanaf JoPPS 3.31 P1 is het mogelijk om vanuit een actie op te vragen welke editorfunctie actief is:
 
CurrentEditorFunction()    opvragen actieve editorfunctie 
 
return value = 0 (er is geen actieve editor functie)
return value < 0 (id huidige actieve editor functie)

Onderstaande script code controleert via de functie CurrentEditorFunction() of er nog een editorfunctie actief is :
 
 

 

 



 |  History  |
 
 

 
 
 
TECHWIN SOFTWARE
De Regenboog 11
B-2800 Mechelen
T +32(0)15 44 64 64
T +31(0)30 899 32 15 Nederland