gui/dracula-gui-tool.scm
(module dracula-gui-tool mzscheme
  (require (lib "list.ss")
           (lib "tool.ss" "drscheme")
           (lib "mred.ss" "mred")
           (lib "class.ss")
           (lib "unit.ss"))
  
  (require "dracula-frame-mixin-sig.scm"
           "dracula-frame-mixin.scm"
           
           "dracula-tab-mixin-sig.scm"
           "dracula-tab-mixin.scm"
           
           "dracula-defns-text-mixin-sig.scm"
           "dracula-defns-text-mixin.scm")
  
  (require ;"dracula-language-with-acl2-settings-interface-sig.scm"
           ;"dracula-language-with-acl2-settings-interface.scm"
           
           ;"acl2-settings-sig.scm"
           ;"acl2-settings.scm"
           )
  
  #;
  (require "config-panel-sig.scm"
           "config-panel.scm")
  
  (provide tool@)
  
  (define tool-w/o-mixins@
    (unit
      (import
       ;config-panel^
       ;dracula-language-with-acl2-settings-interface^
       dracula-frame-mixin^
       dracula-tab-mixin^
       dracula-defns-text-mixin^
       drscheme:tool^)
      (export drscheme:tool-exports^)
      
      (drscheme:get/extend:extend-unit-frame dracula-unit-frame-mixin)
      (drscheme:get/extend:extend-tab dracula-tab-mixin)
      (drscheme:get/extend:extend-definitions-text dracula-defns-text-mixin)
      
      (define (phase1)
        (void)
        #;
        (drscheme:language:extend-language-interface 
         dracula-language-with-acl2-settings<%>
         dracula-language-with-acl2-settings-default-mixin))
      
      (define (phase2) (void))))
  
  (define tool@
    (compound-unit
      (import (DRS-TOOL : drscheme:tool^))
      (export TOOL)
      (link [((FRAME : dracula-frame-mixin^)) dracula-frame-mixin@ DRS-TOOL]
            [((TAB : dracula-tab-mixin^)) dracula-tab-mixin@ #;SETTINGS DRS-TOOL]
            [((DEFNS-TXT : dracula-defns-text-mixin^)) dracula-defns-text-mixin@
                                                       DRS-TOOL]
            #;
            [((SETTINGS : acl2-settings^)) acl2-settings@ DRS-TOOL]
            #;
            [((CONFIG-PANEL : config-panel^)) config-panel@ SETTINGS DRS-TOOL]
            #;
            [((LANG-WITH-SETTINGS : dracula-language-with-acl2-settings-interface^))
             dracula-language-with-acl2-settings-interface@
             SETTINGS
             CONFIG-PANEL
             DRS-TOOL]
            [((TOOL : drscheme:tool-exports^)) tool-w/o-mixins@
                                               ;CONFIG-PANEL
                                               ;LANG-WITH-SETTINGS
                                               FRAME
                                               TAB
                                               DEFNS-TXT
                                               DRS-TOOL])))
  )