src/Tools/jEdit/src/find_dockable.scala
changeset 56621 798ba1c2da12
parent 56208 06cc31dff138
child 56622 891d1b8b64fb
equal deleted inserted replaced
56620:5de64a07b0e3 56621:798ba1c2da12
    97   }
    97   }
    98 
    98 
    99 
    99 
   100   /* controls */
   100   /* controls */
   101 
   101 
   102   private def clicked {
   102   private def clicked
   103     find_theorems.apply_query(
   103   {
   104       List(limit.text, allow_dups.selected.toString, context.selection.item.name, query.getText))
   104     find_theorems.apply_query(List(limit.text, allow_dups.selected.toString, query.getText))
   105   }
   105   }
   106 
   106 
   107   private val query_label = new Label("Search criteria:") {
   107   private val query_label = new Label("Search criteria:") {
   108     tooltip =
   108     tooltip =
   109       GUI.tooltip_lines(List(
   109       GUI.tooltip_lines(List(
   120     }
   120     }
   121     { val max = getPreferredSize; max.width = Integer.MAX_VALUE; setMaximumSize(max) }
   121     { val max = getPreferredSize; max.width = Integer.MAX_VALUE; setMaximumSize(max) }
   122     setColumns(40)
   122     setColumns(40)
   123     setToolTipText(query_label.tooltip)
   123     setToolTipText(query_label.tooltip)
   124     setFont(GUI.imitate_font(Font_Info.main_family(), getFont, 1.2))
   124     setFont(GUI.imitate_font(Font_Info.main_family(), getFont, 1.2))
   125   }
       
   126 
       
   127   private case class Context_Entry(val name: String, val description: String)
       
   128   {
       
   129     override def toString = description
       
   130   }
       
   131 
       
   132   private val context_entries =
       
   133     new Context_Entry("", "current context") ::
       
   134       PIDE.resources.loaded_theories.toList.sorted.map(name => Context_Entry(name, name))
       
   135 
       
   136   private val context = new ComboBox[Context_Entry](context_entries) {
       
   137     tooltip = "Search in pre-loaded theory (default: context of current command)"
       
   138   }
   125   }
   139 
   126 
   140   private val limit = new TextField(PIDE.options.int("find_theorems_limit").toString, 5) {
   127   private val limit = new TextField(PIDE.options.int("find_theorems_limit").toString, 5) {
   141     tooltip = "Limit of displayed results"
   128     tooltip = "Limit of displayed results"
   142     verifier = (s: String) =>
   129     verifier = (s: String) =>
   157     tooltip = "Zoom factor for output font size"
   144     tooltip = "Zoom factor for output font size"
   158   }
   145   }
   159 
   146 
   160   private val controls =
   147   private val controls =
   161     new Wrap_Panel(Wrap_Panel.Alignment.Right)(
   148     new Wrap_Panel(Wrap_Panel.Alignment.Right)(
   162       query_label, Component.wrap(query), context, limit, allow_dups,
   149       query_label, Component.wrap(query), limit, allow_dups,
   163       process_indicator.component, apply_query, zoom)
   150       process_indicator.component, apply_query, zoom)
   164   add(controls.peer, BorderLayout.NORTH)
   151   add(controls.peer, BorderLayout.NORTH)
   165 
   152 
   166   override def focusOnDefaultComponent { query.requestFocus }
   153   override def focusOnDefaultComponent { query.requestFocus }
   167 }
   154 }