FastFiber

DCL defaults instellen via lisp (zelf OPGELOST)

Gestart door Reimer, do 19 05 2011, 08:33:28

Vorige topic - Volgende topic

Reimer

ik ben weer eens in de dialoogboxen gedoken. Ik heb hier onder een vereenvoudigde code opgenomen.
Ik heb ontdekt dat ik via de lisproutine kan instellen of de toggles aan of uit staan bij het starten van de dialoogbox. Nu wil ik ook graag op voorhand instellen of de editbox en de toggles bewerkt mogen worden of niet (is_enabled = false of true). Weet iemand hoe ik dit in deze code voor elkaar kan krijgen?

Reimer

Plot : dialog {
          label = "Plotkeuze";
    : row {//row1
      fixed_height = true;

      : column {
 
        : text
          {label = "Uitgavenummer:  ";}
        : text
          {label = "Wil je een pdf maken? ";}
        : text
          {label = "Wil je een plt maken? ";}
      }//_kolom

      : column {

        : edit_box
          {key = "DIALOGrevnr";
           is_enabled = false;}  //<----- Hoe kan ik deze aansturen met de lisproutine?
        : toggle
          {key = "tglpdf";
           value = "";}
        : toggle
          {key = "tglplt";
           value = "";}

        : spacer {
          fixed_width = true ;}
      }//_kolom
    }//_row1
  ok_cancel;
}


(defun c:diat (/ UITG PDF? PLT? UITG? RRBOX NR PDFMKN PLTMKN)
  (setq UITG (getstring "\nGeef het uitgavenummer op: "))
  (setq PDF? (getstring "\nPDF maken?[0/1]: "))
  (setq PLT? (getstring "\nPLT maken?[0/1]: "))
  (setq UITG? (getstring "\nMag de uitgave bewerkt worden?[0/1]: "))

  (setq RRBOX "Plot")
  (setq NR (load_dialog "plot.DCL"))
  (new_dialog RRBOX NR)
  (set_tile "DIALOGrevnr" UITG)
  (set_tile "tglpdf" PDF?)
  (set_tile "tglplt" PLT?)

  (action_tile "tglpdf" "(setq PDFMKN $VALUE)")
  (action_tile "tglplt" "(setq PLTMKN $VALUE)")
  (action_tile "cancel" "(setq OKCANCEL 1)(done_dialog)")
  (action_tile "accept" "(setq OKCANCEL 2)(done_dialog)")
  (start_dialog)
  (unload_dialog nr)
)

Reimer

#1
Onverwacht het antwoord gevonden in de help van autocad.
Het toevoegen van mode_tile


Plot : dialog {
         label = "Plotkeuze";
   : row {//row1
     fixed_height = true;

     : column {
 
       : text
         {label = "Uitgavenummer:  ";}
       : text
         {label = "Wil je een pdf maken? ";}
       : text
         {label = "Wil je een plt maken? ";}
     }//_kolom

     : column {

       : edit_box
         {key = "DIALOGrevnr";
          is_enabled = "";}  //<-----
       : toggle
         {key = "tglpdf";
          value = "";}
       : toggle
         {key = "tglplt";
          value = "";}

       : spacer {
         fixed_width = true ;}
     }//_kolom
   }//_row1
 ok_cancel;
}


(defun c:diat (/ UITG PDF? PLT? UITG? RRBOX NR PDFMKN PLTMKN)
 (setq UITG (getstring "\nGeef het uitgavenummer op: "))
 (setq PDF? (getstring "\nPDF maken?[0/1]: "))
 (setq PLT? (getstring "\nPLT maken?[0/1]: "))
 (setq UITG? (getint "\nMag de uitgave bewerkt worden?[0/1]: "))     ;;<----- getint i.p.v. getstring

 (setq RRBOX "Plot")
 (setq NR (load_dialog "plot.DCL"))
 (new_dialog RRBOX NR)
 (set_tile "DIALOGrevnr" UITG)
 (set_tile "tglpdf" PDF?)
 (set_tile "tglplt" PLT?)
 (mode_tile "DIALOGrevnr" UITG?)  "))                    ;;<----- mode_tile toegevoegd

 (action_tile "tglpdf" "(setq PDFMKN $VALUE)")
 (action_tile "tglplt" "(setq PLTMKN $VALUE)")
 (action_tile "cancel" "(setq OKCANCEL 1)(done_dialog)")
 (action_tile "accept" "(setq OKCANCEL 2)(done_dialog)")
 (start_dialog)
 (unload_dialog nr)
)