TKE  3.6
Advanced code editor for programmers
api::menu Namespace Reference

Functions

 exists interp pname mnu_path
 
 enabled interp pname mnu_path
 
 selected interp pname mnu_path
 
 invoke interp pname mnu_path
 

Function Documentation

§ enabled()

api::menu::enabled   interp pname mnu_path  

Definition at line 1096 of file api.tcl.

1096  proc enabled {interp pname mnu_path} {
1097 
1098  set menu_list [split $mnu_path /]
1099 
1100  if {![catch { menus::get_menu [lrange $menu_list 0 end-1]} mnu]} {
1101  if {![catch { menus::get_menu_index $mnu [lindex $menu_list end]} index] && ($index ne "none")} {
1102  return [expr {[$mnu entrycget $index -state] eq "normal"}]
1103  }
1104  }
1105 
1106  return 0
1107 
1108  }

§ exists()

api::menu::exists   interp pname mnu_path  

Returns true if the given menu path exists in the main menubar; otherwise, returns false. The 'mnu_path' is a slash-separated (/) path to a menu item. The menu path must match the menu strings exactly (case-sensitive).

Definition at line 1079 of file api.tcl.

1079  proc exists {interp pname mnu_path} {
1080 
1081  set menu_list [split $mnu_path /]
1082 
1083  if {![catch { menus::get_menu [lrange $menu_list 0 end-1]} mnu]} {
1084  if {![catch { menus::get_menu_index $mnu [lindex $menu_list end]} res] && ($res ne "none")} {
1085  return 1
1086  }
1087  }
1088 
1089  return 0
1090 
1091  }

§ invoke()

api::menu::invoke   interp pname mnu_path  

Attempts to invoke the menu item specified by the given menu path.

Definition at line 1133 of file api.tcl.

1133  proc invoke {interp pname mnu_path} {
1134 
1135  variable not_allowed
1136 
1137  if {[info exists not_allowed($mnu_path)]} {
1138  return 0
1139  }
1140 
1141  set menu_list [split $mnu_path /]
1142 
1143  if {![catch { menus::get_menu [lrange $menu_list 0 end-1]} mnu]} {
1144  if {![catch { menus::get_menu_index $mnu [lindex $menu_list end]} index] && ($index ne "none")} {
1145  if {![catch { menus::invoke $mnu $index}]} {
1146  return 1
1147  }
1148  }
1149  }
1150 
1151  return 0
1152 
1153  }

§ selected()

api::menu::selected   interp pname mnu_path  

Returns the current value of the given menu path (only valid for checkbutton or radiobutton menus).

Definition at line 1113 of file api.tcl.

1113  proc selected {interp pname mnu_path} {
1114 
1115  set menu_list [split $mnu_path /]
1116 
1117  if {![catch { menus::get_menu [lrange $menu_list 0 end-1]} mnu]} {
1118  if {![catch { menus::get_menu_index $mnu [lindex $menu_list end]} index] && ($index ne "none")} {
1119  switch [$mnu type $index] {
1120  checkbutton { return [expr {[set [$mnu entrycget $index -variable]] eq [$mnu entrycget $index -onvalue]}]}
1121  radiobutton { return [expr {[set [$mnu entrycget $index -variable]] eq [$mnu entrycget $index -value]}]}
1122  default { return ""}
1123  }
1124  }
1125  }
1126 
1127  return ""
1128 
1129  }