home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / plugins / test / test.tcl < prev   
Text File  |  2000-11-02  |  3KB  |  90 lines

  1. # edit /etc/resolv.conf for nameserver (dns) settings
  2. # 12/29/1999 Stew Benedict stewb@earthlink.net
  3.  
  4. class nameserversPlugIn {
  5.     inherit basePlugIn
  6.     variable nameserversXuiPP
  7.     variable domainEntry    
  8.     variable nameserver1Entry    
  9.     variable nameserver2Entry    
  10.     variable nameserver3Entry    
  11.     variable nameserversNodeId
  12.     constructor {} {
  13.       set nameserversXuiPP [::libgui::createXuiFromFile $::test::pp]
  14.     }
  15.     method init { args }
  16.     method _inquiryForRightPaneContent { node }
  17.     method _inquiryForPropertyPages { node }
  18.     method _receivedPropertyPages { node xuiPropertyPages}
  19. }
  20.  
  21.  
  22.  
  23. # args contains the options that are passed to the plugIn at initialization
  24. # time.
  25. #
  26. #  -namespace    contains the name of the name space server
  27.     
  28.  
  29. body nameserversPlugIn::init {args} {
  30.  
  31.     # We are hooking to the root node
  32.     # The ::plugInUtils::addNode syntaxis is the following
  33.     # ::plugInUtils::addNode caller namespace parentNode
  34.     # where
  35.     # caller: Name of the object that is adding the node (the plugIn object)
  36.     # namespace: Namespace where we are adding the node
  37.     # parentNode: Parent node
  38.     #
  39.     # The list of available icons is in view/images.tcl    
  40.  
  41.     array set options $args
  42.     set namespace $options(-namespace)
  43.     set parentNode [[ $namespace getRootNode] getId]
  44.     set nameserversNode [::plugInUtils::addNode $this $namespace $parentNode \
  45.         -classes {nameservers leaf} \
  46.     -openIcon network \
  47.     -closedIcon network \
  48.     -label [mesg::get nameservers_settings]]
  49.     set nameserversNodeId [$nameserversNode getId]
  50. }
  51.  
  52. body nameserversPlugIn::_inquiryForRightPaneContent { node } {
  53.     global tcl_platform
  54.      if {$tcl_platform(platform) == "windows"} {
  55.          set result [mesg::get nameservers_right_pane_windows] 
  56.      } else {
  57.         set result [mesg::get nameservers_right_pane]
  58.     set inhdl [open /etc/resolv.conf r]
  59.     while { [gets $inhdl buff] >= 0 } {
  60.              append result " <BR><b>$buff</b>"
  61.     }
  62.     close $inhdl
  63.      }
  64.      return $result
  65. }  
  66.  
  67.  
  68.  
  69. body nameserversPlugIn::_inquiryForPropertyPages  { node } {
  70.     global tcl_platform
  71.    # if {$tcl_platform(platform) == "windows"} {
  72.    #     return
  73.    # } else {
  74.         $nameserversXuiPP.domainEntry setValue "test domain"  
  75.         $nameserversXuiPP.nameserver1Entry setValue "test nameserver1"  
  76.         $nameserversXuiPP.nameserver2Entry setValue "test nameserver2"  
  77.         $nameserversXuiPP.nameserver3Entry setValue "test nameserver3"  
  78.     #}
  79.     return $nameserversXuiPP
  80. }      
  81.  
  82.  
  83. body nameserversPlugIn::_receivedPropertyPages { node xuiPropertyPages } {
  84.   set pp [$xuiPropertyPages getComponentByName nameserversPP]
  85.   set newDomain [[$pp getComponentByName domain] getValue]
  86.   #catch {exec nameservers $newHostname}
  87. }
  88.  
  89.  
  90.