254 variable search_method
258 wm iconphoto . [
image create photo -file [
file join $::tke_dir lib images tke_logo_128.gif]]
259 wm geometry . 800x600
265 set widgets(pw) [ttk::panedwindow .pw -orient horizontal]
271 $widgets(pw) add [ttk::frame $widgets(pw).tf]
274 set widgets(nb_pw) [ttk::panedwindow $widgets(pw).tf.nbpw -orient horizontal]
280 pack $widgets(nb_pw) -fill both -expand yes
283 set max_width [
expr [msgcat::mcmax "Regexp" "Glob" "Exact"] + 1]
284 set widgets(fif) [ttk::frame .fif]
285 ttk::label $widgets(fif).lf -text [
format "%s: " [msgcat::mc "Find"]]
286 set widgets(fif_find) [ttk::entry $widgets(fif).ef]
287 set widgets(fif_type) [ttk::button $widgets(fif).type -style BButton -width $max_width -command [list gui::handle_menu_popup $widgets(fif).type .fif.typeMenu]]
288 set widgets(fif_case) [ttk::checkbutton $widgets(fif).case -text "Aa" -variable gui::case_sensitive]
289 ttk::label $widgets(fif).li -text [
format "%s: " [msgcat::mc "In"]]
290 set widgets(fif_in) [tokenentry::tokenentry $widgets(fif).ti -font [$widgets(fif_find) cget -font] \
291 -tokenshape square -highlightthickness 2 -highlightbackground white -highlightcolor white]
292 set widgets(fif_save) [ttk::checkbutton $widgets(fif).save -text [msgcat::mc "Save"] \
293 -variable gui::saved -command [list search::update_save fif]]
294 set widgets(fif_close) [ttk::label $widgets(fif).close -image form_close]
297 set type_menu [
menu $widgets(fif).typeMenu -tearoff 0]
298 $type_menu add radiobutton -label [msgcat::mc "Regexp"] -variable gui::fif_method -value "regexp" -command [list $widgets(fif_type) configure -text [msgcat::mc "Regexp"]]
299 $type_menu add radiobutton -label [msgcat::mc "Glob"] -variable gui::fif_method -value "glob" -command [list $widgets(fif_type) configure -text [msgcat::mc "Glob"]]
300 $type_menu add radiobutton -label [msgcat::mc "Exact"] -variable gui::fif_method -value "exact" -command [list $widgets(fif_type) configure -text [msgcat::mc "Exact"]]
302 tooltip::tooltip $widgets(fif_case) [msgcat::mc "Case sensitivity"]
304 bind $widgets(fif_find) <Return> [list gui::check_fif_for_return]
305 bind [$widgets(fif_in) entrytag] <Return> { if {[gui::check_fif_for_return]} break }
306 bind $widgets(fif_case) <Return> [list gui::check_fif_for_return]
307 bind $widgets(fif_save) <Return> [list gui::check_fif_for_return]
308 bind $widgets(fif_find) <Escape> [list set gui::user_exit_status 0]
309 bind [$widgets(fif_in) entrytag] <Escape> [list set gui::user_exit_status 0]
310 bind $widgets(fif_case) <Escape> [list set gui::user_exit_status 0]
311 bind $widgets(fif_save) <Escape> [list set gui::user_exit_status 0]
312 bind $widgets(fif_close) <Button-1> [list set gui::user_exit_status 0]
313 bind $widgets(fif_find) <Up> "search::traverse_history fif 1; break"
314 bind $widgets(fif_find) <Down> "search::traverse_history fif -1; break"
315 bind $widgets(fif_close) <Key-space> [list set gui::user_exit_status 0]
320 grid columnconfigure $widgets(fif) 1 -weight 1
321 grid $widgets(fif).lf -row 0 -column 0 -sticky ew -pady 2
322 grid $widgets(fif).ef -row 0 -column 1 -sticky ew -pady 2
323 grid $widgets(fif).type -row 0 -column 2 -sticky news -padx 2 -pady 2
324 grid $widgets(fif).case -row 0 -column 3 -sticky news -padx 2 -pady 2
325 grid $widgets(fif).close -row 0 -column 4 -sticky news -padx 2 -pady 2
326 grid $widgets(fif).li -row 1 -column 0 -sticky ew -pady 2
327 grid $widgets(fif).ti -row 1 -column 1 -sticky ew -pady 2
328 grid $widgets(fif).save -row 1 -column 3 -sticky news -padx 2 -pady 2 -columnspan 2
331 set widgets(doc) [ttk::frame .doc]
332 ttk::label $widgets(doc).l1f -text [
format "%s: " [msgcat::mc "Search"]]
333 ttk::menubutton $widgets(doc).mb -menu [
menu .doc.docPopup -tearoff 0]
334 ttk::label $widgets(doc).l2f -text [
format "%s: " [msgcat::mc "for"]]
335 ttk::entry $widgets(doc).e
336 ttk::checkbutton $widgets(doc).save -text [msgcat::mc "Save"] -variable gui::saved \
337 -command [list search::update_save docsearch]
338 ttk::label $widgets(doc).close -image form_close
340 bind $widgets(doc).e <Return> [list set gui::user_exit_status 1]
341 bind $widgets(doc).e <Escape> [list set gui::user_exit_status 0]
342 bind $widgets(doc).e <Up> "search::traverse_history docsearch 1; break"
343 bind $widgets(doc).e <Down> "search::traverse_history docsearch -1; break"
344 bind $widgets(doc).mb <Return> [list set gui::user_exit_status 1]
345 bind $widgets(doc).mb <Escape> [list set gui::user_exit_status 0]
346 bind $widgets(doc).save <Return> [list set gui::user_exit_status 1]
347 bind $widgets(doc).save <Escape> [list set gui::user_exit_status 0]
348 bind $widgets(doc).close <Button-1> [list set gui::user_exit_status 0]
349 bind $widgets(doc).close <Key-space> [list set gui::user_exit_status 0]
351 pack $widgets(doc).l1f -side left -padx 2 -pady 2
352 pack $widgets(doc).mb -side left -padx 2 -pady 2
353 pack $widgets(doc).l2f -side left -padx 2 -pady 2
354 pack $widgets(doc).e -side left -padx 2 -pady 2 -fill x -expand yes
355 pack $widgets(doc).save -side left -padx 2 -pady 2
356 pack $widgets(doc).close -side left -padx 2 -pady 2
359 set widgets(info) [ttk::frame .if]
360 set widgets(info_state) [ttk::label .if.l1]
361 ttk::separator .if.s1 -orient vertical
362 set widgets(info_msg) [ttk::label .if.l2]
363 ttk::separator .if.s2 -orient vertical
364 set widgets(info_encode) [ttk::button .if.enc -style BButton -command [list gui::handle_menu_popup .if.enc [
gui::create_encoding_menu .if.enc]]]
365 ttk::separator .if.s3 -orient vertical
366 set widgets(info_indent) [ttk::button .if.ind -style BButton -command [list gui::handle_menu_popup .if.ind [
indent::create_menu .if.ind]]]
367 ttk::separator .if.s4 -orient vertical
368 set widgets(info_syntax) [ttk::button .if.syn -style BButton -command [list gui::handle_menu_popup .if.syn [
syntax::create_menu .if.syn]]]
369 ttk::label .if.sp -text " "
371 $widgets(info_encode) configure -state disabled
372 $widgets(info_indent) configure -state disabled
373 $widgets(info_syntax) configure -state disabled
375 pack .if.l1 -side left -padx 2 -pady 2
376 pack .if.s1 -side left -padx 2 -pady 10 -fill y
377 pack .if.l2 -side left -padx 2 -pady 2
378 pack .if.sp -side right -padx 2 -pady 2
379 pack .if.syn -side right -padx 2 -pady 2
380 pack .if.s3 -side right -padx 2 -pady 10 -fill y
381 pack .if.ind -side right -padx 2 -pady 2
382 pack .if.s2 -side right -padx 2 -pady 10 -fill y
383 pack .if.enc -side right -padx 2 -pady 2
384 pack .if.s4 -side right -padx 2 -pady 10 -fill y
387 set widgets(ursp) [ttk::frame .rf]
388 set widgets(ursp_label) [ttk::label .rf.l]
389 set widgets(ursp_entry) [ttk::entry .rf.e]
390 ttk::label .rf.close -image form_close
392 bind $widgets(ursp_entry) <Return> [list set gui::user_exit_status 1]
393 bind $widgets(ursp_entry) <Escape> [list set gui::user_exit_status 0]
394 bind .rf.close <Button-1> [list set gui::user_exit_status 0]
395 bind .rf.close <Key-space> [list set gui::user_exit_status 0]
400 grid rowconfigure .rf 0 -weight 1
401 grid columnconfigure .rf 1 -weight 1
402 grid $widgets(ursp_label) -row 0 -column 0 -sticky news -padx 2 -pady 2
403 grid $widgets(ursp_entry) -row 0 -column 1 -sticky news -padx 2 -pady 2
404 grid .rf.close -row 0 -column 2 -sticky news -padx 2 -pady 2
407 grid rowconfigure . 0 -weight 1
408 grid columnconfigure . 0 -weight 1
409 grid $widgets(pw) -row 0 -column 0 -sticky news
410 grid $widgets(info) -row 1 -column 0 -sticky ew
412 ttk::separator .sep -orient horizontal
415 set widgets(menu) [
menu $widgets(nb_pw).popupMenu -tearoff 0 -postcommand gui::setup_tab_popup_menu]
416 $widgets(menu) add command -label [msgcat::mc "Close Tab"] -command [list gui::close_current]
417 $widgets(menu) add command -label [msgcat::mc "Close All Other Tabs"] -command gui::close_others
418 $widgets(menu) add command -label [msgcat::mc "Close All Tabs"] -command gui::close_all
419 $widgets(menu) add separator
420 $widgets(menu) add command -label [msgcat::mc "Close Other Tabs In Pane"] -command gui::close_others_current_pane
421 $widgets(menu) add command -label [msgcat::mc "Close All Tabs In Pane"] -command gui::close_current_pane
422 $widgets(menu) add separator
423 $widgets(menu) add command -label [msgcat::mc "Hide Tab"] -command [list gui::hide_current]
424 $widgets(menu) add separator
425 $widgets(menu) add checkbutton -label [msgcat::mc "Split View"] -onvalue 1 -offvalue 0 \
426 -variable menus::show_split_pane -command [list gui::toggle_split_pane]
427 $widgets(menu) add checkbutton -label [msgcat::mc "Bird's Eye View"] -onvalue 1 -offvalue 0 \
428 -variable menus::show_birdseye -command [list gui::toggle_birdseye]
429 $widgets(menu) add separator
430 $widgets(menu) add checkbutton -label [msgcat::mc "Locked"] -onvalue 1 -offvalue 0 \
431 -variable gui::file_locked -command [list gui::set_current_file_lock_with_current]
432 $widgets(menu) add checkbutton -label [msgcat::mc "Favorited"] -onvalue 1 -offvalue 0 \
433 -variable gui::file_favorited -command [list gui::set_current_file_favorite_with_current]
434 $widgets(menu) add separator
435 $widgets(menu) add command -label [msgcat::mc "Show in Sidebar"] -command gui::show_current_in_sidebar
436 $widgets(menu) add separator
437 $widgets(menu) add command -label [msgcat::mc "Move to Other Pane"] -command gui::move_to_pane
492 foreach encname [encoding names] {
493 launcher::register [
format "%s: %s" [msgcat::mc "Encoding"] [
string toupper $encname]] [list gui::set_current_encoding $encname]
498 wm protocol . WM_DELETE_WINDOW [list menus::exit_command]
501 trace variable preferences::prefs(Editor/WarningWidth) w gui::handle_warning_width_change
502 trace variable preferences::prefs(Editor/MaxUndo) w gui::handle_max_undo
503 trace variable preferences::prefs(Editor/HighlightMatchingChar) w gui::handle_matching_char
504 trace variable preferences::prefs(Editor/HighlightMismatchingChar) w gui::handle_bracket_audit
505 trace variable preferences::prefs(Editor/RelativeLineNumbers) w gui::handle_relative_line_numbers
506 trace variable preferences::prefs(Editor/LineNumberAlignment) w gui::handle_line_number_alignment
507 trace variable preferences::prefs(View/AllowTabScrolling) w gui::handle_allow_tab_scrolling
508 trace variable preferences::prefs(Editor/VimMode) w gui::handle_vim_mode
509 trace variable preferences::prefs(Appearance/EditorFont) w gui::handle_editor_font
510 trace variable preferences::prefs(General/AutoChangeWorkingDirectory) w gui::handle_auto_cwd
511 trace variable preferences::prefs(General/DefaultFileBrowserDirectory) w gui::handle_browse_directory
512 trace variable preferences::prefs(View/ShowBirdsEyeView) w gui::handle_show_birdseye
513 trace variable preferences::prefs(View/BirdsEyeViewFontSize) w gui::handle_birdseye_font_size
514 trace variable preferences::prefs(View/BirdsEyeViewWidth) w gui::handle_birdseye_width
515 trace variable preferences::prefs(View/EnableCodeFolding) w gui::handle_code_folding
516 trace variable preferences::prefs(Appearance/CursorWidth) w gui::handle_cursor_width
517 trace variable preferences::prefs(Appearance/ExtraLineSpacing) w gui::handle_extra_line_spacing
520 bind all <Control-plus> [list gui::handle_font_change 1]
521 bind all <Control-minus> [list gui::handle_font_change -1]