3 # Commands provided by Tk without official support. Use them at your
4 # own risk. They may change or go away without notice.
6 # RCS: @(#) $Id: unsupported.tcl,v 1.5 2005/11/25 15:58:15 dkf Exp $
8 # See the file "license.terms" for information on usage and redistribution
9 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
11 # ----------------------------------------------------------------------
12 # Unsupported compatibility interface for folks accessing Tk's private
13 # commands and variable against recommended usage.
14 # ----------------------------------------------------------------------
16 namespace eval ::tk::unsupported {
18 # Map from the old global names of Tk private commands to their
19 # new namespace-encapsulated names.
21 variable PrivateCommands
22 array set PrivateCommands
{
23 tkButtonAutoInvoke
::tk::ButtonAutoInvoke
24 tkButtonDown
::tk::ButtonDown
25 tkButtonEnter
::tk::ButtonEnter
26 tkButtonInvoke
::tk::ButtonInvoke
27 tkButtonLeave
::tk::ButtonLeave
28 tkButtonUp
::tk::ButtonUp
29 tkCancelRepeat
::tk::CancelRepeat
30 tkCheckRadioDown
::tk::CheckRadioDown
31 tkCheckRadioEnter
::tk::CheckRadioEnter
32 tkCheckRadioInvoke
::tk::CheckRadioInvoke
33 tkColorDialog
::tk::dialog::color::
34 tkColorDialog_BuildDialog
::tk::dialog::color::BuildDialog
35 tkColorDialog_CancelCmd
::tk::dialog::color::CancelCmd
36 tkColorDialog_Config
::tk::dialog::color::Config
37 tkColorDialog_CreateSelector
::tk::dialog::color::CreateSelector
38 tkColorDialog_DrawColorScale
::tk::dialog::color::DrawColorScale
39 tkColorDialog_EnterColorBar
::tk::dialog::color::EnterColorBar
40 tkColorDialog_InitValues
::tk::dialog::color::InitValues
41 tkColorDialog_HandleRGBEntry
::tk::dialog::color::HandleRGBEntry
42 tkColorDialog_HandleSelEntry
::tk::dialog::color::HandleSelEntry
43 tkColorDialog_LeaveColorBar
::tk::dialog::color::LeaveColorBar
44 tkColorDialog_MoveSelector
::tk::dialog::color::MoveSelector
45 tkColorDialog_OkCmd
::tk::dialog::color::OkCmd
46 tkColorDialog_RedrawColorBars
::tk::dialog::color::RedrawColorBars
47 tkColorDialog_RedrawFinalColor
::tk::dialog::color::RedrawFinalColor
48 tkColorDialog_ReleaseMouse
::tk::dialog::color::ReleaseMouse
49 tkColorDialog_ResizeColorBars
::tk::dialog::color::ResizeColorBars
50 tkColorDialog_RgbToX
::tk::dialog::color::RgbToX
51 tkColorDialog_SetRGBValue
::tk::dialog::color::SetRGBValue
52 tkColorDialog_StartMove
::tk::dialog::color::StartMove
53 tkColorDialog_XToRgb
::tk::dialog::color::XToRGB
54 tkConsoleAbout
::tk::ConsoleAbout
55 tkConsoleBind
::tk::ConsoleBind
56 tkConsoleExit
::tk::ConsoleExit
57 tkConsoleHistory
::tk::ConsoleHistory
58 tkConsoleInit
::tk::ConsoleInit
59 tkConsoleInsert
::tk::ConsoleInsert
60 tkConsoleInvoke
::tk::ConsoleInvoke
61 tkConsoleOutput
::tk::ConsoleOutput
62 tkConsolePrompt
::tk::ConsolePrompt
63 tkConsoleSource
::tk::ConsoleSource
65 tkEntryAutoScan
::tk::EntryAutoScan
66 tkEntryBackspace
::tk::EntryBackspace
67 tkEntryButton1
::tk::EntryButton1
68 tkEntryClosestGap
::tk::EntryClosestGap
69 tkEntryGetSelection
::tk::EntryGetSelection
70 tkEntryInsert
::tk::EntryInsert
71 tkEntryKeySelect
::tk::EntryKeySelect
72 tkEntryMouseSelect
::tk::EntryMouseSelect
73 tkEntryNextWord
::tk::EntryNextWord
74 tkEntryPaste
::tk::EntryPaste
75 tkEntryPreviousWord
::tk::EntryPreviousWord
76 tkEntrySeeInsert
::tk::EntrySeeInsert
77 tkEntrySetCursor
::tk::EntrySetCursor
78 tkEntryTranspose
::tk::EntryTranspose
79 tkEventMotifBindings
::tk::EventMotifBindings
80 tkFDGetFileTypes
::tk::FDGetFileTypes
81 tkFirstMenu
::tk::FirstMenu
82 tkFocusGroup_BindIn
::tk::FocusGroup_BindIn
83 tkFocusGroup_BindOut
::tk::FocusGroup_BindOut
84 tkFocusGroup_Create
::tk::FocusGroup_Create
85 tkFocusGroup_Destroy
::tk::FocusGroup_Destroy
86 tkFocusGroup_In
::tk::FocusGroup_In
87 tkFocusGroup_Out
::tk::FocusGroup_Out
88 tkFocusOK
::tk::FocusOK
89 tkGenerateMenuSelect
::tk::GenerateMenuSelect
90 tkIconList
::tk::IconList
91 tkIconList_Add
::tk::IconList_Add
92 tkIconList_Arrange
::tk::IconList_Arrange
93 tkIconList_AutoScan
::tk::IconList_AutoScan
94 tkIconList_Btn1
::tk::IconList_Btn1
95 tkIconList_Config
::tk::IconList_Config
96 tkIconList_Create
::tk::IconList_Create
97 tkIconList_CtrlBtn1
::tk::IconList_CtrlBtn1
98 tkIconList_Curselection
::tk::IconList_CurSelection
99 tkIconList_DeleteAll
::tk::IconList_DeleteAll
100 tkIconList_Double1
::tk::IconList_Double1
101 tkIconList_DrawSelection
::tk::IconList_DrawSelection
102 tkIconList_FocusIn
::tk::IconList_FocusIn
103 tkIconList_FocusOut
::tk::IconList_FocusOut
104 tkIconList_Get
::tk::IconList_Get
105 tkIconList_Goto
::tk::IconList_Goto
106 tkIconList_Index
::tk::IconList_Index
107 tkIconList_Invoke
::tk::IconList_Invoke
108 tkIconList_KeyPress
::tk::IconList_KeyPress
109 tkIconList_Leave1
::tk::IconList_Leave1
110 tkIconList_LeftRight
::tk::IconList_LeftRight
111 tkIconList_Motion1
::tk::IconList_Motion1
112 tkIconList_Reset
::tk::IconList_Reset
113 tkIconList_ReturnKey
::tk::IconList_ReturnKey
114 tkIconList_See
::tk::IconList_See
115 tkIconList_Select
::tk::IconList_Select
116 tkIconList_Selection
::tk::IconList_Selection
117 tkIconList_ShiftBtn1
::tk::IconList_ShiftBtn1
118 tkIconList_UpDown
::tk::IconList_UpDown
119 tkListbox
::tk::Listbox
120 tkListboxAutoScan
::tk::ListboxAutoScan
121 tkListboxBeginExtend
::tk::ListboxBeginExtend
122 tkListboxBeginSelect
::tk::ListboxBeginSelect
123 tkListboxBeginToggle
::tk::ListboxBeginToggle
124 tkListboxCancel
::tk::ListboxCancel
125 tkListboxDataExtend
::tk::ListboxDataExtend
126 tkListboxExtendUpDown
::tk::ListboxExtendUpDown
127 tkListboxKeyAccel_Goto
::tk::ListboxKeyAccel_Goto
128 tkListboxKeyAccel_Key
::tk::ListboxKeyAccel_Key
129 tkListboxKeyAccel_Reset
::tk::ListboxKeyAccel_Reset
130 tkListboxKeyAccel_Set
::tk::ListboxKeyAccel_Set
131 tkListboxKeyAccel_Unset
::tk::ListboxKeyAccel_Unxet
132 tkListboxMotion
::tk::ListboxMotion
133 tkListboxSelectAll
::tk::ListboxSelectAll
134 tkListboxUpDown
::tk::ListboxUpDown
135 tkListboxBeginToggle
::tk::ListboxBeginToggle
136 tkMbButtonUp
::tk::MbButtonUp
137 tkMbEnter
::tk::MbEnter
138 tkMbLeave
::tk::MbLeave
139 tkMbMotion
::tk::MbMotion
140 tkMbPost
::tk::MbPost
141 tkMenuButtonDown
::tk::MenuButtonDown
142 tkMenuDownArrow
::tk::MenuDownArrow
143 tkMenuDup
::tk::MenuDup
144 tkMenuEscape
::tk::MenuEscape
145 tkMenuFind
::tk::MenuFind
146 tkMenuFindName
::tk::MenuFindName
147 tkMenuFirstEntry
::tk::MenuFirstEntry
148 tkMenuInvoke
::tk::MenuInvoke
149 tkMenuLeave
::tk::MenuLeave
150 tkMenuLeftArrow
::tk::MenuLeftArrow
151 tkMenuMotion
::tk::MenuMotion
152 tkMenuNextEntry
::tk::MenuNextEntry
153 tkMenuNextMenu
::tk::MenuNextMenu
154 tkMenuRightArrow
::tk::MenuRightArrow
155 tkMenuUnpost
::tk::MenuUnpost
156 tkMenuUpArrow
::tk::MenuUpArrow
157 tkMessageBox
::tk::MessageBox
158 tkMotifFDialog
::tk::MotifFDialog
159 tkMotifFDialog_ActivateDList
::tk::MotifFDialog_ActivateDList
160 tkMotifFDialog_ActivateFList
::tk::MotifFDialog_ActivateFList
161 tkMotifFDialog_ActivateFEnt
::tk::MotifFDialog_ActivateFEnt
162 tkMotifFDialog_ActivateSEnt
::tk::MotifFDialog_ActivateSEnt
163 tkMotifFDialog
::tk::MotifFDialog
164 tkMotifFDialog_BrowseDList
::tk::MotifFDialog_BrowseDList
165 tkMotifFDialog_BrowseFList
::tk::MotifFDialog_BrowseFList
166 tkMotifFDialog_BuildUI
::tk::MotifFDialog_BuildUI
167 tkMotifFDialog_CancelCmd
::tk::MotifFDialog_CancelCmd
168 tkMotifFDialog_Config
::tk::MotifFDialog_Config
169 tkMotifFDialog_Create
::tk::MotifFDialog_Create
170 tkMotifFDialog_FileTypes
::tk::MotifFDialog_FileTypes
171 tkMotifFDialog_FilterCmd
::tk::MotifFDialog_FilterCmd
172 tkMotifFDialog_InterpFilter
::tk::MotifFDialog_InterpFilter
173 tkMotifFDialog_LoadFiles
::tk::MotifFDialog_LoadFiles
174 tkMotifFDialog_MakeSList
::tk::MotifFDialog_MakeSList
175 tkMotifFDialog_OkCmd
::tk::MotifFDialog_OkCmd
176 tkMotifFDialog_SetFilter
::tk::MotifFDialog_SetFilter
177 tkMotifFDialog_SetListMode
::tk::MotifFDialog_SetListMode
178 tkMotifFDialog_Update
::tk::MotifFDialog_Update
179 tkPostOverPoint
::tk::PostOverPoint
180 tkRecolorTree
::tk::RecolorTree
181 tkRestoreOldGrab
::tk::RestoreOldGrab
182 tkSaveGrabInfo
::tk::SaveGrabInfo
183 tkScaleActivate
::tk::ScaleActivate
184 tkScaleButtonDown
::tk::ScaleButtonDown
185 tkScaleButton2Down
::tk::ScaleButton2Down
186 tkScaleControlPress
::tk::ScaleControlPress
187 tkScaleDrag
::tk::ScaleDrag
188 tkScaleEndDrag
::tk::ScaleEndDrag
189 tkScaleIncrement
::tk::ScaleIncrement
190 tkScreenChanged
::tk::ScreenChanged
191 tkScrollButtonDown
::tk::ScrollButtonDown
192 tkScrollButton2Down
::tk::ScrollButton2Down
193 tkScrollButtonDrag
::tk::ScrollButtonDrag
194 tkScrollButtonUp
::tk::ScrollButtonUp
195 tkScrollByPages
::tk::ScrollByPages
196 tkScrollByUnits
::tk::ScrollByUnits
197 tkScrollEndDrag
::tk::ScrollEndDrag
198 tkScrollSelect
::tk::ScrollSelect
199 tkScrollStartDrag
::tk::ScrollStartDrag
200 tkScrollTopBottom
::tk::ScrollTopBottom
201 tkScrollToPos
::tk::ScrollToPos
202 tkTabToWindow
::tk::TabToWindow
203 tkTearOffMenu
::tk::TearOffMenu
204 tkTextAutoScan
::tk::TextAutoScan
205 tkTextButton1
::tk::TextButton1
206 tkTextClosestGap
::tk::TextClosestGap
207 tkTextInsert
::tk::TextInsert
208 tkTextKeyExtend
::tk::TextKeyExtend
209 tkTextKeySelect
::tk::TextKeySelect
210 tkTextNextPara
::tk::TextNextPara
211 tkTextNextPos
::tk::TextNextPos
212 tkTextNextWord
::tk::TextNextWord
213 tkTextPaste
::tk::TextPaste
214 tkTextPrevPara
::tk::TextPrevPara
215 tkTextPrevPos
::tk::TextPrevPos
216 tkTextPrevWord
::tk::TextPrevWord
217 tkTextResetAnchor
::tk::TextResetAnchor
218 tkTextScrollPages
::tk::TextScrollPages
219 tkTextSelectTo
::tk::TextSelectTo
220 tkTextSetCursor
::tk::TextSetCursor
221 tkTextTranspose
::tk::TextTranspose
222 tkTextUpDownLine
::tk::TextUpDownLine
223 tkTraverseToMenu
::tk::TraverseToMenu
224 tkTraverseWithinMenu
::tk::TraverseWithinMenu
225 unsupported1
::tk::unsupported::MacWindowStyle
228 # Map from the old global names of Tk private variable to their
229 # new namespace-encapsulated names.
231 variable PrivateVariables
232 array set PrivateVariables
{
233 droped_to_start
::tk::mac::Droped_to_start
234 histNum
::tk::HistNum
235 stub_location
::tk::mac::Stub_location
236 tkFocusIn
::tk::FocusIn
237 tkFocusOut
::tk::FocusOut
238 tkPalette
::tk::Palette
240 tkPrivMsgBox
::tk::PrivMsgBox
244 # ::tk::unsupported::ExposePrivateCommand --
246 # Expose one of Tk's private commands to be visible under its
250 # cmd Global name by which the command was once known,
251 # or a glob-style pattern.
257 # The old command name in the global namespace is aliased to the
260 proc ::tk::unsupported::ExposePrivateCommand {cmd
} {
261 variable PrivateCommands
262 set cmds
[array get PrivateCommands
$cmd]
263 if {[llength $cmds] == 0} {
264 return -code error "No compatibility support for \[$cmd]"
266 foreach {old new
} $cmds {
267 namespace eval :: [list interp alias
{} $old {}] $new
271 # ::tk::unsupported::ExposePrivateVariable --
273 # Expose one of Tk's private variables to be visible under its
277 # var Global name by which the variable was once known,
278 # or a glob-style pattern.
284 # The old variable name in the global namespace is aliased to the
287 proc ::tk::unsupported::ExposePrivateVariable {var
} {
288 variable PrivateVariables
289 set vars
[array get PrivateVariables
$var]
290 if {[llength $vars] == 0} {
291 return -code error "No compatibility support for \$$var"
293 namespace eval ::tk::mac {}
294 foreach {old new
} $vars {
295 namespace eval :: [list upvar "#0" $new $old]