home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / revengcppd.tcl < prev    next >
Text File  |  1997-10-24  |  3KB  |  108 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)revengcppd.tcl    /main/titanic/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)revengcppd.tcl    /main/titanic/3   24 Oct 1997 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "revengdlg.tcl"
  15.  
  16. Class RevEngCppDlg : {RevEngDlg} {
  17.     method destructor
  18.         method handleBrowse
  19.     constructor
  20.     method getOptions
  21. }
  22.  
  23. method RevEngCppDlg::destructor {this} {
  24.     # Start destructor user section
  25.     # End destructor user section
  26.     $this RevEngDlg::destructor
  27. }
  28.  
  29. constructor RevEngCppDlg {class this name} {
  30.     set this [RevEngDlg::constructor $class $this $name "C++" "reveng_cpp"]
  31.  
  32.     interface CheckButton $this.top.association {
  33.         label "Reverse engineer associations"
  34.         state 1
  35.     }
  36.  
  37.     interface DlgRow $this.top.filter {
  38.         spaceType NONE
  39.         verStretchFactor 0
  40.         verShrinkFactor 0
  41.         Label lab {
  42.             text "Input Filter Command "
  43.         }
  44.         SingleLineText cmdline {}
  45.     }
  46.  
  47.     interface DlgRow $this.top.skipids {
  48.         verStretchFactor 0
  49.         verShrinkFactor 0
  50.         Label lab {
  51.             text "Skip Identifiers File"
  52.         }
  53.         SingleLineText filename {
  54.             justification CENTER
  55.         }
  56.         PushButton browse {
  57.             label "Browse..."
  58.         }
  59.     }
  60.  
  61.     $this.top.skipids.browse activated "$this handleBrowse"
  62.     $this.top.filter.cmdline text [m4_var get M4_reveng_filter]
  63.     $this.top.skipids.filename text [m4_var get M4_reveng_skipfile]
  64.  
  65.     return $this
  66. }
  67.  
  68. method RevEngCppDlg::handleBrowse {this} {
  69.     set fileChooser .main.Browse[nt_get_type $this]
  70.     if {! [isCommand $fileChooser]} {
  71.     ClassMaker::extend FileChooser RevEngCppDlgFileChooser dialog
  72.     if $win95 {
  73.         set filter "Programs|*.com;*.exe;*.bat;*.cmd|All Files (*.*)|*|"
  74.     } else {
  75.         set filter "*"
  76.     }
  77.     RevEngCppDlgFileChooser new $fileChooser \
  78.         -title "Browse Skip Identifier File" \
  79.         -selectionPolicy SINGLE \
  80.         -filter $filter \
  81.         -dialog $this \
  82.         -okPressed {
  83.         set dialog [%this dialog]
  84.         $dialog.top.skipids.filename text [lindex [%this selectedSet] 0]
  85.         }
  86.     $fileChooser delHelpButton
  87.     }
  88.     $fileChooser popUp
  89. }
  90.  
  91.  
  92. method RevEngCppDlg::getOptions {this} {
  93.     set script [$this RevEngDlg::getOptions]
  94.     if [$this.top.association state] {
  95.         append script " -a rev_assoc.tcl"
  96.     }
  97.     if {[$this.top.filter.cmdline text] != ""} {
  98.         append script " -I\"[$this.top.filter.cmdline text]\""
  99.     }
  100.     if {[$this.top.skipids.filename text] != ""} {
  101.         append script " -U[$this.top.skipids.filename text]"
  102.     }
  103.     return $script
  104. }
  105.  
  106. # Do not delete this line -- regeneration end marker
  107.  
  108.